0
我有一个项目有很多模块(10+)。里面每个build.gradle
文件中,有一个任务:动态添加dependsOn到gradle任务
task findbugs(type: FindBugs, dependsOn: ':MODULENAME:compileReleaseSources') {
ignoreFailures = true
classes = fileTree('build/intermediates/classes/release/')
source = fileTree('src/main/java/')
classpath = files()
... and so on
}
,所以我想提取这个任务,创建一个自定义script.gradle
文件完成这个任务,并使用apply from: script.gradle
它包括每一个build.gradle
。
问题在于,为了达到这个目的,我需要将MODULENAME包含到dependsOn
中。当我在每个build.gradle
中都有任务时,根本没有问题,因为我刚刚对相应的模块名称进行了硬编码(:app:compileReleaseSources, :firebase:compileReleaseSources
等)。
有什么办法可以动态添加MODULENAME?
如果将该脚本应用到每一个模块,我不认为你需要的'应用:'前缀。你有没有尝试运行它的前缀? –
如果您拥有每个模块,则无需添加它,这是事实。但是,如果将任务提取到另一个文件并将其应用于其他模块build.gradle,则必须添加,否则您会得到“模块XXX中不存在任务”的异常。 –