以下のスクリプトを実行してターゲットを初めてbuild.gradle.kts
呼び出すと、クリーンなビルド ディレクトリで実行するとエラーが発生します。downloadAndUnzipFile
> Task :downloadZipFile
Download https://github.com/michel-kraemer/gradle-download-task/archive/1.0.zip
[...]
Execution failed for task ':downloadAndUnzipFile'.
> Cannot expand ZIP '/home/jdanek/repos/testing/gradle-infer-deps/build/downloads' as it is not a file.
同じタスクをすぐに再実行すると、今すぐ成功します
> Task :downloadZipFile
Download https://github.com/michel-kraemer/gradle-download-task/archive/1.0.zip
> Task :downloadAndUnzipFile
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
1:16:14 PM: Task execution finished 'downloadAndUnzipFile'.
これは予期されたものですか、それともバグですか? それがバグなら、どこですか?私のスクリプトで?
私build.gradle.kts
の見た目はこんな感じ
import de.undercouch.gradle.tasks.download.Download
group = "org.example"
version = "1.0-SNAPSHOT"
plugins {
id("de.undercouch.download").version("4.0.4")
}
tasks {
val downloadZipFile by registering(Download::class) {
val destDir = buildDir.resolve("downloads")
doFirst {
destDir.mkdirs()
}
src("https://github.com/michel-kraemer/gradle-download-task/archive/1.0.zip")
dest(destDir)
}
val downloadAndUnzipFile by registering(Copy::class) {
dependsOn(downloadZipFile)
from(downloadZipFile.get().outputFiles.map { zipTree(it) })
into(buildDir)
}
}