我们有Gradle任务在我们的项目中创建ZIP文件。它就像吼叫。
task createZipFile(type: Zip) {
destinationDir new File("$projectDir")
archiveName 'ABC.zip'
from('bin/libs') {
include '**/*.jar'
}
...
}
build.dependsOn(createZipFile)
我们需要动态创建具有不同名称的多个zip文件。我们已经尝试过了。
['A', 'B', 'C', 'D'].each { def targetName ->
tasks.add(name: "zipIt$targetName", type: Zip) {
destinationDir = file("${targetName}.zip")
from('bin/libs') {
include '**/*.jar'
}
}
}
task zipAll(dependsOn: tasks.matching { Task task -> task.name.startsWith("zipIt")})
build.dependsOn(zipAll)
当我们尝试这个时,我们会收到以下错误。
找不到参数的方法add()[{name = zipItA,type = class org.gradle.api.tasks.bundling.Zip}, build_1bct5119tk0khpl3p142j9qck5 $ _run_closure6_closure18 @ 47b8c9d
我们如何使用Gradle修复此问题?
答案 0 :(得分:2)
该签名没有add
方法,但您可以使用tasks.create("zipIt$targetName", type: Zip) { ... }
。有关API详细信息,请查看Gradle Build Language Reference,其中包含进一步链接到Javadoc / Groovydoc的内容。