我有一个 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')
最佳答案
Zip 任务会自动检查是否有要 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}"
}
关于Gradle zip 任务给出 NO-SOURCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53719980/