<?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>
	<groupId>org.mustangproject.ZUGFeRD</groupId>
	<artifactId>mustang</artifactId>
	<version>1.7.3-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>Mustang</name>
	<description>The Mustang project is a java library to read and write ZUGFeRD meta data inside 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>mustang-1.5.2</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>1.8</maven.compiler.compilerVersion>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
	</properties>
	<dependencies>
		<!-- https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE -->
		<dependency>
			<groupId>net.sf.saxon</groupId>
			<artifactId>Saxon-HE</artifactId>
			<version>9.8.0-11</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-impl</artifactId>
			<version>2.2.11</version>
		</dependency>
		<dependency>
			<groupId>com.sun.xml.bind</groupId>
			<artifactId>jaxb-core</artifactId>
			<version>2.2.11</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jaxb</groupId>
			<artifactId>jaxb-runtime</artifactId>
			<version>2.2.11</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>preflight</artifactId>
			<version>[2.0.15,)</version>
		</dependency>
		<dependency>
			<groupId>org.apache.pdfbox</groupId>
			<artifactId>pdfbox</artifactId>
			<version>[2.0.15,)</version>
		</dependency>
		<dependency>
			<groupId>org.dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.helger</groupId>
			<artifactId>ph-schematron</artifactId>
			<version>5.0.4</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.xmlunit</groupId>
			<artifactId>xmlunit-core</artifactId>
			<version>2.6.2</version>
			<scope>test</scope>
		</dependency>
		<!-- For Toecount -->
		<dependency>
			<groupId>com.sanityinc</groupId>
			<artifactId>jargs</artifactId>
			<version>2.0-SNAPSHOT</version>
		</dependency>

	</dependencies>
	<build>
		<pluginManagement>
			<plugins>
				<plugin><!-- mvn help:effective-pom will otherwise tell it just defaults 
						to 2.3.2 - which does not release in the maven repo, and neither shows any 
						error message :-( -->
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>2.5.3</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>

			<!-- toecount -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>org.mustangproject.toecount.Toecount</mainClass>
						</manifest>
					</archive>
					<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>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>


			<!-- /toecount -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.0.1</version>
				<configuration>

					<excludePackageNames>org.mustangproject.ZUGFeRD.model.*</excludePackageNames>

				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8.2</version>
				<configuration>
					<altDeploymentRepository>internal.repo::default::file://${project.build.directory}/mvn-repo
					</altDeploymentRepository>
				</configuration>
			</plugin>
			<plugin>
				<groupId>com.github.github</groupId>
				<artifactId>site-maven-plugin</artifactId>
				<version>0.12</version>
				<configuration>
					<message>Maven artifacts for ${project.version}</message>
					<!-- git commit message -->
					<noJekyll>true</noJekyll>
					<!-- disable webpage processing -->
					<outputDirectory>${project.build.directory}/mvn-repo</outputDirectory>
					<!-- matches distribution management repository url above -->
					<branch>refs/heads/mvn-repo</branch>
					<!-- remote branch name -->
					<includes>
						<include>**/*</include>
					</includes>
					<merge>true</merge>
					<repositoryName>mustangproject</repositoryName>
					<!-- github repo name -->
					<repositoryOwner>ZUGFeRD</repositoryOwner>
					<!-- github username -->
				</configuration>
				<executions>
					<!-- run site-maven-plugin's 'site' target as part of the build's normal 
						'deploy' phase -->
					<execution>
						<goals>
							<goal>site</goal>
						</goals>
						<phase>deploy</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>2.4.3</version>
				<configuration>
					<transformers>
						<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
							<mainClass>org.mustangproject.toecount.Toecount</mainClass>
						</transformer>
					</transformers>
					<minimizeJar>true</minimizeJar>
					<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>
						<filter>
							<artifact>com.sun.xml.bind:jaxb-impl</artifact>
							<includes>
								<include>**</include>
							</includes>
						</filter>
						<filter>
							<artifact>com.sun.xml.bind:jaxb-core</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>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jaxb2-maven-plugin</artifactId>
				<version>2.3.1</version>
				<executions>
					<execution>
						<id>xjc</id>
						<goals>
							<goal>xjc</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<target>2.1</target>
					<packageName>org.mustangproject.ZUGFeRD.model</packageName>
					<sources>
						<source>src/main/resources/schema/ZUGFeRD1p0.xsd</source>
					</sources>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<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>
