如何为多项目Gradle构建创建单个CodeNarc报告

如何为多项目Gradle构建创建单个CodeNarc报告,gradle,codenarc,Gradle,Codenarc,我有一个Gradle多项目构建,其中每个子项目创建自己的CodeNarc报告 是否有可能为我构建的所有项目创建一个单一的CodeNarc分析报告,而不是为每个项目创建一个单独的报告 您可以创建自己的CodeNarc任务,并使用其所有子项目的源集对其进行配置,如下所示 task supernarc(type: CodeNarc) { def allGroovySourceDirs = subprojects.collect { Project p -> p.sourceSets.main

我有一个Gradle多项目构建,其中每个子项目创建自己的CodeNarc报告


是否有可能为我构建的所有项目创建一个单一的CodeNarc分析报告,而不是为每个项目创建一个单独的报告

您可以创建自己的CodeNarc任务,并使用其所有子项目的源集对其进行配置,如下所示

task supernarc(type: CodeNarc) {
  def allGroovySourceDirs = subprojects.collect { Project p -> p.sourceSets.main.allGroovy.getSrcDirs() }.flatten()

  allGroovySourceDirs.each {
    source(it)
  }

  // BTW, if you know you have some violations and don't want the builds to fail because of too many violations, you can increase the threshold as follows
  maxPriority1Violations = 5
  maxPriority2Violations = 5
  maxPriority3Violations = 5
}

我为您创建了这个,以便您可以看到使用它的项目

这有用吗

干杯
Kon

看起来很酷,但不幸的是,我收到了此错误消息
在源代码集“main”上找不到属性“allGroovy”
。Gradle版本有问题吗?我用的是Gradle2.1,我也用的是2.1。您是否将codenarc插件应用于根项目和子项目?