Gradle zip任务没有来源

时间:2018-12-11 08:19:58

标签: gradle

我有一个gradle zip任务,比如说“ X”,这第一次可以正常工作。但是之后,它给出了以下内容:

正在跳过任务':X',因为它没有源文件,也没有以前的输出文件。

我的代码是:

project.task("X", type: Zip) {
        String zipSrc = "/target/files"
        Path path= Paths.get("${project.rootDir}${zipSrc}")
        if(Files.exists(path)){
            archiveName = "${project.rootProject.name}-files.zip"
            destinationDir = project.file("${project.buildDir}/libs")
            from "${zipSrc}"
        }
    }

project.tasks['X'].dependsOn('compileJava')

1 个答案:

答案 0 :(得分:0)

Zip任务会自动检查是否有要压缩的文件,因此无需使用Files.exists(...)进行检查。

from "${zipSrc}"中,zipSrc被视为绝对路径/target/files

我认为您想要实现的目标是

project.task("X", type: Zip) { 
    String zipSrc = "target/files" // zipSrc no longer absolute
    archiveName = "${project.rootProject.name}-files.zip"
    destinationDir = project.file("${project.buildDir}/libs")
    from "${zipSrc}"
}