问题 使用gradle在sonarqube中使用java和javascript进行项目


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

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

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

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

这不能按预期工作:正确分析java代码,我们可以在声纳上浏览结果,但不分析javascript代码。

我们做错了什么?谢谢。


12389
2017-08-29 15:50


起源



答案:


我已经设法通过在内部添加此属性来解决我们的问题 sonarqube 块:

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

7
2017-09-07 14:59



如果需要指定多个源文件夹,如何指定它? - Naggi nagase yoshi


答案:


我已经设法通过在内部添加此属性来解决我们的问题 sonarqube 块:

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

7
2017-09-07 14:59



如果需要指定多个源文件夹,如何指定它? - Naggi nagase yoshi


你确定sonar.sources在分析中包含了js文件吗?你能添加模块的gradle配置吗?上面的文件看起来像应用程序级gradle文件。您的应用程序应至少有一个模块,它还具有gradle文件。
Android Studio项目结构

您需要将源添加到模块的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"
        }
     }
 } 

2
2017-08-31 18:33



我不确定声纳是否正在拾取js文件;它似乎不是,但我没有改变任何默认设置,我希望它开箱即用,说实话。我没有任何子模块,这就是为什么上面的文件看起来像应用程序级gradle文件 - 它 是 顶级文件。 - Andrea Bergia
我在android studio中添加了一个典型项目的屏幕截图,显示了模块级gradle文件。 - Beren Erchamion