Programing

SonarQube 디렉터리 제외

lottogame 2020. 8. 20. 19:24
반응형

SonarQube 디렉터리 제외


Sonar에서 디렉토리를 분석하지 않도록 제외하려고합니다. sonar-project.properties파일 에 다음 속성이 정의되어 있습니다.

sonar.sources=src/java
sonar.exclusions=src/java/test/****/*.java

내가 가진 디렉토리 구조는 다음과 같습니다.

src/java/dig
src/java/test/dig

소나 러너를 실행하면 다음 정보를 얻습니다.

 INFO  - Excluded sources:
 INFO  -   src/java/test/**/*.java
 INFO  - Excluded tests:
 INFO  -   **/package-info.java

그러나 분석 결과를 확인하면 테스트 디렉토리 내의 모든 패키지가 여전히 있습니다.

Sonar에게 테스트 디렉토리와 그 안에있는 패키지를 분석하지 않도록 지시하면됩니다.


다음과 같이 시도하십시오.

sonar.exclusions=src/java/test/**

아래 구성 (쉼표로 구분 된 폴더 경로)을 사용하여 여러 디렉토리를 제외 할 수 있습니다.

sonar.exclusions=system/**, test/**, application/third_party/**, application/logs/**

그리고 소나 러너를 실행하는 동안 로그에 다음이 표시되었습니다

Excluded sources: 
  system/**
  test/**
  application/third_party/**
  application/logs/**

이것은 귀하의 경우에 효과적입니다.

sonar.exclusions=**/src/java/dig/ ** , **/src/java/test/dig/ **

전체 폴더를 건너 뛰려면 다음을 사용할 수 있습니다.

sonar.exclusions=folderName/**/*

그리고 특정 파일이 하나만 있으면 전체 경로를 제공하십시오.

여기에서 제외하고 추가해야하는 모든 폴더.


가장 쉬운 방법은 서버 (localhost : 8080)를 시작한 후 서버 URL로 이동 한 다음 관리자로 로그인하여 설정> 제외> 소스 파일 제외-여기에 패키지를 추가하는 것입니다. 서버를 다시 시작하십시오.


또 다른 구성 옵션은 maven 속성을 추가하는 것 sonar.exclusions입니다. 다음은 정적 jquery 디렉토리 및 정적 pdf 뷰어 디렉토리를 제외한 샘플 pom 파일입니다.

<project >
<modelVersion>4.0.0</modelVersion>
<artifactId>my Artifact</artifactId>
<!-- Enviroment variables can be referenced as such: ${env.PATH} -->
<packaging>war</packaging>
<url>http://maven.apache.org</url>

<properties>

    <junit.version>4.9</junit.version>
    <mockito.version>1.9.5</mockito.version>
    <jackson.version>1.9.7</jackson.version>
    <powermock.version>1.5</powermock.version>

    <!--Exclude the files Here-->
    <sonar.exclusions>src/main/webapp/static/jquery_ui/*,src/main/webapp/static/pdf-viewer/*,src/main/webapp/static/pdf-viewer/**,src/main/webapp/static/pdf-viewer/**/*</sonar.exclusions>
</properties>


어떤 버전의 소나를 사용하고 있습니까? " sonar.skippedModules = yourmodulename " 이라는 옵션이 하나 있습니다 .

전체 모듈을 건너 뜁니다. 그러니 알아 두세요.


Sonar에서 파일을 제외하면 Jacoco 플러그인에 대해 동일한 작업을 수행합니다.

<configuration>
<excludes>     
<exclude>com/acme/model/persistence/entity/TransactionEntity*</exclude>
<exclude>com/acme/model/persistence/ModelConstants.class</exclude>
</excludes>
</configuration> 

참고 URL : https://stackoverflow.com/questions/21323276/sonarqube-exclude-a-directory

반응형