我有一个多模块项目的 gradle 构建脚本。
为了更好的可读性,我想提取一些方法,但是当我这样做时,脚本失败并出现异常:
Cannot add task ':signArchives' as a task with that name already exists.
完全可重现的示例:有一个空目录,其中包含两个文件:
设置.gradle
include 'eins', 'zwei'
构建.gradle
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
allprojects {
apply plugin: 'signing'
}
subprojects {
signing {
sign configurations.archives
}
}
private Object signIt() {
signing {
sign configurations.archives
}
}
在该目录中执行以下命令:
gradle wrapper
gradlew tasks
结果,您将获得可用任务的列表。
将 build.gradle 文件更改为以下内容
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
allprojects {
apply plugin: 'signing'
}
subprojects {
signIt()
}
private Object signIt() {
signing {
sign configurations.archives
}
}
再次执行:
gradlew tasks
现在你(或至少我)得到:
> Cannot add task ':signArchives' as a task with that name already exists.