<?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">
    <!--
      TIPS:

      - Use "mvn versions:display-dependency-updates" to see what dependencies
        have updates available.

      - Use "mvn versions:display-plugin-updates" to see whan plugins have
        updates available.

      - use "mvn clean install site site:stage -DstagingDirectory=$dir%"
        to stage the site with modules to a given direcotry.
    -->
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>de.weltraumschaf.organization</groupId>
        <artifactId>organization-parent</artifactId>
        <version>2.1.0</version>
    </parent>

    <groupId>de.weltraumschaf.commons</groupId>
    <artifactId>reactor</artifactId>
    <version>2.2.0</version>
    <packaging>pom</packaging>

    <name>Commons</name>
    <description>
        Common Utility Classes for Java.
    </description>
    <url>http://weltraumschaf.github.com/commons/</url>

    <properties>
        <jacoco.exclude.1>**/ApplicationException.*</jacoco.exclude.1>
        <jacoco.exclude.2>**/NullExiter.*</jacoco.exclude.2>

        <sonar.doxygen.generateDocumentation>enable</sonar.doxygen.generateDocumentation>
        <!-- FIXME This crap does not work! -->
        <sonar.exclusions>${jacoco.exclude.1}:${jacoco.exclude.2}</sonar.exclusions>
        <sonar.scm.disabled>true</sonar.scm.disabled>

        <maven.pmd.rulesetfiles>${project.basedir}/src/main/config/pmd.xml</maven.pmd.rulesetfiles>
        <maven.pmd.cpd-excludes>${project.basedir}/src/main/config/exclude-cpd.properties</maven.pmd.cpd-excludes>
        <maven.pmd.pmd-excludes>${project.basedir}/src/main/config/exclude-pmd.properties</maven.pmd.pmd-excludes>
        <maven.findbugs.excludefilterfile>${project.basedir}/src/main/config/findbugs-exclude.xml</maven.findbugs.excludefilterfile>
        <maven.findbugs.includefilterfile>${project.basedir}/src/main/config/findbugs-include.xml</maven.findbugs.includefilterfile>

        <dependency.findbugs.annotations>1.3.2</dependency.findbugs.annotations>
        <dependency.jcip.annotations>1.0-1</dependency.jcip.annotations>
    </properties>

    <prerequisites>
        <maven>${maven.version}</maven>
    </prerequisites>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/Weltraumschaf/commons/issues</url>
    </issueManagement>

    <scm>
        <connection>scm:git:git://github.com/Weltraumschaf/commons.git</connection>
        <developerConnection>scm:git:git@github.com:Weltraumschaf/commons.git</developerConnection>
        <url>https://github.com/Weltraumschaf/commons.git</url>
        <tag>2.2.0</tag>
    </scm>

    <distributionManagement>
        <site>
            <id>github-project-site</id>
            <url>gitsite:git@github.com/Weltraumschaf/commons.git</url>
        </site>
    </distributionManagement>

    <ciManagement>
        <system>jenkins</system>
        <url>https://ci.weltraumschaf.de/job/Commons/</url>
    </ciManagement>

    <modules>
        <module>commons-application</module>
        <module>commons-concurrent</module>
        <module>commons-config</module>
        <module>commons-experimental</module>
        <module>commons-guava</module>
        <module>commons-jcommander</module>
        <module>commons-shell</module>
        <module>commons-string</module>
        <module>commons-swing</module>
        <module>commons-system</module>
        <module>commons-testing</module>
        <module>commons-time</module>
        <module>commons-validate</module>
        <module>commons-uri</module>
        <module>commons-parse</module>
    </modules>

    <dependencies>
        <dependency>
            <!-- http://findbugs.sourceforge.net/manual/annotations.html -->
            <groupId>net.sourceforge.findbugs</groupId>
            <artifactId>annotations</artifactId>
            <version>${dependency.findbugs.annotations}</version>
        </dependency>

        <dependency>
            <groupId>com.github.stephenc.jcip</groupId>
            <artifactId>jcip-annotations</artifactId>
            <version>${dependency.jcip.annotations}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <artifactId>maven-pmd-plugin</artifactId>
            </plugin>

            <plugin>
                <!-- http://wiki.netbeans.org/MavenCodeCoverage -->
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>${jacoco.exclude.1}</exclude>
                        <exclude>${jacoco.exclude.2}</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
