【问题标题】:What is the correct syntax for adding source and test sets to sonarqube gradle config?将源和测试集添加到 sonarqube gradle 配置的正确语法是什么?
【发布时间】:2017-06-15 05:29:32
【问题描述】:

我有一个 jhipster 项目,在项目中定义了一个 sonarqube 任务。我们在 /src/main/ui/src/... 目录下构建了一个 react UI,并在 /src/main/ui/src/test/... 下进行了测试。我们的声纳特性如下:

sonarqube {
    properties {
        property "sonar.host.url", "https://our_sonar_server"
        property "sonar.projectKey", "MyProjectGroup:MyProject"
        property "sonar.projectName", "MyProject"
        property "sonar.login", sonarLogin
        property "sonar.password", sonarPassword

        property "sonar.links.scm", "https://mygithub/myProject.git"
        property "sonar.links.scm_dev", "https://mygithub/MyProject.git"
        property "sonar.links.ci", ciLink

        if (pullRequest != null) {
            property "sonar.analysis.mode", "preview"
            property "sonar.github.pullRequest", pullRequest
            property "sonar.github.repository", "MyProjectGroup/MyProject"
            property "sonar.github.oauth", "my_oauth_hash"
            property "sonar.github.endpoint", "https://mygithubapi/v3"
        }
    }
}

我目前,sonar 只拾取标准 /src/main/java 下的 java。我试过添加 属性“sonar.sources”、“src/main/ui/src/*.js” 属性“sonar.test”、“src/main/ui/src/test/**” 以及一些变化。但是,通过调用“./gradlew sonar -Pprod -x test”的 shell 步骤调用它的 jenkin 构建失败,并出现“无效值”或类似错误。我找不到正确语法的示例。

编辑:我能够让声纳构建通过 PR 使用 属性“sonar.sources”、“src/main/ui/src” 属性“sonar.test”,“src/main/ui/src/test”

但是,在声纳服务器上检查项目时,我仍然没有看到任何被引用的 javascript 文件。

【问题讨论】:

    标签: javascript jenkins gradle sonarqube sonarqube-scan


    【解决方案1】:

    合并我上次的编辑后,js 文件显示在 sonarqube 中。 js 测试也出现了,尽管它们没有显示任何覆盖率。只是单元测试的数量和通过的数量。为此可能需要更多配置,但这并不是原始问题的一部分。

    在与我的经理交谈后,我们决定将源集缩小到两个子目录,“src/main/ui/src/app”和“src/main/ui/src/layouts”,这样测试就不会出现在源集下。文档建议您可以添加一个逗号分隔的列表,因此我创建了一个外部属性并在实际属性中引用了这些属性:

    ext.jsAppSrc = "src/main/ui/src/app, src/main/ui/src/layout"
    ext.jsLayoutSrc = "src/main/ui/src/layout"
    ext.jsTest = "src/main/ui/test"
    ...
    property "sonar.sources", jsAppSrc, jsLayoutSrc
    property "sonar.test", jsTest
    

    道具评估正确,但声纳任务失败并出现错误 在 org.sonarqube.gradle.SonarQubeProperties 上找不到参数 [sonar.sources、src/main/ui/src/app、src/main/ui/src/layout 的方法 property()。

    然后我重构以将逗号分隔的列表放在一个属性中,然后成功完成。

    ext.jsAppSrc = "src/main/ui/src/app, src/main/ui/src/layout"
    ext.jsTest = "src/main/ui/test"
    ...
    property "sonar.sources", jsAppSrc
    property "sonar.test", jsTest
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 2018-11-02
      • 2014-03-25
      • 2016-06-21
      • 2017-07-15
      相关资源
      最近更新 更多