<?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>org.mustangproject</groupId>
    <artifactId>core</artifactId>
    <version>2.10.0</version>
</parent>

	<modelVersion>4.0.0</modelVersion>
	<groupId>org.mustangproject</groupId>
	<artifactId>library</artifactId>
	<version>2.10.0</version>
	<packaging>jar</packaging>
	<name>Library to write, read and validate e-invoices (Factur-X, ZUGFeRD, Order-X, XRechnung/CII)</name>
	<description>FOSS Java library to read, write and validate european electronic invoices and orders in the UN/CEFACT Cross Industry Invoice based formats Factur-X/ZUGFeRD, XRechnung and Order-X in your invoice PDFs.
    </description>
	<url>http://www.mustangproject.org/</url>
	<scm>
		<connection>scm:git:https://github.com/ZUGFeRD/mustangproject.git</connection>
		<developerConnection>scm:git:https://github.com/ZUGFeRD/mustangproject.git</developerConnection>
		<url>https://github.com/ZUGFeRD/mustangproject</url>
		<tag>core-2.10.0</tag>
	</scm>
	<repositories>
		<repository><!-- for jargs -->
			<id>sonatype-oss-public</id>
			<url>https://oss.sonatype.org/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>
	<distributionManagement>
		<repository>
			<id>internal.repo</id>
			<name>Temporary Staging Repository</name>
			<url>file://${project.build.directory}/mvn-repo</url>
		</repository>
	</distributionManagement>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<github.global.server>github</github.global.server>
		<additionalparam>-Xdoclint:none</additionalparam>
		<!-- Skip error check for javadoc -->
		<maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>
		<maven.compiler.source>8</maven.compiler.source>
		<maven.compiler.target>8</maven.compiler.target>
		<maven.deploy.skip>true</maven.deploy.skip><!-- do deploy to maven central, parent project does not and inherits -->

	</properties>
	<dependencies>
		<!-- https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE -->
		<dependency>
			<groupId>net.sf.saxon</groupId>
			<artifactId>Saxon-HE</artifactId>
			<version>9.9.0-1</version>
		</dependency><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.14.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/fop -->
		<dependency>
			<groupId>org.apache.xmlgraphics</groupId>
			<artifactId>fop</artifactId>
			<version>2.9</version>
		</dependency>

		<dependency>
			<groupId>javax.activation</groupId>
			<artifactId>activation</artifactId>
			<version>1.1.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>preflight</artifactId>
			<version>2.0.27</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox</artifactId>
			<version>2.0.27</version>
		</dependency>
		<dependency>
			<groupId>org.dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>2.1.3</version>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.9.1</version>
			<scope>test</scope>
		 </dependency>
		 <dependency>
			<groupId>org.junit.vintage</groupId>
			<artifactId>junit-vintage-engine</artifactId>
			<version>5.9.1</version>
			<scope>test</scope>
		 </dependency>

		<!-- CII to UBL conversion -->
		<dependency>
			<groupId>com.helger</groupId>
			<artifactId>en16931-cii2ubl</artifactId>
			<version>1.4.10</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime -->
		<dependency>
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-runtime</artifactId>
			<version>2.3.3</version>
		</dependency>

		<dependency>
			<groupId>org.xmlunit</groupId>
			<artifactId>xmlunit-core</artifactId>
			<version>2.9.0</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.xmlunit</groupId>
			<artifactId>xmlunit-assertj</artifactId>
			<version>2.9.1</version>
            <scope>test</scope>
		</dependency>
		<!-- API -->
		<dependency>
			<groupId>jakarta.xml.bind</groupId>
			<artifactId>jakarta.xml.bind-api</artifactId>
			<version>2.3.3</version>
		</dependency>

	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<runOrder>alphabetical</runOrder>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>
				<configuration>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<!-- http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven
                        mvn clean compile assembly:single -->
					<!-- or whatever version you use -->
					<source>8</source>
					<target>8</target>
				</configuration>
			</plugin>
			<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
					<excludes>
						<exclude>**/logback.xml</exclude>
					</excludes>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                </manifest>
                <manifestSections>
                    <manifestSection>
                        <name>FreeSans.ttf</name>
                        <manifestEntries>
                            <Content-Type>font/ttf</Content-Type>
                        </manifestEntries>
                    </manifestSection>
                    <manifestSection>
                        <name>FreeSerif.ttf</name>
                        <manifestEntries>
                            <Content-Type>application/x-font</Content-Type>
                        </manifestEntries>
                    </manifestSection>
                    <manifestSection>
                        <name>Times-Bold.ttf</name>
                        <manifestEntries>
                            <Content-Type>application/x-font</Content-Type>
                        </manifestEntries>
                    </manifestSection>
                </manifestSections>
            </archive>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.2.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.2.1</version>
				<configuration>
					<shadedArtifactAttached>true</shadedArtifactAttached>
					<minimizeJar>false</minimizeJar><!-- no longer java 11 compatible if set to true because it removes e.g. javax/xml/bind/annotation/XmlSchema-->
					<filters>

						<filter>
							<artifact>*:*</artifact>
							<excludes>
								<exclude>META-INF/*.SF</exclude>
								<exclude>META-INF/*.DSA</exclude>
								<exclude>META-INF/*.RSA</exclude>
							</excludes>
						</filter>
						<filter>
							<artifact>log4j:log4j</artifact>
							<includes>
								<include>**</include>
							</includes>
						</filter>
						<filter>
							<artifact>commons-logging:commons-logging</artifact>
							<includes>
								<include>**</include>
							</includes>
						</filter>
					</filters>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<excludes>
									<!--exclude>classworlds:classworlds</exclude> <exclude>junit:junit</exclude>
                                        <exclude>jmock:*</exclude> <exclude>*:xml-apis</exclude> <exclude>org.apache.maven:lib:tests</exclude>
                                        <exclude>log4j:log4j:jar:</exclude -->
								</excludes>
							</artifactSet>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>templating-maven-plugin</artifactId>
				<version>1.0.0</version>
				<executions>
					<execution>
						<id>filtering-java-templates</id>
						<goals>
							<goal>filter-sources</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>


	<profiles>
		<profile> <!-- enforce building binaries with Java 1.8 for Maven Central, otherwise using them e.g. as jar will throw a version exception-->
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-toolchains-plugin</artifactId>
						<version>3.1.0</version>
						<executions>
							<execution>
								<goals>
									<goal>toolchain</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<toolchains>
								<jdk>
									<version>8</version>
									<vendor>adopt</vendor>
								</jdk>
							</toolchains>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
	<mailingLists>
		<mailingList>
			<name>User List</name>
			<archive>https://groups.google.com/forum/?hl=de#!forum/mustangproject</archive>
		</mailingList>
	</mailingLists>
	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
			<comments>A business-friendly OSS license</comments>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>Jochen Stärk</name>
			<email>jstaerk@usegroup.de</email>
			<roles>
				<role>architect</role>
				<role>developer</role>
			</roles>
		</developer>
		<developer>
			<name>Alexander Schmidt</name>
			<email>schmidt.alexander@mail.de</email>
			<roles>
				<role>developer</role>
			</roles>
		</developer>
	</developers>
</project>
