首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle Java build --Globalinit.d公共gradle文件--找不到方法test()

Gradle Java build --Globalinit.d公共gradle文件--找不到方法test()
EN

Stack Overflow用户
提问于 2013-08-16 14:37:47
回答 1查看 3.8K关注 0票数 3

摘要:

  • 平台Linux / Java,gradle 1.6和Java/jdk 1.6.0.xx
  • 项目名称: GigaProject

我有一些像GigaProject这样的项目。它们都有一个build.gradle文件,其中现在包含了专门用于PMD、CheckStyle、FindBugs和Jacoco代码覆盖的用于单元测试的以下行。一切都很好。当我运行"gradle clean“时,将成功编译项目,并向我展示代码覆盖率报告(jacoco)和findbug/校验样式/pmd报告。

PNote:我提到过,这里没有列出用于构建/编译的其他代码。下面的代码只是为了使pmd/findbug/校验样式和Jacoco特性能够工作而添加的。

代码语言:javascript
复制
allprojects {
   apply plugin: 'pmd'
   apply plugin: 'findbugs'
   apply plugin: 'checkstyle'
   apply plugin: 'code-quality'
   apply plugin: 'jacoco'

   tasks.withType(Compile) {
     options.debug = true
     options.compilerArgs = ["-g"]
   }

   checkstyle {
        configFile = new File(rootDir, "config/checkstyle.xml")
        ignoreFailures = true
   }

   findbugs {
        ignoreFailures = true
   }

   pmd {
        ruleSets = ["basic", "braces", "design"]
        ignoreFailures = true
   }

   jacoco {
      toolVersion = "0.6.2.201302030002"
      reportsDir = file("$buildDir/customJacocoReportDir")
   }


   test {
    jacoco {
            append = false
        destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
            classDumpFile = file("$buildDir/jacoco/classpathdumps")
        }
   }

   sourceSets {
      main {
         java {
            srcDir 'src/java'
         }
      }
      test {
         java {
            srcDir 'test/java'
         }
      }
      integrationTest {
         java {
            srcDir 'src/java-test'
         }
      }
   }


   jacocoTestReport {
     group = "Reporting"
     description = "Generate Jacoco coverage reports after running tests."
     reports {
            xml{
                    enabled true
                destination "${buildDir}/reports/jacoco/jacoco.xml"
                }
                csv.enabled false
                html{
                    enabled true
                    destination "${buildDir}/jacocoHtml"
                }
        }
        additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)    
   }
}

我想要的是:不是在每个项目中都有上面的代码,而是从每个项目的build.gradle文件中取出它,并将其放在/init.d/ commmons文件下。

也就是说,如果您在/opt/ gradle -1.6上安装了gradle 1.6,那么我想将上面的代码添加到/opt/gradle-1.6/init.d/extra1.common-somename.gradle文件中。任何在INIT.D文件夹中存在的文件都是由Gradle首先读取的,所以现在我们不必将上面的代码放在每个项目的单个build.gradle文件中。

当我在本地Windows机器上尝试这种方法时( gradle存储在C:\gradle-1.6处),我将代码添加到一个文件中:exex1.Common-thids.gradle,并从项目的build.gradle中删除了相同的代码。只有当我不包括测试{}和jacocoTestReport {}节时,它才能成功地工作,就像当代码位于项目的jacocoTestReport文件中时一样。但是使用这2,我得到了下面的错误。

代码语言:javascript
复制
$ gradle clean build
The code-quality plugin HAS BEEN DEPRECATED AND IS SCHEDULED TO BE REMOVED IN GRADLE 2.0. Please use the checkstyle or codenarc plugin instead.

FAILURE: Build failed with an exception.

* Where:
Initialization script 'C:\gradle-1.6\init.d\extra1.common-thids.gradle' line: 34

* What went wrong:
Failed to notify action.
> org.gradle.api.internal.MissingMethodException: Could not find method test() for arguments [extra1_common_thids_5e0u69jd6ubohvgcf1qr8mhamk$_run_closure1_closure7@56461f58] on build 'GigaProject'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.695 secs

我们选择这样做的原因:这样,当开发人员想要运行"gradle build clean“时,他将无法在本地构建中看到pmd/校验样式/findbug/jacoco函数(我们将告诉他不要将上述代码放在Gradle的init.d公共文件中),但是当我们从Jenkins (SCM/CM team)运行相同的构建时,Jenkins服务器的Gra-x.x/init.d/xxx.public-xxx.gradle构建文件将包含上述代码,Jenkins届时将显示所有特性。

这将帮助开发人员在本地机器上快速构建,Jenkins将向他们展示他们想从pmd/findbug/checkstyle/jacoco方面得到什么。

需要在公共文件中包括哪些内容,以便在全局公共文件中包括test {}和jacocoTestReport {}节并修复此问题?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-16 15:42:13

包括下面的台词现在:)似乎我可以从项目的特定build.gradle文件中删除以下内容。

代码语言:javascript
复制
apply plugin: 'java' 

但是,现在JaCoCo代码覆盖率报告报告index.xml -在浏览红色/绿色内容的代码覆盖链接时,没有显示LINKS到文件内容。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18275878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档