Fortify + maven排除xsd文件

时间:2015-01-29 14:35:02

标签: jenkins fortify

我在运行扫描时遇到问题,在强化SCA中排除xsd文件。 我正在使用maven(使用fortify插件)+ jenkins。 我的Jenkins使用的POM.xml:

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

我的Jenkins Maven目标如下: 第一个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:clean -Pprofile1

第二个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:translate -Pprofile1

第三个目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:scan -Pprofile1

不幸的是我无法附上图片。

以上配置按预期工作至今 现在,我想从扫描中排除所有XSD文件。

怎么做? 我尝试添加-exclude&#34; .xsd&#34;进入maven目标: com.fortify.ps.maven.plugin:maven-sca-plugin:2.6:scan -Pprofile -exclude&#34; .xsd&#34;

但它不起作用。

如果有人可以提供帮助,我将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

理论上,Fortify Maven插件支持排除文件,但它并不总是按预期工作。

现在,正如所说, 您没有正确调用排除 。在构建Fortify Maven插件的位置,找到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>

如果以上都不奏效,请联系Fortify技术支持。

专业提示: 您还可以在Core / config / fortify-sca.properties中设置此值,它将影响系统上sourceanalyzer的每次调用。这包括通过maven插件进行调用。