Как это возможно, что `выходные файлы` задачи Gradle отличаются при первом запуске и когда она уже была запущена один раз? - PullRequest
1 голос
/ 15 марта 2020

Когда я запускаю приведенный ниже скрипт 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)
    }
}
...