<?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">
  <modelVersion>4.0.0</modelVersion>

  <!-- Parent POM: Parser Toolkit -->

  <parent>
    <groupId>de.fau.cs.osr.ptk</groupId>
    <artifactId>parser-toolkit</artifactId>
    <version>1.1.0</version>
  </parent>

  <!-- This POM: Parser Toolkit - Common -->

  <groupId>de.fau.cs.osr.ptk</groupId>
  <artifactId>ptk-common</artifactId>
  <version>1.1.0</version>
  <packaging>jar</packaging>

  <name>PTK - Common</name>
  <url>http://sweble.org/doc/site/tooling/parser-toolkit/ptk-common</url>
  <inceptionYear>2009</inceptionYear>
  <description>
    The parser toolkit common module provides the basic facilities for AST
    building, traversal, persistence and much more.
  </description>

  <!-- ==[ Dependencies ]=================================================== -->

  <dependencies>

    <!-- Apache Commons -->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-jxpath</groupId>
      <artifactId>commons-jxpath</artifactId>
    </dependency>

    <!-- Rats! -->
    <dependency>
      <groupId>xtc</groupId>
      <artifactId>rats-runtime</artifactId>
    </dependency>

    <!-- Utils -->
    <dependency>
      <groupId>de.fau.cs.osr.utils</groupId>
      <artifactId>utils</artifactId>
    </dependency>

    <!--
      Testing
    -->

    <!-- JUnit -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <!-- JUnit invocations are part of the library! -->
      <scope>compile</scope>
    </dependency>

  </dependencies>

  <build>

    <!-- ==[ Plugin Configuration ]========================================= -->

    <plugins>

      <!-- Check and format license headers -->
      <plugin>
        <groupId>com.mycila.maven-license-plugin</groupId>
        <artifactId>maven-license-plugin</artifactId>
        <configuration>
          <header>../etc/license-header.txt</header>
          <excludes>
            <exclude>**/.gitignore</exclude>
            <exclude>src/test/resources/*.xml</exclude>
            <exclude>src/site/site.xml</exclude>
            <exclude>src/site/changes.xml</exclude>
            <exclude>src/site/resources/css/site.css</exclude>
            <exclude>dependencies</exclude>
            <exclude>LICENSE</exclude>
            <exclude>NOTICE</exclude>
          </excludes>
        </configuration>
      </plugin>

      <!-- Make Git information available as properties -->
      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <executions>
          <!-- Disabled until problem
            https://github.com/ktoso/maven-git-commit-id-plugin/issues/19
            is resolved -->
          <execution>
            <id>git-commit-info-disabled</id>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>

      <!-- Maven site generation -->
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <reportPlugins>

            <plugin>
              <artifactId>maven-project-info-reports-plugin</artifactId>
            </plugin>

            <!-- >>> ADDITIONAL REPORT PLUGINS >>> -->
            <plugin>
              <artifactId>maven-javadoc-plugin</artifactId>
              <configuration>
                <quiet>true</quiet>
              </configuration>
              <reportSets>
                <reportSet>
                  <id>site-javadoc</id>
                  <reports>
                    <report>javadoc</report>
                  </reports>
                </reportSet>
              </reportSets>
            </plugin>

            <plugin>
              <artifactId>maven-surefire-report-plugin</artifactId>
            </plugin>

            <plugin>
              <artifactId>maven-jxr-plugin</artifactId>
              <reportSets>
                <reportSet>
                  <id>src-xref</id>
                  <reports>
                    <report>jxr</report>
                  </reports>
                </reportSet>
              </reportSets>
            </plugin>

            <plugin>
              <artifactId>maven-pmd-plugin</artifactId>
              <version>2.7.1</version>
              <configuration>
                <targetJdk>${version.java}</targetJdk>
              </configuration>
            </plugin>

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

            <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>taglist-maven-plugin</artifactId>
              <configuration>
                <encoding>UTF-8</encoding>
                <sourceFileLocale>en</sourceFileLocale>
                <emptyComments>true</emptyComments>
                <tagListOptions>
                  <tagClasses>
                    <tagClass>
                      <displayName>Code Work</displayName>
                      <tags>
                        <tag>
                          <matchString>fixme</matchString>
                          <matchType>ignoreCase</matchType>
                        </tag>
                        <tag>
                          <matchString>todo</matchString>
                          <matchType>ignoreCase</matchType>
                        </tag>
                        <tag>
                          <matchString>@todo</matchString>
                          <matchType>ignoreCase</matchType>
                        </tag>
                      </tags>
                    </tagClass>
                  </tagClasses>
                </tagListOptions>
              </configuration>
            </plugin>

            <plugin>
              <artifactId>maven-changes-plugin</artifactId>
              <configuration>
                <xmlPath>${basedir}/src/site/changes.xml</xmlPath>
              </configuration>
              <reportSets>
                <reportSet>
                  <reports>
                    <report>changes-report</report>
                  </reports>
                </reportSet>
              </reportSets>
            </plugin>
            <!-- <<< ADDITIONAL REPORT PLUGINS <<< -->

          </reportPlugins>
        </configuration>
      </plugin>

    </plugins>
  </build>

  <!-- ==[ Reporting ]====================================================== -->

  <!--
    see parent: <reporting>
  -->

  <!-- ==[ More Project Information ]======================================= -->

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <!--
    see parent: <organization>
                <developers>
                <contributors>
  -->

  <!-- ==[ Environment Settings ]=========================================== -->

  <!--
    see parent: <issueManagement>
                <ciManagement>
                <mailingLists>
  -->

  <scm>
    <connection>scm:git://sweble.org/git/parser-toolkit.git</connection>
    <developerConnection>scm:git:ssh://gitosis@sweble.org/parser-toolkit.git</developerConnection>
    <url>http://sweble.org/gitweb/?p=parser-toolkit.git;a=summary</url>
  </scm>

  <!--
    see parent: <distributionManagement>
                <repositories>
                <pluginRepositories>
  -->

  <!-- ==[ Profiles ]======================================================= -->

  <profiles>
    <profile>
      <id>quick</id>
      <build>
        <plugins>

          <!-- Don't check and format license headers -->
          <plugin>
            <groupId>com.mycila.maven-license-plugin</groupId>
            <artifactId>maven-license-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>

          <!-- Don't run tests -->
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>

          <!-- Only generate minimal site -->
          <plugin>
            <artifactId>maven-site-plugin</artifactId>
            <configuration>
              <reportPlugins>
                <plugin>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                  <reportSets>
                    <reportSet>
                      <reports>
                        <!-- cim, dependencies, dependency-convergence -->
                        <report>dependency-management</report>
                        <report>distribution-management</report>
                        <report>index</report>
                        <report>issue-tracking</report>
                        <report>license</report>
                        <report>mailing-list</report>
                        <report>modules</report>
                        <report>plugin-management</report>
                        <report>plugins</report>
                        <report>project-team</report>
                        <report>scm</report>
                        <report>summary</report>
                      </reports>
                    </reportSet>
                  </reportSets>
                </plugin>
              </reportPlugins>
            </configuration>
          </plugin>

        </plugins>
      </build>
    </profile>

  </profiles>
</project>
