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

	<groupId>com.otherproject</groupId>
	<artifactId>otherproject-noparent-test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<properties>
		<project.version.invesdwin-context>1.0.4-SNAPSHOT</project.version.invesdwin-context>
		<project.version.invesdwin-context-persistence>1.0.4-SNAPSHOT</project.version.invesdwin-context-persistence>
		<project.version.invesdwin-context-integration>1.0.3-SNAPSHOT</project.version.invesdwin-context-integration>
		<project.version.invesdwin-context-client>1.0.3-SNAPSHOT</project.version.invesdwin-context-client>
		<project.version.invesdwin-maven-plugin>1.0.14-SNAPSHOT</project.version.invesdwin-maven-plugin>
		<version.maven-enforcer-plugin>3.6.2</version.maven-enforcer-plugin>
		<version.junit>6.0.2</version.junit>
		<version.build-helper-maven-plugin>3.6.1</version.build-helper-maven-plugin>
		<version.maven-compiler-plugin>3.14.1</version.maven-compiler-plugin>
		<version.lifecycle-mapping>1.0.0</version.lifecycle-mapping>
		<version.maven-dependency-plugin>3.9.0</version.maven-dependency-plugin>
		<version.compiler>1.8</version.compiler>
		<version.hsqldb>2.7.1</version.hsqldb>
	</properties>

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

	<dependencies>
		<!-- sometimes it is required to add top level dependencies from
		invesdwin 
			to prevent issues with conflict resolution in maven, thus here is a test 
			case that checks that no conflicts occur when all top level dependencies 
			are added (worst case); though it is recommended to use the BOM (bill of 
			materials) approach as seen in otherproject-noparent-bom-test! -->
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context</artifactId>
			<version>${project.version.invesdwin-context}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-batch</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-batch-admin</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-client-wicket</artifactId>
			<version>${project.version.invesdwin-context-client}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-client-swing</artifactId>
			<version>${project.version.invesdwin-context-client}</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-context-integration-amqp</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-jms</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-ws</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-ws-jaxws</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-integration-ws-registry</artifactId>
			<version>${project.version.invesdwin-context-integration}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-persistence-jpa</artifactId>
			<version>${project.version.invesdwin-context-persistence}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-persistence-jpa-hibernate</artifactId>
			<version>${project.version.invesdwin-context-persistence}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-persistence-jpa-datanucleus</artifactId>
			<version>${project.version.invesdwin-context-persistence}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-persistence-timeseriesdb</artifactId>
			<version>${project.version.invesdwin-context-persistence}</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-webserver</artifactId>
			<version>${project.version.invesdwin-context}</version>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-context-client-wicket-examples</artifactId>
			<version>${project.version.invesdwin-context-client}</version>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<version>${version.junit}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>${version.hsqldb}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>${version.lifecycle-mapping}</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-dependency-plugin
										</artifactId>
										<versionRange>
											[2.8,)
										</versionRange>
										<goals>
											<goal>analyze-only</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${version.maven-enforcer-plugin}</version>
				<executions>
					<execution>
						<id>enforce-banned-dependencies</id>
						<goals>
							<goal>enforce</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<fail>true</fail>
					<failFast>true</failFast>
					<rules>
						<bannedDependencies>
							<excludes>
								<exclude>org.aspectj:aspectjrt</exclude>
								<exclude>javax.servlet:servlet-api</exclude>
								<exclude>javax.xml.soap:javax.xml.soap-api</exclude>
								<exclude>
									org.eclipse.jetty.orbit:javax.servlet</exclude>
								<exclude>
									org.eclipse.jetty.websocket:websocket-client</exclude>
								<exclude>
									org.apache.geronimo.specs:geronimo-jaxb_2.1_spec</exclude>
								<exclude>javax.persistence:persistence-api</exclude>
								<exclude>
									javax.persistence:javax.persistence-api</exclude>
								<exclude>javax.jms:javax.jms-api</exclude>
								<exclude>
									javax.annotation:javax.annotation-api</exclude>
								<exclude>com.sun.xml.bind:jaxb-impl</exclude>
								<exclude>log4j:log4j</exclude>
								<exclude>ch.qos.reload4j:reload4j</exclude>
								<exclude>org.slf4j:slf4j-log4j12</exclude>
								<exclude>com.esotericsoftware:minlog</exclude>
								<exclude>javax.servlet.jsp:jsp-api</exclude>
								<exclude>javax.enterprise:cdi-api</exclude>
								<exclude>net.jcip:jcip-annotations</exclude>
								<exclude>
									com.google.code.findbugs:annotations</exclude>
								<exclude>org.glassfish:javax.servlet</exclude>
								<exclude>org.hibernate:hibernate-c3p0</exclude>
								<exclude>org.hibernate:hibernate-hikaricp</exclude>
								<exclude>
									org.hibernate.javax.persistence:hibernate-jpa-2.0-api</exclude>
								<exclude>
									org.hibernate.javax.persistence:hibernate-jpa-2.1-api</exclude>
								<exclude>
									org.hibernate.javax.persistence:hibernate-jpa-2.2-api</exclude>
								<exclude>
									backport-util-concurrent:backport-util-concurrent</exclude>
								<exclude>javassist:javassist</exclude>
								<exclude>
									org.apache.geronimo.specs:geronimo-jms_1.1_spec</exclude>
								<exclude>com.sun.jna:jna</exclude>
								<exclude>org.osgi:org.osgi.core</exclude>
								<!-- use
									jakarta.validation:jakarta.validation-api
									instead -->
								<exclude>javax.validation:validation-api</exclude>
								<!-- use
									jakarta.websocket:jakarta.websocket-api
									instead -->
								<exclude>javax.websocket:javax.websocket-api</exclude>
								<!-- use
									jakarta.websocket:jakarta.websocket-client-api
									instead -->
								<exclude>
									javax.websocket:javax.websocket-client-api</exclude>
								<!-- use caffeine instead -->
								<exclude>org.ehcache:ehcache</exclude>
								<exclude>net.sf.ehcache:ehcache-core</exclude>
								<!-- use org.lz4 version instead -->
								<exclude>net.jpountz.lz4:lz4</exclude>
								<!-- use jboss jta specification instead -->
								<exclude>
									org.apache.geronimo.specs:geronimo-jta_1.0.1B_spec</exclude>
								<exclude>javax.transaction:jta</exclude>
								<!-- use bcprov-jdk18on or bcpkix-jdk18on
									instead -->
								<exclude>org.bouncycastle:bcprov-jdk16</exclude>
								<exclude>org.bouncycastle:bcprov-jdk15</exclude>
								<exclude>org.bouncycastle:bcprov-jdk15to18</exclude>
								<exclude>org.bouncycastle:bcprov-jdk15on</exclude>
								<exclude>org.bouncycastle:bcprov-jdk15+</exclude>
								<exclude>org.bouncycastle:bcprov-jdk14</exclude>
								<exclude>org.bouncycastle:bcprov-jdk12</exclude>
								<!-- bcprov-ext is the same as bcprov just
									with some more obscure 
										algos -->
								<exclude>org.bouncycastle:bcprov-ext-jdk18on</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk16</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk15</exclude>
								<exclude>
									org.bouncycastle:bcprov-ext-jdk15to18</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk15on</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk15+</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk14</exclude>
								<exclude>org.bouncycastle:bcprov-ext-jdk12</exclude>
								<!-- use
									com.narupley:not-going-to-be-commons-ssl
									instead -->
								<exclude>ca.juliusdavies:not-yet-commons-ssl</exclude>
								<!-- use ta-lib:ta-lib from dukascopy
									instead -->
								<exclude>org.clojars.edbond:talib</exclude>
								<exclude>com.tictactec:ta-lib</exclude>
								<!-- use com.jgoodies:jgoodies-forms instead -->
								<exclude>com.jgoodies:forms</exclude>
								<!-- use org.swinglabs.swingx:swingx-all
									instead -->
								<exclude>org.swinglabs:swingx</exclude>
								<!-- use org.jfree:jfreechart instead -->
								<exclude>jfree:jfreechart</exclude>
								<!-- use jfreechart 1.5.0 instead -->
								<exclude>org.jfree:jcommon</exclude>
								<!-- use jaxb-runtime instead -->
								<exclude>javax.xml.bind:jaxb-api</exclude>
								<!-- use org.glassfish:jakarta.el instead -->
								<exclude>javax.el:javax.el-api</exclude>
								<exclude>org.glassfish:javax.el-api</exclude>
								<!-- use org.eclipse.jdt:ecj instead -->
								<exclude>org.eclipse.jdt.core.compiler:ecj</exclude>
								<!-- use org.datanucleus:javax.jdo instead -->
								<exclude>javax.jdo:jdo-api</exclude>
								<!-- use individual libs instead -->
								<exclude>javax:javaee-api</exclude>
								<!-- use
									jakarta.activation:jakarta.activation-api
									instead -->
								<exclude>
									com.sun.activation:jakarta.activation</exclude>
								<exclude>com.sun.activation:javax.activation</exclude>
								<exclude>javax.activation:activation</exclude>
								<!-- use jakarta.mail:jakarat.mail.api
									instead -->
								<exclude>javax.mail:mail</exclude>
								<exclude>com.sun.mail:javax.mail</exclude>
								<!-- use org.hibernate.validator:... instead -->
								<exclude>
									org.hibernate:hibernate-validator-annotation-processor</exclude>
								<exclude>org.hibernate:hibernate-validator</exclude>
								<!-- use
									org.junit.jupiter:junit-jupiter-engine
									instead -->
								<!--<exclude>junit:junit</exclude>-->
								<!-- it automatically connects to google
									analytics which we don't 
										want -->
								<exclude>net.openhft:chronicle-analytics</exclude>
								<!-- use
									org.apache.logging.log4j:log4j-slf4j2-impl
									instead-->
								<exclude>
									org.apache.logging.log4j:log4j-to-slf4j</exclude>
								<!-- use
									org.apache.logging.log4j:log4j-api
									instead-->
								<exclude>org.slf4j:slf4j-simple</exclude>
								<!-- use org.apache.logging.log4j:log4j-jul
									instead -->
								<exclude>org.slf4j:jul-to-slf4j</exclude>
								<!-- use
									org.apache.logging.log4j:log4j-1.2-api
									instead -->
								<exclude>org.slf4j:log4j-over-slf4j</exclude>
								<!-- use
									org.springframework:spring-boot-starter-log4j2
									instead -->
								<exclude>
									org.springframework:spring-boot-starter-logging</exclude>
								<!-- use commons-logging:commons-logging
									instead-->
								<exclude>org.springframework:spring-jcl</exclude>
								<!-- use commons-logging:commons-logging
									instead-->
								<exclude>org.slf4j:jcl-over-slf4j</exclude>
							</excludes>
						</bannedDependencies>
						<requireUpperBoundDeps>
							<excludes>
								<!-- banned -->
								<exclude>javax.el:javax.el-api</exclude>
								<exclude>javax.servlet:servlet-api</exclude>
								<exclude>javax.enterprise:cdi-api</exclude>
								<exclude>org.osgi:org.osgi.core</exclude>
								<exclude>log4j:log4j</exclude>
								<exclude>
									com.google.code.findbugs:annotations</exclude>
							</excludes>
						</requireUpperBoundDeps>
					</rules>
				</configuration>
			</plugin>
			<!-- test that xjc source code generation works -->
			<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>
						</configuration>
					</execution>
				</executions>
			</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>target/generated-sources/apt</source>
								<source>target/generated-sources/invesdwin</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${version.maven-compiler-plugin}</version>
				<configuration>
					<source>${version.compiler}</source>
					<target>${version.compiler}</target>
					<complianceLevel>${version.compiler}</complianceLevel>
					<compilerArgument>-proc:none</compilerArgument>
					<Xlint>ignore</Xlint>
				</configuration>
			</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>
			</plugin>
		</plugins>
	</build>

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


</project>
