【问题标题】:Project with both java and javascript in sonarqube using gradle使用 gradle 在 sonarqube 中使用 java 和 javascript 进行项目
【发布时间】:2017-01-05 17:21:42
【问题描述】:

我们有一个使用 Java 的非常标准的 Web 项目,其中还包含标准 src/main/webapp 文件夹中的一些 javascript 代码。我们使用 Gradle 2.14 作为我们的构建工具。

我们刚刚在新服务器上安装了全新的 Sonarqube 6.0.1,检查了 Java 和 Javascript 插件是否已安装,并按照Sonarqube documentation 的建议修改了 build.gradle 文件:

plugins {
    id 'org.sonarqube' version '2.0.1'
}

sonarqube {
    properties {
        property 'sonar.projectName', 'Our-Project'
        property 'sonar.projectKey', 'com.ourcompany:our-project'
    }
}

这并没有按预期工作:java 代码被正确分析,我们可以在 sonar 上浏览结果,但 javascript 代码没有被分析。

我们做错了什么?谢谢。

【问题讨论】:

    标签: gradle sonarqube sonarqube-scan


    【解决方案1】:

    您确定 sonar.sources 在分析中包含 js 文件吗?你可以添加模块的 gradle 配置吗?上面的文件看起来像应用程序级别的 gradle 文件。您的应用应该至少有一个模块,该模块也有一个 gradle 文件。
    Android Studio Project Structure

    您需要将源代码添加到模块的 gradle 文件中。这是一个例子:

    project(":app") {
        sonarqube {
            properties {
                property "sonar.analysis.mode", "publish"
                property "sonar.sources", "src/main/java"
                property "sonar.java.binaries", 
                    "build/intermediates/classes/debug"
                property "sonar.junit.reportsPath", 
                    "build/test-results/developDebug"
                property "sonar.android.lint.report", 
                    "build/outputs/lint-results-developDebug.xml"
                property "sonar.test", "src/test/java"
            }
         }
     } 
    

    【讨论】:

    • 我不确定声纳是否在拾取 js 文件;似乎不是,但我没有更改任何默认设置,老实说,我希望它可以开箱即用。我没有任何子模块,这就是为什么上面的文件看起来像应用程序级别的 gradle 文件 - 它是顶级文件。
    • 我在 android studio 中添加了一个典型项目的屏幕截图,显示了模块级别的 gradle 文件。
    【解决方案2】:

    我已通过在 sonarqube 块中添加此属性来解决我们的问题:

    property 'sonar.sources', 'src/main'
    

    【讨论】:

    • 如果需要指定多个源文件夹,如何指定?
    猜你喜欢
    • 2016-09-30
    • 1970-01-01
    • 2017-09-25
    • 2015-11-29
    • 2018-08-05
    • 2015-11-20
    • 2023-04-08
    • 2021-11-27
    • 2019-08-27
    相关资源
    最近更新 更多