Gradle:创建包含类和依赖项的 zip 文件

Lea*_*der 1 gradle

我必须创建一个 zip 文件,其中包含一个文件夹中的类(以及清单等!)classes和一个libs文件夹中的依赖 jar文件。我目前的尝试是:

task createZip(type: Jar) {
   into('classes')
   extension('zip')
   with jar
}
Run Code Online (Sandbox Code Playgroud)

但它没有添加依赖项(正如任何人都猜到的那样)

Lea*_*der 5

好的,我解决了

task plugin(type: Zip) {
    from (configurations.compile) {
        into ('libs/')
    }
    from (sourceSets.main.output.classesDir) {
        into ('classes/')
    }
    from (sourceSets.main.resources) {
        into ('classes/')
    }
    from (new File(project.buildDir, 'tmp/jar/')) {
        into ('classes/META-INF/')
    }
}

plugin.dependsOn jar
Run Code Online (Sandbox Code Playgroud)

这会将依赖项复制到库中,并将所有已编译的类、资源和清单复制到库中。plugin.dependsOn jar很重要,因为清单是由 jar 任务生成的。