Gradleで依存しているjarファイルも含めて1つのjarファイルにしてリリースする

Gradle

mavenリポジトリに配置されているjarファイルを含める方法は分からなかったが、以下のようなローカルプロジェクト内の特定フォルダにすべてのjarファイルが配置されている場合に対応できる。

ローカルプロジェクトの状態

ここでは、プロジェクトホーム直下の lib フォルダにjarファイルがいくつか配置されているものとする。

myproject
├build
├─lib		<=ここにjarファイルがいくつか存在している。
└─src
├─main
│  ├─groovy
│  └─java
└─test

build.gradleの設定追記

以下のようなタスクを追加。

task jarWithZipFileSet(type : Jar){
zipFileSet(dir: "$rootDir/lib")
new File("$rootDir/build/classes").listFiles().findAll{ it.directory }.each{
zipFileSet(dir: it.path)
}
}

ほいでjarファイルを作成。その際に以下のコマンドを使用する。

gradle clean jarWithZipFileSet

cleanは特に不要だが、一応念のためにプロジェクトを綺麗にしてからjarファイルを作成する。

Gradle