2015-01-29 5 views
0

강화 SCA에서 xsd 파일을 제외하고 검사를 실행하는 데 문제가 있습니다. maven (fortify plugin 포함) + jenkins를 사용하고 있습니다. 젠킨스가 사용 내 pom.xml 파일 :Fortify + maven xsd 파일 제외

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>pl.bluecode</groupId> 
<artifactId>bc</artifactId> 
<version>1.0</version> 
<packaging>pom</packaging> 
<properties> 

</properties> 
<scm> 
    <connection>scm:svn:https://subversion......</connection> 
    <developerConnection>scm:svn:https://subversion.....</developerConnection> 
    <tag>HEAD</tag> 
    <url>https://subversion......</url> 
</scm> 
<profiles> 
    <profile> 
     <id>common</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
      <property> 
       <name>!skipCommonProfile</name> 
      </property> 
     </activation> 
     <modules> 
      <module>Project1</module> 
      <module>Project2</module> 
     </modules> 
    </profile> 
    <profile> 
     <id>profile1</id> 
     <modules> 
      <module>Project3</module> 
      <module>Project4</module> 
     </modules> 
    </profile> 
</profiles> 

<build> 
    <sourceDirectory>${basedir}/src</sourceDirectory> 
    <finalName>${project.artifactId}</finalName> 
    <resources> 
     <resource> 
      <directory>${basedir}/src</directory> 
      <includes> 
       <include>**/*.properties</include> 
      </includes> 
     </resource> 
     <resource> 
      <directory>${basedir}/src</directory> 
     </resource> 
    </resources> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.fortify.ps.maven.plugin</groupId> 
       <artifactId>maven-sca-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
        <source>1.5</source> 
        <failOnSCAError>true</failOnSCAError> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

내 젠킨스 메이븐 목표 보이는 같은 : 1 목표 : com.fortify.ps.maven.plugin : 받는다는-SCA-플러그인 : 2.6 : 깨끗한 -Pprofile1

2 차 목표 : com.fortify.ps.maven.plugin : 받는다는-SCA-플러그인 : 2.6 : -Pprofile1 번역

3 목표 : com.fortify.ps.maven.plugin : ~시키다 n-sca-plugin : 2.6 : scan -Pprofile1

이미지를 첨부 할 수 없습니다.

위의 구성은 예상대로 작동합니다.
이제 모든 XSD 파일을 검사에서 제외하고 싶습니다.

어떻게 만드시겠습니까? 나는 받는다는 목표에 -exclude ".XSD"항목을 추가하려고 : com.fortify.ps.maven.plugin : 받는다는-SCA-플러그인 : 2.6 : 스캔 -Pprofile -exclude을

"이 .XSD" 하지만 작동하지 않습니다.

누군가가 도와 주시면 감사하겠습니다.

감사합니다.

답변

1

Fortify Maven Plugin은 파일의 제외를 지원하지만 항상 예상대로 작동하지는 않습니다.

이제는 제외가 올바르게 실행되지 않습니다.. Fortify Maven Plugin을 빌드 한 곳에서 translate 목표에 대한 문서를 찾으십시오. 나를 위해 : /Samples/advanced/maven-plugin/target/site/translate-mojo.html#exclude.

여기에서 제외를 호출하는 올바른 방법을 찾을 수 있습니다. 명령 줄에서 다음을

"-Dfortify.sca.exclude=*.xsd" 

또는 POM에서

이제 다시 내 첫 번째 점에

<exclude> 
*.xsd 
</exclude> 

을 (당신은 포티을 설정 한 경우이 작업을 번역). 때로는 * .extension으로 값을 설정하는 것보다 예외를 적용하는 것이 더 어렵습니다. 또한 디렉토리를 지정해야 할 수도 있습니다. 위의 경우 작동하지 않으면 Fortify 특수 glob 매개 변수 "**"를 사용해보십시오. 이는 재귀 하위 디렉토리 일치를 의미합니다. 재치하려면 :

"-Dfortify.sca.exclude=**/*.xsd" 

또는

<exclude> 
**/*.xsd 
</exclude> 

위 작업 중 어느 것도, 그 다음 포티 기술 지원에 문의하십시오

.

프로 팁 : 당신은 또한 시스템에 sourceanalyzer의 모든 호출에 영향을 미칠 코어/설정/fortify-sca.properties,이 값을 설정할 수 있습니다. 여기에는 maven 플러그인을 통한 호출이 포함됩니다.

+0

유감스럽게도이 솔루션은 작동하지 않습니다. 나는 시도했다 com.fortify.ps.maven.plugin : maven-sca-plugin : 2.6 : 번역 -Pprofile1 -Dfortify.sca.exclude = *. xsd and com.fortify.ps.maven.plugin : maven-sca-plugin : 2.6 : translate -Pprofile1 -Dfortify.sca.exclude = **/*. xsd –

+0

안녕하세요 Dariusz, 이 명령을 실행하는 방법에 따라, 나는이'*'문자가 쉘에 의해 해석되어 당신의 매개 변수의 혼란. (디렉토리의 파일이'a.txt, b.txt' 및'c.txt' 인 경우'-Dfortify.sca.exclude = * .xsd'는'-Dfortify.sca.exclude = a.txt가됩니다. b. txt c.txt.xsd' 열쇠는 매개 변수를 큰 따옴표로 묶는 것입니다. 예를 들어, com.fortify.ps.maven.plugin : maven-sca-plugin : 2.6 : translate -Pprofile1 -Dfortify .sca.exclude = **/*. xsd "' –

+0

다른 완전히 다른 해결책은'Core/config/fortify-sca '의'com.fortify.sca.DefaultFileTypes' 라인에서'xsd'를 제거하는 것입니다. 속성 '이 작동하면 제게 알려 주시면 답변을 더 자세히 업데이트하겠습니다. 불행히도이 예외는 일관되게 구현되는 기능이 아닙니다. –