私は、タスクが実行されると、その名前のタスクを持つサブプロジェクトのサブプロジェクト内でのみ同じ名前のタスクを実行するように、ルートプロジェクトにタスクを作成したいと考えています。再帰的なGradleタスクを作成するには?
タスクの名前をハードコードしたくないのは、後でサブプロジェクトを追加することができるからです。
task checkArtifacts
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
設定ステージが強制的に終了し、設定ステージの変更を行うプラグインが壊れているように見えるため、動作しません。
task checkArtifacts
afterEvaluate {
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
}
コレクションに将来の更新に適用されているDomainObjectCollectionでいくつかの方法がありますCould not determine the dependencies of task ':checkArtifacts'.
はい、それは本当です。私は別のrootProjectタスクがこれに依存してほしいということを忘れてしまった。 –