簡體   English   中英

如何在同一個項目中為java和javascript配置Sonarqube掃描程序

[英]How to configure Sonarqube scanner for java and javascript in the same project

我一直在嘗試為包含java模塊(核心)和javascript模塊(web)的Maven項目設置聲納掃描器。

我能夠掃描並在我的本地sonarqube服務器或javascript上顯示java覆蓋數據,但不能同時獲得。

這是我的sonar-project.properties文件,其中sonar.modules屬性可以有4個值之一:

### below: select just one of the 4 possible values for sonar.modules
sonar.modules = core --> get java coverage data
sonar.modules = web --> get javascript coverage data
sonar.modules = core,web --> get only java coverage data
sonar.modules = web,core --> get only java coverage data

sonar.sources=src

# javascript coverage report
web.sonar.exclusions=src/main/webapp/js/lib/**/*.js
web.sonar.javascript.lcov.reportPath = test-output/coverage/lcov.info

# java coverage report
core.sonar.java.binaries = target/classes
core.sonar.java.libraries = ../web/target/scheduler-web-3.5.0-SNAPSHOT/WEB-INF/lib
core.sonar.java.test.libraries = ../web/target/scheduler-web-3.5.0-SNAPSHOT/WEB-INF/lib
core.sonar.jacoco.reportPath = target/jacoco.exec
core.sonar.junit.reportsPath = target/surefire-reports
core.sonar.jacoco.reportMissing.force.zero = true

基於以下接受的答案,我的解決方案的關鍵:

  • 沒有更改頂級POM。

  • 添加到web / pom.xml:

 <properties> <sonar.javascript.lcov.reportPath>test-output/coverage/lcov.info</sonar.javascript.lcov.reportPath> </properties> 

基本上聲納不知道在哪里可以找到我的lcov文件。

您不應該將SonarQube掃描儀與專​​用的sonar-project.properties文件一起使用來運行您的分析 - 而是依賴於Scanner for Maven

要了解如何執行此操作,只需看看如何分析SonarQube本身(包含Java和JS):

  <properties> <!-- self-analysis --> <sonar.sources>src/main/js,src/main/less</sonar.sources> <sonar.tests>src/main/js</sonar.tests> <sonar.test.inclusions>src/main/js/**/__tests__/**</sonar.test.inclusions> <sonar.exclusions>src/main/js/libs/third-party/**/*,src/main/js/libs/require.js,src/main/js/**/__tests__/**</sonar.exclusions> <yarn.script>build</yarn.script> </properties> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM