5

次のようなマルチプロジェクトのGradleセットアップがあります。

RootProject
    |
    ---- ProjectA
    |
    ---- ProjectB
    |
    ---- ProjectC

すべてのプロジェクトに SpotBugs を適用したいと考えています。

すべてのプロジェクトで次のことを行うと、明示的に機能します。

たとえば、build.gradleofの次のようになり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 ?
}

ブロックをそのまま移動しても機能しません。

4

1 に答える 1