<!-- 
	If you are behind a proxy try the following command:
		'mvn -Dhttp.proxyHost=164.22.255.145 -Dhttp.proxyPort=8181 -U validate'
	or create in ${user.home}/.m2/repository a file "settings.xml"
	with this proxy setting.
 -->

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

  <parent>
    <groupId>com.github.oboehm</groupId>
    <artifactId>gdv-xport</artifactId>
    <version>7.2.3</version>
  </parent>

  <artifactId>gdv-xport-lib</artifactId>
  <packaging>jar</packaging>
  <name>GDV.XPort-Lib</name>

  <url>http://www.aosd.de/gdv.xport/</url>
  <organization>
    <name>AOSD Labs</name>
    <url>http://www.aosd.de/</url>
  </organization>
  <!-- see http://maven.apache.org/pom.html#Licenses -->
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>



  <build>
    
  	<plugins>
  	
      <!-- 
          Make The Jar Executable
          see http://maven.apache.org/shared/maven-archiver/examples/classpath.html
       -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>${main.class}</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedClassifierName>uberjar</shadedClassifierName>
              <minimizeJar>true</minimizeJar>
              <transformers>
                <transformer
                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>${main.class}</mainClass>
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>

	  <!-- we must set some system properties for testing -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>**/Abstract*.java</exclude>
          </excludes>
          <systemProperties>
            <property>
              <name>gdv.VU-Nummer</name>
              <value>4711</value>
            </property>
          </systemProperties>
        </configuration>
      </plugin>

      <!-- 'mvn clirr:clirr' liefert die inkompatiblen API-Changes -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>clirr-maven-plugin</artifactId>
        <configuration>
          <!-- Compare the current code against last release -->
          <comparisonVersion>5.4.2</comparisonVersion>
        </configuration>
      </plugin>

    </plugins>
  	
  </build>




  <dependencies>

    <!-- Apache Commons -->
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents.client5</groupId>
      <artifactId>httpclient5-fluent</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-text</artifactId>
    </dependency>

    <!-- XML -->
    <dependency>
      <groupId>net.java.dev.stax-utils</groupId>
      <artifactId>stax-utils</artifactId>
      <version>20070216</version>
      <exclusions>
        <exclusion>
          <groupId>com.bea.xml</groupId>
          <artifactId>jsr173-ri</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Testing -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>postgresql</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
    </dependency>
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <scope>test</scope>
    </dependency>

	<!-- (Pattern-)Testing -->
    <dependency>
      <groupId>org.patterntesting</groupId>
      <artifactId>patterntesting-rt</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>com.jamonapi</groupId>
          <artifactId>jamon</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.code.findbugs</groupId>
          <artifactId>jsr305</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.junit.jupiter</groupId>
          <artifactId>junit-jupiter</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-commons</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-engine</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- Validation -->
    <dependency>
      <groupId>net.sf.oval</groupId>
      <artifactId>oval</artifactId>
    </dependency>
    <dependency>
      <groupId>de.jfachwert</groupId>
      <artifactId>jfachwert</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
    </dependency>

    <!-- JSON -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <optional>true</optional>
    </dependency>

  </dependencies>
  

  
  <!-- More Project Information -->

  <description>
    gdv-xport-lib ist die Java-Bibliothek fuer den Umgang mit dem GDV-Format.
    Sie erleichtert den Export und Export dieses Datenformats.
  </description>



  <profiles>
    <profile>
      <id>compatibility</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>clirr-maven-plugin</artifactId>
            <version>2.8</version>
            <configuration>
              <!-- Compare the current code against version 1.2 -->
              <comparisonVersion>4.2.0</comparisonVersion>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  

</project>
