<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-bom-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-client>1.0.3-SNAPSHOT</project.version.invesdwin-context-client>
		<project.version.invesdwin-scripting>1.0.4-SNAPSHOT</project.version.invesdwin-scripting>
		<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.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>
	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- importing the dependency management from the parent fixes the issue 
				of conflicting dependency versions by using the BOM (bill of materials) mechanism 
				from maven: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html -->
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-parent</artifactId>
				<version>${project.version.invesdwin-context}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-context-client-parent</artifactId>
				<version>${project.version.invesdwin-context-client}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>de.invesdwin</groupId>
				<artifactId>invesdwin-scripting-parent</artifactId>
				<version>${project.version.invesdwin-scripting}</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>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-scripting-r-runtime-rcaller</artifactId>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-scripting-matlab-runtime-javaoctave</artifactId>
		</dependency>
		<dependency>
			<groupId>de.invesdwin</groupId>
			<artifactId>invesdwin-scripting-python-runtime-py4j</artifactId>
		</dependency>

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.platform</groupId>
			<artifactId>junit-platform-suite-engine</artifactId>
			<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>
						<requireUpperBoundDeps />
						<bannedDependencies>
							<excludes>
								<exclude>commons-logging:commons-logging</exclude>
								<exclude>org.aspectj:aspectjrt</exclude>
								<exclude>javax.servlet:servlet-api</exclude>
								<exclude>javax.xml.soap:javax.xml.soap-api</exclude>
								<exclude>org.apache.geronimo.specs:geronimo-jaxb_2.1_spec</exclude>
								<exclude>commons-logging:commons-logging-api</exclude>
								<exclude>javax.persistence:persistence-api</exclude>
								<exclude>javax.persistence:javax.persistence-api</exclude>
								<exclude>log4j:log4j</exclude>
								<exclude>org.slf4j:slf4j-log4j12</exclude>
								<exclude>javax.servlet.jsp:jsp-api</exclude>
								<exclude>net.sf.ehcache:ehcache-core</exclude>
								<exclude>javax.transaction:jta</exclude>
								<exclude>javax.enterprise:cdi-api</exclude>
								<exclude>net.jcip:jcip-annotations</exclude>
								<exclude>org.glassfish:javax.servlet</exclude>
								<exclude>org.hibernate:hibernate-c3p0</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>
							</excludes>
						</bannedDependencies>
					</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>
							<!-- false is default <useInvesdwinEclipseSettings>false</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>
