2017-05-23 5 views
2

자바 모듈 (코어)과 자바 스크립트 모듈 (웹)을 포함하는 Maven 프로젝트에 sonar-scanner를 설정하려고했습니다.Sonarqube 스캐너를 동일한 프로젝트에서 java 및 javascript로 구성하는 방법

java 커버리지 데이터를 로컬 sonarqube 서버 또는 자바 스크립트에서 스캔하고 표시 할 수 있지만 둘 다 표시 할 수는 없습니다. 여기

는 sonar.modules 속성이 가질 수있는 내 sonar-project.properties 파일을 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에는 변경 사항이 없습니다. 웹/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을 사용하십시오. 이 작업을 수행하는 방법을 보려면

, 간단하게 살펴보고 어떻게 SonarQube 자체 (즉 Java 및 JS 모두 포함) 분석 : 그 GitHub repository

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

    위의 답은 나를 올바른 길로 인도했다. 관심이있는 두 개의 모듈 각각에 대해 POM을 추가했습니다. –

    +0

    왜 내 질문에 투표가 실패했는지 궁금합니다. 수정하고 싶습니다. –