首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有自定义源集的Gradle / SonarQube文档问题

带有自定义源集的Gradle / SonarQube文档问题
EN

Stack Overflow用户
提问于 2016-05-04 21:13:30
回答 1查看 632关注 0票数 1

我试图解决的具体问题是,集成测试没有出现在服务器上。

此外,这里给出的示例代码似乎是错误的:SonarQube:分析自定义源集

具体来说,这个代码示例:

代码语言:javascript
复制
sonarqube {
    properties {
        properties["sonar.sources"] += sourceSets.custom.allSource.srcDirs
        properties["sonar.tests"] += sourceSets.integTest.allSource.srcDirs
    }
}

与此一起运行将导致:

代码语言:javascript
复制
Invalid value of sonar.tests for... 

这到底应该是什么?基于我正在阅读的另一个论坛,这应该是一个逗号分隔目录的列表。所以我试着:

代码语言:javascript
复制
sonarqube {
  properties {
    properties["sonar.tests"] += sourceSets.integrationTest
                                                 .allSource.srcDirs.join(",")
  }
}

...same误差请注意,ingegrationTest对我们的构建是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-11 19:41:00

以下代码起作用:

代码语言:javascript
复制
sonarqube {

    properties {
        properties["sonar.tests"] += sourceSets.integrationTest.allSource.srcDirs.findAll({it.exists()})

        if (file("$project.buildDir/jacoco/test.exec").exists())
            property "sonar.jacoco.reportPath", "$project.buildDir/jacoco/test.exec"
        if (file("$project.buildDir/jacoco/integrationTest.exec").exists())
            property "sonar.jacoco.itReportPath", "$project.buildDir/jacoco/integrationTest.exec"
    }
}

为了避免使用subProjects,我将其导入到每个需要它的项目中。根据Gradle文档,使用subProjects和/或allProjects会导致耦合,从而对并行性产生负面影响。如果进口更好的话,我希望如此。

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

https://stackoverflow.com/questions/37038136

复制
相关文章

相似问题

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