2017-05-23 9 views
2

Javaモジュール(core)とjavascriptモジュール(web)を含むMavenプロジェクト用のsonar-scannerを設定しようとしています。Sonarqubeスキャナを同じプロジェクトのjavaとjavascript用に設定する方法

javaカバレッジデータをスキャンして、自分のローカルsonarqubeサーバーまたはjavascriptで取得できますが、両方を取得することはできません。

### 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 

私の解決策への鍵は、以下の受け入れ答えに基づいて:ここで

はsonar.modulesプロパティは4つの値のいずれかを持つことができ、私のsonar-project.propertiesファイル、次のとおりです。

  • トップレベルPOMに変更はありません。ウェブ/のpom.xmlに

  • 追加する:

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

は基本的にソナーは私のlcovファイルを検索する場所を知りませんでした。

答えて

1

SonarQubeスキャナーと専用のsonar-project.propertiesファイルを使用して解析を実行するのではなく、Scanner for Mavenに依存してください。そのGitHub repository

    • 行くとserver/sonar-web/pom.xmlを見てみましょう:

      単にSonarQube自体は(つまり、JavaとJSの両方を含んでいる)を解析する方法を見てみ、これを行う方法を参照するにはあなたが気づくWebモジュールのファイル:

    <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>

  • +0

    上記の答えは正しい軌道に乗ってくれました。私が関心を持っていた2つのモジュールのそれぞれのためにPOMに追加しました。 –

    +0

    私の質問がダウン投票になった理由が不思議です。それを修正したい。 –

    関連する問題