Gradle zip 任务给出 NO-SOURCE

标签 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')

最佳答案

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/

相关文章:

android - 如何为Gradle解决DexArchiveBuilderException?

java - Gradle fatJar/uberJar 导致无法找到或加载主类

hadoop - Gradle构建Docker镜像在重复库上失败

gradle - 如何在Gradle中获取原始Run任务的确切副本?

android - 找不到Android Studio Gradle DSL方法: 'mavencentral()'

eclipse - 我在哪里可以找到 gradle 依赖项?

gradle - 确保Gradle Task始终运行,无论依赖项产生的结果如何

gradle - 是否有用于定义 Gradle-Artifactory 插件配置的 jenkins job-dsl block /代码?

android - Gradle 2.5 com.android.dx.cf.iface.ParseException : bad class file magic (cafebabe) or version (0034. 0000)

gradle - Gradle找不到我要建立的子目录