ビルドの実行フェーズでJarタスクを実行する必要があります。 IはGradle JarタスクdoLastのdestinationDirを無視する
task ("createJar", type: Jar, dependsOn: "some_task") {
doLast{
println ("default destinationDir " + destinationDir)
destinationDir file("some_location")
println ("destinationDir after change" + destinationDir)
from "some_dir"
}
}
ロガーdestinationDirの値が変更されたことを示してみました。しかし、私がスクリプトを実行すると、 "some_location"の代わりにデフォルトの場所にJarが作成されます。
「doLast」を削除した場合、タスクは設定フェーズで機能し、ニーズに合わないdependsOn値は無視されます。