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中不存在任務」的異常。 –