0
私は多くのモジュール(10+)を持つプロジェクトを持っています。gradalタスクにdependsOnを動的に追加します
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
にそれを含めるしたい各build.gradle
ファイルの中のタスクがあります。
これが問題になるためには、MODULENAMEをdependsOn
に含める必要があります。すべてbuild.gradle
の中にタスクがあるときは、問題のないモジュール名(:app:compileReleaseSources, :firebase:compileReleaseSources
など)がハードコードされているため、何の問題もありませんでした。
どうすれば動的に追加できますかMODULENAME? `プレフィックス:あなたはすべてのモジュールにスクリプトを適用した場合
私が最も簡単で信頼性の高いソリューションを思い付いた
は、私はあなたが'アプリが必要とは思いません。接頭辞なしで実行しようとしましたか? –
すべてのモジュールがある場合は、追加する必要はありません。しかし、別のファイルにタスクを抽出し、それを別のモジュールbuild.gradleに適用した場合は、「タスクがモジュールXXXに存在しないタスク」という例外を追加する必要があります。 –