CheckStyle의 파일에 대한 모든 검사를 억제하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1012407

  •  06-07-2019
  •  | 
  •  

문제

저는 제 3 자 수업을 재정의하고 있으며 모든 수표를 억제하고 싶습니다 (패치가 수락 될 때까지만 유지하기 때문에).

파일의 모든 검사를 억제하는 방법이 있습니까?

"*"를 사용해 보았지만 실패합니다.

도움이 되었습니까?

해결책

명령 줄을 사용하고 있는지 또는 IDE에 있는지 모르지만 기본적으로 Suppresions 파일이 필요합니다. CheckStyle 구성 파일을 수동으로 편집하는 경우 새 모듈을 추가하십시오.

<module name="SuppressionFilter">
    <property name="file" value="mysuppressions.xml" />
</module>

당신의 mysuppression.xml 다음과 같은 것일 수 있습니다.

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
    <suppress files="TheClassToIgnore\.java" checks="[a-zA-Z0-9]*"/>
</suppressions>

"값"files"속성은 기본적으로 소스 파일에 대한 정규식이며,"checks"속성은 어떤 수표를 건너 뛰는 지 ("에 대한 재규모입니다.[a-zA-Z0-9]*"기본적으로 모든 것을 건너 뛰는 것을 의미합니다). 이것은 당신이 찾고있는 패턴입니다.

다른 팁

checks.xml에 suppressioncommentfilter 태그를 추가하여 파일의 확인을 억제 할 수있었습니다.

먼저, 나는 Treewalker 태그의 아이로서 filecontentholder 태그를 추가했습니다 (이 단계는 다음과 같습니다. ~ 아니다 com.puppycrawl.tools : Checkstyle의 버전 8.1 이후 필요 : :

<module name="TreeWalker">
    ...
    <module name="FileContentsHolder"/>
    ...
</module>

그런 다음 Checks.xml에 suppressioncommentFilter를 추가했습니다 (com.puppycrawl.tools : Checkstyle - "Treewalker"노드 아래) : 이후) :

<module name="SuppressionCommentFilter"/>

파일의 첫 번째 줄에 다음 주석을 삽입 한 수표를 억제하려는 각 파일에서 다음과 같습니다.

// CHECKSTYLE:OFF

Aberrant80의 답변은 많은 도움이되었습니다. Regex Pattern Matching을 사용하여 그의 힌트의 도움으로 CheckStyle -Suppressions.xml 파일에 추가하여 전체 패키지의 CheckStyle을 억제 할 수있었습니다. 예를 들어. JAXB 패키지에서 모든 자동 생성 된 Java 파일에서 CheckStyle 점검을 건너 뛰기 위해

    <suppressions>
        <suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" />
    </suppressions>

CheckStyle에 CheckClipse Eclipse 플러그인을 사용하는 경우 Project 속성의 CheckClipse> 파일 필터 탭으로 이동하여 파일 패턴 (디렉토리 포함)을 포함하거나 제외 할 수 있습니다. 예를 들어, 내 프로젝트에는 포함되어 있습니다 SRC 그리고 테스트 최상위 수준의 디렉토리. 나는 checkstyle을 파일에만 적용하고 싶습니다 SRC 디렉토리 (생략 테스트), 그래서 나는 다음과 같은 모습의 포함 패턴을 추가했습니다.

src/.+java$

보시다시피, 패턴 사양에 Regex 스타일 구문을 사용합니다.

@aberrant80의 답변은 내 프로젝트에서 작동하지 않았지만 매우 고무적입니다. checkstyle이 foo.java에서 찾는 경고를 억제하기 위해 링크, Maven이 사용되는 경우 :

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    ...
        <configuration>
            ...
            <configLocation>checkstyle.xml</configLocation>
            <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
            ...
        </configuration>                
    ...
</plugin>

그리고에서 CheckStyle-Suppressions.xml

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
    <suppress files="Foo.java" checks="[a-zA-Z0-9]*" />
</suppressions>

지금까지 가장 높은 버전은 1.1입니다 (1.2는 존재하지 않습니다).

쓰기 보호 파일을 무시할 수있는 옵션이 있습니다. 또는 패키지의 파일.

검사 된 프로젝트 내에 파일 그룹이 없으면이 파일을 필터링하여 파일 필터

파일 필터는 Regex를 사용하여 제외 할 파일을 결정합니다. REGEX는 전체 파일 이름으로 작동합니다.이 때문에 전체 폴더를 제외 할 수도 있습니다. 이 경우 원하는 경우 전체 패키지를 제외 할 수 있습니다.

약간의 Google이 있으면 원하는 예제의 예제가있는 CheckStyle Configuration Propertie 파일을 찾을 수 있습니다. 나는 당신이 그렇게 한 후에 제안합니다 - 미래 상황에서 그것을 참조 할 수 있도록 약간의 템플릿으로 저장하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top