次のようなマルチプロジェクトのGradleセットアップがあります。
RootProject
|
---- ProjectA
|
---- ProjectB
|
---- ProjectC
すべてのプロジェクトに SpotBugs を適用したいと考えています。
すべてのプロジェクトで次のことを行うと、明示的に機能します。
たとえば、build.gradle
ofの次のようになりProjectA
ます。
plugins {
id 'com.github.spotbugs' version '1.6.9'
}
spotbugs {
ignoreFailures = true
effort = 'min'
showProgress = true
reportLevel = 'medium'
// Only run spotbugs directly as too slow to run as CI.
// Will still run spotbugs when called like "gradlew spotbugsMain"
sourceSets = []
}
tasks.withType(com.github.spotbugs.SpotBugsTask) {
reports {
xml.enabled = false
html.enabled = true
}
}
build.gradle
ただし、すべてのプロジェクトのファイルでこのコードを複製したくありません。
RootProject
これをのビルド ファイルに取り込むにはどうすればよいですか。
例、次のブロック内:
configure(subprojects.findAll {it.name != 'SomeProjectToIgnore'}) {
// how to configure spotbugs here ?
}
ブロックをそのまま移動しても機能しません。