<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.h3xstream.findsecbugs</groupId>
        <artifactId>findsecbugs-root-pom</artifactId>
        <version>1.10.1</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.h3xstream.findsecbugs</groupId>
    <artifactId>findsecbugs-plugin</artifactId>

    <packaging>jar</packaging>

    <name>OWASP Find Security Bugs Plugin</name>
    <description>
        Core module of the project. It include all the SpotBugs detectors.
        The resulting jar is the published plugin.
    </description>

    <build>
        <plugins>
            <!-- Jar packaging -->
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                    <excludes>
                        <exclude>metadata/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!-- Moving findbugs config to root -->
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>ant-magic</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <copy todir="${project.build.outputDirectory}">
                                    <fileset dir="${project.build.outputDirectory}/metadata" />
                                </copy>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- More verbose failure on stdout (for Travis-CI) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.20</version>
                <configuration>
                    <properties>
                        <property>
                            <name>listener</name>
                            <value>com.h3xstream.testng.VerboseTestListener</value>
                        </property>
                    </properties>
  	           <enableAssertions>true</enableAssertions>
                </configuration>
            </plugin>

            <!-- Cobertura configuration -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <formats>
                        <format>html</format>
                        <!-- Needed for coveralls plugin -->
                        <format>xml</format>
                    </formats>
                    <check />
                </configuration>
            </plugin>

            <!--
              Verify that the sources of this module are API compatible
              with the Java version officially used by FindBugs.
              The test sources are not checked by this plugin
              (see https://github.com/mojohaus/animal-sniffer/issues/5),
              so more recent Java APIs can be used in the tests.
            -->
            <!--<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>1.15</version>
                <configuration>
                    <signature>
                        <groupId>org.codehaus.mojo.signature</groupId>
                        <artifactId>java17</artifactId>
                        <version>1.0</version>
                    </signature>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>-->

        </plugins>
    </build>

    <dependencies>

        <!-- FindBugs API (Detector interface and transitive deps like BCEL..) -->
        <dependency>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs</artifactId>
            <scope>provided</scope>
        </dependency>


        <!-- Toolkit for easy detector testing -->
        <dependency>
            <groupId>com.h3xstream.findsecbugs</groupId>
            <artifactId>findsecbugs-test-util</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>

        <!-- Test samples -->
        <dependency>
            <groupId>com.h3xstream.findsecbugs</groupId>
            <artifactId>findsecbugs-samples-kotlin</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.h3xstream.findsecbugs</groupId>
            <artifactId>findsecbugs-samples-java</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.h3xstream.findsecbugs</groupId>
            <artifactId>findsecbugs-samples-jsp</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>

        <!-- Unit Testing libraries -->

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>com.h3xstream.findsecbugs</groupId>
            <artifactId>findsecbugs-samples-deps</artifactId>
            <scope>provided</scope>
        </dependency>

    </dependencies>

</project>
