<?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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>de.invesdwin</groupId>
		<artifactId>invesdwin-bom</artifactId>
		<version>1.0.14-SNAPSHOT</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>
	<artifactId>invesdwin-context-parent</artifactId>
	<version>1.0.3-SNAPSHOT</version>
	<packaging>pom</packaging>

	<modules>
		<module>invesdwin-context</module>
		<module>invesdwin-context-integration</module>
		<module>invesdwin-context-webserver</module>
		<module>invesdwin-context-jasperreports</module>
		<module>invesdwin-context-jfreechart</module>
	</modules>

	<licenses>
		<license>
			<name>GNU Lesser General Public License (LGPL), Version 3.0</name>
			<url>http://www.gnu.org/licenses/lgpl-3.0.html</url>
		</license>
	</licenses>

	<properties>
		<project.version.invesdwin-context>${project.version}</project.version.invesdwin-context>

		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<version.compiler>1.8</version.compiler>

		<project.version.invesdwin-maven-plugin>1.0.10-SNAPSHOT</project.version.invesdwin-maven-plugin>
		<project.version.invesdwin-checkstyle-plugin>1.0.3</project.version.invesdwin-checkstyle-plugin>
		<project.version.invesdwin-nowicket>1.0.3-SNAPSHOT</project.version.invesdwin-nowicket>

		<version.maven-source-plugin>3.0.1</version.maven-source-plugin>
		<version.build-helper-maven-plugin>3.0.0</version.build-helper-maven-plugin>
		<version.maven-processor-plugin>3.3.3</version.maven-processor-plugin>
		<version.maven-jar-plugin>3.1.1</version.maven-jar-plugin>
		<version.maven-war-plugin>3.2.2</version.maven-war-plugin>
		<version.maven-bundle-plugin>5.1.2</version.maven-bundle-plugin>

		<version.launch4j-maven-plugin>1.7.25</version.launch4j-maven-plugin>
		<version.maven-resources-plugin>3.1.0</version.maven-resources-plugin>
		<version.maven-checkstyle-plugin>3.0.0</version.maven-checkstyle-plugin>
		<version.maven-assembly-plugin>3.1.1</version.maven-assembly-plugin>
		<version.appassembler-maven-plugin>2.0.0</version.appassembler-maven-plugin>
		<version.maven-antrun-plugin>1.8</version.maven-antrun-plugin>
		<version.ant-contrib>1.0b3</version.ant-contrib>
		<version.ant-nodeps>1.8.1</version.ant-nodeps>
		<version.maven-dependency-plugin>3.1.1</version.maven-dependency-plugin>
		<version.maven-dependency-analyzer>1.11.1</version.maven-dependency-analyzer>
		<version.versions-maven-plugin>2.5</version.versions-maven-plugin>
		<version.checkstyle>8.29</version.checkstyle>
		<version.maven-replacer-plugin>1.5.3</version.maven-replacer-plugin>
		<version.keytool-maven-plugin>1.5</version.keytool-maven-plugin>

		<version.jboss-transaction-api_1.1_spec>1.0.1.Final</version.jboss-transaction-api_1.1_spec>
		<version.javax.annotation-api>1.3.2</version.javax.annotation-api>

		<version.commons-configuration>1.10</version.commons-configuration>
		<version.commons-configuration2>2.7</version.commons-configuration2>
		<version.commons-pool2>2.8.1</version.commons-pool2>
		<version.commons-compress>1.20</version.commons-compress>

		<version.logback>1.2.0</version.logback>
		<version.janino>2.7.8</version.janino>

		<!-- reports -->
		<version.jfreechart>1.5.0</version.jfreechart>
		<version.dynamicreports>6.11.1</version.dynamicreports>
		<version.jasperreports>6.14.0</version.jasperreports>
		<version.batik>1.13</version.batik>
		<version.xml-apis>1.4.01</version.xml-apis>
		<version.itext>2.1.7.js8</version.itext>
		<version.bcprov>1.68</version.bcprov>
		<version.poi>5.0.0</version.poi>

		<!-- integration -->
		<version.spring-batch>4.2.4.RELEASE</version.spring-batch>
		<version.spring-retry>1.3.0</version.spring-retry>
		<version.spring-integration>5.3.3.RELEASE</version.spring-integration>
		<version.spring-ws>3.0.9.RELEASE</version.spring-ws>

		<version.h2>1.4.200</version.h2>
		<version.mysql-connector-java>8.0.21</version.mysql-connector-java>
		<version.postgresql>42.2.14</version.postgresql>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-nowicket-parent</artifactId>
				<version>${project.version.invesdwin-nowicket}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-maven-plugin</artifactId>
				<version>${project.version.invesdwin-maven-plugin}</version>
			</dependency>

			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context</artifactId>
				<version>${project.version.invesdwin-context}</version>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context</artifactId>
				<version>${project.version.invesdwin-context}</version>
				<type>test-jar</type>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-webserver</artifactId>
				<version>${project.version.invesdwin-context}</version>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-jasperreports</artifactId>
				<version>${project.version.invesdwin-context}</version>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-jfreechart</artifactId>
				<version>${project.version.invesdwin-context}</version>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-integration</artifactId>
				<version>${project.version.invesdwin-context}</version>
			</dependency>

			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-maven-plugin-util</artifactId>
				<version>${project.version.invesdwin-maven-plugin}</version>
			</dependency>

			<dependency>
				<groupId>org.jboss.spec.javax.transaction</groupId>
				<artifactId>jboss-transaction-api_1.1_spec</artifactId>
				<version>${version.jboss-transaction-api_1.1_spec}</version>
			</dependency>
			<dependency>
				<groupId>javax.annotation</groupId>
				<artifactId>javax.annotation-api</artifactId>
				<version>${version.javax.annotation-api}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-configuration2</artifactId>
				<version>${version.commons-configuration2}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-configuration</groupId>
				<artifactId>commons-configuration</artifactId>
				<version>${version.commons-configuration}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-pool2</artifactId>
				<version>${version.commons-pool2}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-compress</artifactId>
				<version>${version.commons-compress}</version>
				<exclusions>
					<exclusion>
						<artifactId>xz</artifactId>
						<groupId>org.tukaani</groupId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${version.logback}</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-core</artifactId>
				<version>${version.logback}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.janino</groupId>
				<artifactId>janino</artifactId>
				<version>${version.janino}</version>
			</dependency>

			<dependency>
				<groupId>com.puppycrawl.tools</groupId>
				<artifactId>checkstyle</artifactId>
				<version>${version.checkstyle}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<artifactId>tools</artifactId>
						<groupId>com.sun</groupId>
					</exclusion>
					<exclusion>
						<artifactId>google-collections</artifactId>
						<groupId>com.google.collections</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-cli</artifactId>
						<groupId>commons-cli</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>${version.maven-shade-plugin}</version>
				<exclusions>
					<exclusion>
						<artifactId>maven-plugin-api</artifactId>
						<groupId>org.apache.maven</groupId>
					</exclusion>
					<exclusion>
						<artifactId>maven-model</artifactId>
						<groupId>org.apache.maven</groupId>
					</exclusion>
					<exclusion>
						<artifactId>maven-core</artifactId>
						<groupId>org.apache.maven</groupId>
					</exclusion>
					<exclusion>
						<artifactId>maven-compat</artifactId>
						<groupId>org.apache.maven</groupId>
					</exclusion>
					<exclusion>
						<artifactId>maven-artifact</artifactId>
						<groupId>org.apache.maven</groupId>
					</exclusion>
					<exclusion>
						<artifactId>plexus-container-default</artifactId>
						<groupId>org.codehaus.plexus</groupId>
					</exclusion>
					<exclusion>
						<artifactId>asm</artifactId>
						<groupId>asm</groupId>
					</exclusion>
					<exclusion>
						<artifactId>asm-commons</artifactId>
						<groupId>asm</groupId>
					</exclusion>
					<exclusion>
						<artifactId>asm</artifactId>
						<groupId>org.ow2.asm</groupId>
					</exclusion>
					<exclusion>
						<artifactId>asm-commons</artifactId>
						<groupId>org.ow2.asm</groupId>
					</exclusion>
					<exclusion>
						<artifactId>maven-dependency-tree</artifactId>
						<groupId>org.apache.maven.shared</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jdependency</artifactId>
						<groupId>org.vafer</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-checkstyle-plugin</artifactId>
				<version>${project.version.invesdwin-checkstyle-plugin}</version>
			</dependency>

			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>${version.h2}</version>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${version.mysql-connector-java}</version>
			</dependency>
			<dependency>
				<groupId>org.postgresql</groupId>
				<artifactId>postgresql</artifactId>
				<version>${version.postgresql}</version>
			</dependency>

			<!-- reports -->
			<dependency>
				<groupId>org.jfree</groupId>
				<artifactId>jfreechart</artifactId>
				<version>${version.jfreechart}</version>
				<exclusions>
					<exclusion>
						<artifactId>xml-apis</artifactId>
						<groupId>xml-apis</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sf.jasperreports</groupId>
				<artifactId>jasperreports</artifactId>
				<version>${version.jasperreports}</version>
				<exclusions>
					<exclusion>
						<artifactId>jcommon</artifactId>
						<groupId>jfree</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jcommon</artifactId>
						<groupId>org.jfree</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jfreechart</artifactId>
						<groupId>jfree</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jfreechart</artifactId>
						<groupId>org.jfree</groupId>
					</exclusion>
					<exclusion>
						<artifactId>xml-apis</artifactId>
						<groupId>xml-apis</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jdtcore</artifactId>
						<groupId>eclipse</groupId>
					</exclusion>
					<exclusion>
						<artifactId>castor</artifactId>
						<groupId>org.codehaus.castor</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<artifactId>olap4j</artifactId>
						<groupId>org.olap4j</groupId>
					</exclusion>
					<exclusion>
						<artifactId>castor-xml</artifactId>
						<groupId>org.codehaus.castor</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jackson-core</artifactId>
						<groupId>com.fasterxml.jackson.core</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jackson-databind</artifactId>
						<groupId>com.fasterxml.jackson.core</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jackson-annotations</artifactId>
						<groupId>com.fasterxml.jackson.core</groupId>
					</exclusion>
					<exclusion>
						<artifactId>lucene-core</artifactId>
						<groupId>org.apache.lucene</groupId>
					</exclusion>
					<exclusion>
						<artifactId>lucene-analyzers-common</artifactId>
						<groupId>org.apache.lucene</groupId>
					</exclusion>
					<exclusion>
						<artifactId>lucene-queryparser</artifactId>
						<groupId>org.apache.lucene</groupId>
					</exclusion>
					<exclusion>
						<artifactId>ecj</artifactId>
						<groupId>org.eclipse.jdt.core.compiler</groupId>
					</exclusion>
					<exclusion>
						<artifactId>core</artifactId>
						<groupId>com.google.zxing</groupId>
					</exclusion>
					<exclusion>
						<groupId>com.ibm.icu</groupId>
						<artifactId>icu4j</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.dynamicreports</groupId>
				<artifactId>dynamicreports-core</artifactId>
				<version>${version.dynamicreports}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<artifactId>jdtcore</artifactId>
						<groupId>eclipse</groupId>
					</exclusion>
					<exclusion>
						<artifactId>castor</artifactId>
						<groupId>org.codehaus.castor</groupId>
					</exclusion>
					<exclusion>
						<artifactId>barcode4j</artifactId>
						<groupId>net.sf.barcode4j</groupId>
					</exclusion>
					<exclusion>
						<artifactId>bcprov-jdk14</artifactId>
						<groupId>bouncycastle</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${version.bcprov}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcmail-jdk15on</artifactId>
				<version>${version.bcprov}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpkix-jdk15on</artifactId>
				<version>${version.bcprov}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-svggen</artifactId>
				<version>${version.batik}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.xmlgraphics</groupId>
				<artifactId>batik-bridge</artifactId>
				<version>${version.batik}</version>
				<exclusions>
					<exclusion>
						<artifactId>xalan</artifactId>
						<groupId>xalan</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.lowagie</groupId>
				<artifactId>itext</artifactId>
				<version>${version.itext}</version>
				<exclusions>
					<exclusion>
						<artifactId>bcmail-jdk14</artifactId>
						<groupId>bouncycastle</groupId>
					</exclusion>
					<exclusion>
						<artifactId>bcprov-jdk14</artifactId>
						<groupId>bouncycastle</groupId>
					</exclusion>
					<exclusion>
						<artifactId>bctsp-jdk14</artifactId>
						<groupId>org.bouncycastle</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>xml-apis</groupId>
				<artifactId>xml-apis</artifactId>
				<version>${version.xml-apis}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi</artifactId>
				<version>${version.poi}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
				<version>${version.poi}</version>
			</dependency>

			<dependency>
				<groupId>org.springframework.batch</groupId>
				<artifactId>spring-batch-core</artifactId>
				<version>${version.spring-batch}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.batch</groupId>
				<artifactId>spring-batch-integration</artifactId>
				<version>${version.spring-batch}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.batch</groupId>
				<artifactId>spring-batch-infrastructure</artifactId>
				<version>${version.spring-batch}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.retry</groupId>
				<artifactId>spring-retry</artifactId>
				<version>${version.spring-retry}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-core</artifactId>
				<version>${version.spring-integration}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-file</artifactId>
				<version>${version.spring-integration}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-http</artifactId>
				<version>${version.spring-integration}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-jmx</artifactId>
				<version>${version.spring-integration}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-ip</artifactId>
				<version>${version.spring-integration}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-xml</artifactId>
				<version>${version.spring-integration}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<artifactId>stax-api</artifactId>
						<groupId>javax.xml.stream</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.ws</groupId>
				<artifactId>spring-xml</artifactId>
				<version>${version.spring-ws}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<!-- test infrastructure classes (abstract tests and mocks) are in src/main/java 
			to prevent the need of -test module hell. These dependencies are in scope 
			provided for all submodules, so that compilation works with them, but running 
			a deployed application with those will fail -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>provided</scope>
		</dependency>

		<!-- jpa drivers are required for running tests, but are not needed for 
			src/main/java compilation. Thus these dependencies are in scope test for 
			all submodules per default. The distribution will choose which driver to 
			actually deploy with a seperate dependency. -->
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
			</resource>
			<resource>
				<filtering>false</filtering>
				<directory>${basedir}/src/main/java</directory>
				<includes>
					<include>**/*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
		</resources>
		<testResources>
			<testResource>
				<directory>${basedir}/src/test/resources</directory>
			</testResource>
			<testResource>
				<filtering>false</filtering>
				<directory>${basedir}/src/test/java</directory>
				<includes>
					<include>**/*</include>
				</includes>
				<excludes>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
		</testResources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>de.invesdwin</groupId>
					<artifactId>invesdwin-maven-plugin</artifactId>
					<version>${project.version.invesdwin-maven-plugin}</version>
					<executions>
						<execution>
							<goals>
								<goal>initialize</goal>
								<goal>generate-sources</goal>
								<goal>compile</goal>
							</goals>
							<configuration>
								<useInvesdwinEclipseSettings>true</useInvesdwinEclipseSettings>
								<codeComplianceLevel>${version.compiler}</codeComplianceLevel>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>${version.maven-source-plugin}</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.bsc.maven</groupId>
					<artifactId>maven-processor-plugin</artifactId>
					<version>${version.maven-processor-plugin}</version>
					<executions>
						<execution>
							<id>process</id>
							<goals>
								<goal>process</goal>
							</goals>
							<phase>generate-sources</phase>
							<configuration>
								<outputDirectory>${project.build.directory}/generated-sources/apt</outputDirectory>
								<failOnError>false</failOnError>
							</configuration>
						</execution>
						<execution>
							<id>process-test</id>
							<goals>
								<goal>process-test</goal>
							</goals>
							<phase>generate-test-sources</phase>
							<configuration>
								<outputDirectory>${project.build.directory}/generated-test-sources/apt</outputDirectory>
								<failOnError>false</failOnError>
							</configuration>
						</execution>
					</executions>
					<dependencies>
						<!-- jpamodelgen processor needs jaxb -->
						<dependency>
							<groupId>org.glassfish.jaxb</groupId>
							<artifactId>jaxb-runtime</artifactId>
							<version>${version.jaxb}</version>
						</dependency>
						<!-- norva needs commons-lang3 -->
						<dependency>
							<groupId>org.apache.commons</groupId>
							<artifactId>commons-lang3</artifactId>
							<version>${version.commons-lang3}</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${version.build-helper-maven-plugin}</version>
					<executions>
						<execution>
							<id>add-source</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>add-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>${project.build.directory}/generated-sources/apt</source>
									<source>${project.build.directory}/generated-sources/invesdwin</source>
								</sources>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${version.maven-jar-plugin}</version>
					<executions>
						<execution>
							<id>default-jar</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
						<execution>
							<id>test-jar</id>
							<goals>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<archive>
							<index>true</index>
							<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
							<forced>true</forced>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${version.maven-war-plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>${version.maven-bundle-plugin}</version>
					<extensions>true</extensions>
					<executions>
						<execution>
							<id>bundle-manifest</id>
							<phase>process-classes</phase>
							<goals>
								<goal>manifest</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<supportedProjectTypes>
							<supportedProjectType>jar</supportedProjectType>
							<supportedProjectType>bundle</supportedProjectType>
							<supportedProjectType>war</supportedProjectType>
						</supportedProjectTypes>
						<instructions>
							<Private-Package>.*.internal.*</Private-Package>
							<Export-Package>!.*.internal.*, *</Export-Package>
							<Import-Package>*</Import-Package>
						</instructions>
					</configuration>
				</plugin>
				<plugin>
					<!-- distributions can use this plugin in profiles to customize properties 
						for different environments -->
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${version.maven-resources-plugin}</version>
				</plugin>
				<plugin>
					<!-- distributions need to add this plugin manually to build a uber-jar -->
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<executions>
						<execution>
							<phase>package</phase>
							<goals>
								<goal>shade</goal>
							</goals>
						</execution>
					</executions>
					<dependencies>
						<dependency>
							<groupId>de.invesdwin</groupId>
							<artifactId>invesdwin-maven-plugin</artifactId>
							<version>${project.version.invesdwin-maven-plugin}</version>
						</dependency>
					</dependencies>
					<configuration>
						<shadedArtifactAttached>true</shadedArtifactAttached>
						<shadedClassifierName>standalone</shadedClassifierName>
						<transformers>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.PluginXmlResourceTransformer" />
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/spring.handlers</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/spring.schemas</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/spring.tooling</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/spring.factories</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/cxf/bus-extensions.txt</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>META-INF/mime.types</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
								<resource>jasperreports_extension.properties</resource>
							</transformer>
							<transformer
								implementation="de.invesdwin.maven.plugin.shade.WebFragmentTransformer">
								<resource>META-INF/web-fragment.xml</resource>
							</transformer>
							<transformer
								implementation="de.invesdwin.maven.plugin.shade.WebFragmentTransformer">
								<resource>META-INF/web/web-fragment.xml</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
								<resource>META-INF/aop.xml</resource>
							</transformer>
							<transformer
								implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
								<resource>META-INF/wsdl.plugin.xml</resource>
							</transformer>
						</transformers>
						<filters>
							<filter>
								<artifact>*:*</artifact>
								<excludes>
									<exclude>META-INF/*.SF</exclude>
									<exclude>META-INF/*.DSA</exclude>
									<exclude>META-INF/*.RSA</exclude>
								</excludes>
							</filter>
						</filters>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.akathist.maven.plugins.launch4j</groupId>
					<artifactId>launch4j-maven-plugin</artifactId>
					<version>${version.launch4j-maven-plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>${version.maven-checkstyle-plugin}</version>
					<configuration>
						<configLocation>${basedir}/.settings/checkstyle.config.xml</configLocation>
						<propertiesLocation>${basedir}/.settings/checkstyle.config.properties</propertiesLocation>
					</configuration>
					<dependencies>
						<dependency>
							<!-- needs custom checks -->
							<groupId>de.invesdwin</groupId>
							<artifactId>invesdwin-checkstyle-plugin</artifactId>
							<version>${project.version.invesdwin-checkstyle-plugin}</version>
						</dependency>
						<dependency>
							<groupId>com.puppycrawl.tools</groupId>
							<artifactId>checkstyle</artifactId>
							<version>${version.checkstyle}</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${version.maven-assembly-plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>appassembler-maven-plugin</artifactId>
					<version>${version.appassembler-maven-plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>${version.maven-antrun-plugin}</version>
					<dependencies>
						<dependency>
							<groupId>ant-contrib</groupId>
							<artifactId>ant-contrib</artifactId>
							<version>${version.ant-contrib}</version>
							<exclusions>
								<exclusion>
									<groupId>ant</groupId>
									<artifactId>ant</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
						<dependency>
							<groupId>org.apache.ant</groupId>
							<artifactId>ant-nodeps</artifactId>
							<version>${version.ant-nodeps}</version>
						</dependency>
					</dependencies>
					<executions>
						<execution>
							<!-- create manifest if maven-bundle-plugin is not used, so that maven-jar-plugin 
								does not crash with an exception because of missing manifest file -->
							<id>create-manifest-if-missing</id>
							<phase>prepare-package</phase>
							<goals>
								<goal>run</goal>
							</goals>
							<configuration>
								<target>
									<ac:if xmlns:ac="antlib:net.sf.antcontrib">
										<and>
											<available file="${project.build.outputDirectory}"
												type="dir" />
											<not>
												<available
													file="${project.build.outputDirectory}/META-INF/MANIFEST.MF" />
											</not>
										</and>
										<then>
											<mkdir dir="${project.build.outputDirectory}/META-INF/" />
											<manifest
												file="${project.build.outputDirectory}/META-INF/MANIFEST.MF">
												<attribute name="Built-By" value="${user.name}" />
												<attribute name="Specification-Title"
													value="${project.name}" />
												<attribute name="Specification-Version"
													value="${project.version}" />
												<attribute name="Specification-Vendor-Id"
													value="${project.groupId}" />
											</manifest>
										</then>
									</ac:if>
								</target>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>${version.maven-dependency-plugin}</version>
					<configuration>
						<!-- just warn, since there might be legitimate reasons -->
						<failOnWarning>false</failOnWarning>
						<ignoreNonCompile>true</ignoreNonCompile>
					</configuration>
					<executions>
						<execution>
							<id>process-test-classes-dependency-analyze</id>
							<phase>process-test-classes</phase>
							<goals>
								<goal>analyze-only</goal>
							</goals>
						</execution>
					</executions>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.shared</groupId>
							<artifactId>maven-dependency-analyzer</artifactId>
							<version>${version.maven-dependency-analyzer}</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>${version.versions-maven-plugin}</version>
				</plugin>
				<plugin>
					<groupId>com.google.code.maven-replacer-plugin</groupId>
					<artifactId>replacer</artifactId>
					<version>${version.maven-replacer-plugin}</version>
					<executions>
						<execution>
							<phase>generate-sources</phase>
							<goals>
								<goal>replace</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<basedir>${basedir}</basedir>
						<includes>
							<include>src/**/*.properties</include>
						</includes>
						<encoding>ISO-8859-1</encoding>
						<replacements>
							<replacement>
								<token>Ä</token>
								<value>\\u00C4</value>
							</replacement>
							<replacement>
								<token>ä</token>
								<value>\\u00E4</value>
							</replacement>
							<replacement>
								<token>Ö</token>
								<value>\\u00D6</value>
							</replacement>
							<replacement>
								<token>ö</token>
								<value>\\u00F6</value>
							</replacement>
							<replacement>
								<token>Ü</token>
								<value>\\u00DC</value>
							</replacement>
							<replacement>
								<token>ü</token>
								<value>\\u00FC</value>
							</replacement>
							<replacement>
								<token>ß</token>
								<value>\\u00DF</value>
							</replacement>
						</replacements>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>keytool-maven-plugin</artifactId>
					<version>${version.keytool-maven-plugin}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.bsc.maven</groupId>
				<artifactId>maven-processor-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.google.code.maven-replacer-plugin</groupId>
				<artifactId>replacer</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>${version.maven-checkstyle-plugin}</version>
				<configuration>
					<configLocation>${basedir}/.settings/checkstyle.config.xml</configLocation>
					<propertiesLocation>${basedir}/.settings/checkstyle.config.properties</propertiesLocation>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<distributionManagement>
		<repository>
			<id>invesdwin-oss</id>
			<name>invesdwin-oss</name>
			<url>https://invesdwin.de/repo/invesdwin-oss</url>
		</repository>
		<snapshotRepository>
			<id>invesdwin-oss</id>
			<name>invesdwin-oss</name>
			<url>https://invesdwin.de/repo/invesdwin-oss</url>
		</snapshotRepository>
	</distributionManagement>

	<repositories>
		<repository>
			<id>invesdwin-oss</id>
			<url>https://invesdwin.de/repo/invesdwin-oss-remote</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>invesdwin-oss</id>
			<url>https://invesdwin.de/repo/invesdwin-oss-remote</url>
		</pluginRepository>
	</pluginRepositories>

	<scm>
		<url>https://github.com/invesdwin/invesdwin-context</url>
		<connection>scm:git:https://github.com/invesdwin/invesdwin-context.git</connection>
		<tag>HEAD</tag>
	</scm>

	<ciManagement>
		<system>jenkins</system>
		<url>https://invesdwin.de/jenkins/job/dgr-deploy-invesdwin-context/</url>
	</ciManagement>

</project>
