Sonar 多模块 Gradle Android 忽略 projectBaseDir
Sonar multi module Gradle Android ignore projectBaseDir
我在配置 Sonar 时遇到问题,我正在尝试为以下项目配置多模块:
Project:
app
lib
android_core_ui
nspcoreui
nspi
所以我有 3 个模块要分析:app、nspcoreui 和 nspi。
我正在尝试以下命令
#!/usr/bin/env bash
./gradlew sonarqube -Dsonar.sourceEncoding="UTF-8" \
-Dsonar.projectVersion="3.10.0-APR-TEST.24-SNAPSHOT" \
-Dsonar.jacoco.reportPaths="app/build/jacoco/testStgDebugUnitTest.exec" \
-Dsonar.host.url="http://localhost:9000" \
-Dsonar.login="API_KEY" \
-Dsonar.projectKey="android_shop" \
-Dsonar.projectName="Android Shop" \
-Dsonar.projectBaseDir="." \
-Dsonar.modules.enabled="true" \
-Dsonar.modules="app,nspi,nspcoreui" \
-Dapp.sonar.projectKey="android_shop_app" \
-Dapp.sonar.projectName="Android Shop App" \
-Dapp.sonar.projectBaseDir="app" \
-Dapp.sonar.sources="src/main" \
-Dapp.sonar.tests="src/main/java,app/src/main/res" \
-Dnspcoreui.sonar.projectBaseDir="lib/android_core_ui/nspcoreui" \
-Dnspcoreui.sonar.projectName="Android Core UI" \
-Dnspcoreui.sonar.projectKey="android_nspcoreui" \
-Dnspcoreui.sonar.tests="src/test/java" \
-Dnspcoreui.sonar.sources="src/main/java,src/main/res" \
-Dnspi.sonar.projectBaseDir="lib/nspi" \
-Dnspi.sonar.projectName="Android NSPI" \
-Dnspi.sonar.projectKey="android_nspi" \
-Dnspi.sonar.tests="src/test/java" \
-Dnspi.sonar.sources="src/main/java,src/main/res";
我的问题是所有 -Dnspcoreui.sonar.projectBaseDir
和 Dnspi.sonar.projectBaseDir
都被完全忽略了,分析失败 Project/nspcoreui doesn't exist
正确的路径是 Project/lib/android_shop_ui/nspcoreui
和 Project/lib/nspi
。
我用的是sonar classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1'
apply plugin: 'org.sonarqube'
在三个模块下
知道声纳为什么忽略我的参数吗?
如文档中所述,您必须在根项目而不是您拥有的每个子项目上应用 sonarqube 插件。
在根 build.gradle 文件中:
apply plugin: "org.sonarqube"
并且不要申请子项目。
然后配置会更简单,因为模块会自动发现
我在配置 Sonar 时遇到问题,我正在尝试为以下项目配置多模块:
Project:
app
lib
android_core_ui
nspcoreui
nspi
所以我有 3 个模块要分析:app、nspcoreui 和 nspi。 我正在尝试以下命令
#!/usr/bin/env bash
./gradlew sonarqube -Dsonar.sourceEncoding="UTF-8" \
-Dsonar.projectVersion="3.10.0-APR-TEST.24-SNAPSHOT" \
-Dsonar.jacoco.reportPaths="app/build/jacoco/testStgDebugUnitTest.exec" \
-Dsonar.host.url="http://localhost:9000" \
-Dsonar.login="API_KEY" \
-Dsonar.projectKey="android_shop" \
-Dsonar.projectName="Android Shop" \
-Dsonar.projectBaseDir="." \
-Dsonar.modules.enabled="true" \
-Dsonar.modules="app,nspi,nspcoreui" \
-Dapp.sonar.projectKey="android_shop_app" \
-Dapp.sonar.projectName="Android Shop App" \
-Dapp.sonar.projectBaseDir="app" \
-Dapp.sonar.sources="src/main" \
-Dapp.sonar.tests="src/main/java,app/src/main/res" \
-Dnspcoreui.sonar.projectBaseDir="lib/android_core_ui/nspcoreui" \
-Dnspcoreui.sonar.projectName="Android Core UI" \
-Dnspcoreui.sonar.projectKey="android_nspcoreui" \
-Dnspcoreui.sonar.tests="src/test/java" \
-Dnspcoreui.sonar.sources="src/main/java,src/main/res" \
-Dnspi.sonar.projectBaseDir="lib/nspi" \
-Dnspi.sonar.projectName="Android NSPI" \
-Dnspi.sonar.projectKey="android_nspi" \
-Dnspi.sonar.tests="src/test/java" \
-Dnspi.sonar.sources="src/main/java,src/main/res";
我的问题是所有 -Dnspcoreui.sonar.projectBaseDir
和 Dnspi.sonar.projectBaseDir
都被完全忽略了,分析失败 Project/nspcoreui doesn't exist
正确的路径是 Project/lib/android_shop_ui/nspcoreui
和 Project/lib/nspi
。
我用的是sonar classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.1'
apply plugin: 'org.sonarqube'
在三个模块下
知道声纳为什么忽略我的参数吗?
如文档中所述,您必须在根项目而不是您拥有的每个子项目上应用 sonarqube 插件。 在根 build.gradle 文件中:
apply plugin: "org.sonarqube"
并且不要申请子项目。
然后配置会更简单,因为模块会自动发现