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

	<parent>
		<groupId>com.blazebit</groupId>
		<artifactId>blazebit-parent</artifactId>
		<version>8</version>
	</parent>

	<artifactId>blaze-persistence</artifactId>
	<version>1.1.0</version>
	<packaging>pom</packaging>

	<name>Blazebit Persistence</name>
	<url>http://blazebit.com/persistence</url>
	<description>Persistence Utilities for Blazebit Projects</description>

	<modules>
		<module>core</module>
		<module>entity-view</module>
		<module>integration</module>
		<module>testsuite-base</module>
		<module>documentation</module>
	</modules>

	<issueManagement>
		<system>github</system>
		<url>https://github.com/Blazebit/blaze-persistence/issues</url>
	</issueManagement>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

	<organization>
		<name>Blazebit</name>
		<url>http://www.blazebit.com</url>
	</organization>

	<scm>
		<connection>scm:git:git@github.com:Blazebit/blaze-persistence.git</connection>
		<developerConnection>scm:git:git@github.com:Blazebit/blaze-persistence.git</developerConnection>
		<url>git@github.com:Blazebit/blaze-persistence.git</url>
		<tag>1.1.0</tag>
	</scm>

	<developers>
		<developer>
			<id>christian</id>
			<name>Christian Beikov</name>
			<email>christian@blazebit.com</email>
			<organization>Blazebit</organization>
			<organizationUrl>http://www.blazebit.com</organizationUrl>
			<timezone>UTC+1</timezone>
			<roles>
				<role>Project Owner</role>
				<role>Committer</role>
			</roles>
		</developer>
		<developer>
			<id>cchet</id>
			<name>Thomas Herzog</name>
			<email>t.herzog@curecomp.com</email>
			<organization>Curecomp</organization>
			<organizationUrl>http://www.curecomp.com</organizationUrl>
			<timezone>UTC+1</timezone>
			<roles>
				<role>Committer</role>
			</roles>
		</developer>
		<developer>
			<id>Mobe91</id>
			<name>Moritz Becker</name>
			<email>m.becker@curecomp.com</email>
			<organization>Curecomp</organization>
			<organizationUrl>http://www.curecomp.com</organizationUrl>
			<timezone>UTC+1</timezone>
			<roles>
				<role>Committer</role>
			</roles>
		</developer>
	</developers>

	<properties>
		<blaze-persistence.codename>Loki</blaze-persistence.codename>

		<version.blazecbav>0.2.0</version.blazecbav>
		<version.blazeutils>0.1.10</version.blazeutils>
		<version.deltaspike>1.0.1</version.deltaspike>
		<version.junit>4.11</version.junit>

		<!-- Minimum version is 4.2.8.Final -->
		<!-- 4.2.15.Final has a bug regarding naming strategies -->
		<version.hibernate-4.2>4.2.21.Final</version.hibernate-4.2>
		<version.hibernate-4.3>4.3.11.Final</version.hibernate-4.3>
		<version.hibernate-5>5.0.7.Final</version.hibernate-5>
		<version.hibernate-5.1>5.1.0.Final</version.hibernate-5.1>

		<version.datanucleus.base-4>4.1.8</version.datanucleus.base-4>
		<version.datanucleus.rdbms-4>4.1.10</version.datanucleus.rdbms-4>
		<version.datanucleus.api-jpa-4>4.1.8</version.datanucleus.api-jpa-4>
		<version.datanucleus.jpa-4>4.0.5</version.datanucleus.jpa-4>
		<version.datanucleus.base-5>5.0.0-m1</version.datanucleus.base-5>
		<version.datanucleus.rdbms-5>5.0.0-m1</version.datanucleus.rdbms-5>
		<version.datanucleus.api-jpa-5>5.0.0-m1</version.datanucleus.api-jpa-5>
		<version.datanucleus.jpa-5>5.0.0-m1</version.datanucleus.jpa-5>
		
		<version.eclipselink>2.6.2</version.eclipselink>
		<version.openjpa>2.4.0</version.openjpa>

		<version.openejb>4.6.0</version.openejb>
		<version.openejb.javaee-api>6.0-4</version.openejb.javaee-api>

		<!-- Plugin versions -->
		<version.processor.plugin>2.2.4</version.processor.plugin>
		<version.injection.plugin>1.0.2</version.injection.plugin>
		<version.release.plugin>2.5.1</version.release.plugin>
		<version.surefire.plugin>2.19.1</version.surefire.plugin>
		
        <!-- JVM values for surefire plugin -->
        <!-- Has a default value for Travis; MUST be set to smaller for 32-bit environment -->
        <surefire.jvm.params>-Xms1024m -Xmx2048m</surefire.jvm.params>
	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- Project dependencies -->

			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-apt-utils</artifactId>
				<version>${version.blazeutils}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-common-utils</artifactId>
				<version>${version.blazeutils}</version>
			</dependency>

			<!-- Module dependencies -->

			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-core-api</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-core-parser</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-core-impl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-entity-view-api</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-entity-view-impl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-jpa-base</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-hibernate-base</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-hibernate-4</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-hibernate-5</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-datanucleus</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-eclipselink</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-integration-openjpa</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-testsuite-base-jpa</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-testsuite-base-hibernate</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-testsuite-base-datanucleus</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-testsuite-base-eclipselink</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>blaze-persistence-testsuite-base-openjpa</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
		        <groupId>${project.groupId}</groupId>
		        <artifactId>blaze-persistence-integration-base-cdi</artifactId>
		        <version>${project.version}</version>
			</dependency>
			<dependency>
		        <groupId>${project.groupId}</groupId>
		        <artifactId>blaze-persistence-integration-entity-view-cdi</artifactId>
		        <version>${project.version}</version>
			</dependency>

			<!-- Platform dependencies -->

			<dependency>
				<groupId>org.apache.openejb</groupId>
				<artifactId>javaee-api</artifactId>
				<version>${version.openejb.javaee-api}</version>
				<scope>provided</scope>
			</dependency>

			<!-- Test -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${version.junit}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.googlecode.catch-exception</groupId>
				<artifactId>catch-exception</artifactId>
				<version>1.2.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.deltaspike.core</groupId>
				<artifactId>deltaspike-core-api</artifactId>
				<version>${version.deltaspike}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.deltaspike.core</groupId>
				<artifactId>deltaspike-core-impl</artifactId>
				<version>${version.deltaspike}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.openejb</groupId>
				<artifactId>openejb-core</artifactId>
				<version>${version.openejb}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.deltaspike.cdictrl</groupId>
				<artifactId>deltaspike-cdictrl-api</artifactId>
				<version>${version.deltaspike}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.deltaspike.cdictrl</groupId>
				<artifactId>deltaspike-cdictrl-openejb</artifactId>
				<version>${version.deltaspike}</version>
				<scope>test</scope>
			</dependency>

			<!-- RDBMS driver versions -->
			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>1.4.183</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.36</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.postgresql</groupId>
				<artifactId>postgresql</artifactId>
				<version>9.4-1201-jdbc41</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.xerial</groupId>
				<artifactId>sqlite-jdbc</artifactId>
				<version>3.8.11.2</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.firebirdsql.jdbc</groupId>
				<artifactId>jaybird-jdk16</artifactId>
				<version>2.2.8</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.oracle</groupId>
				<artifactId>ojdbc14</artifactId>
				<version>10.2.0.4.0</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.bsc.maven</groupId>
					<artifactId>maven-processor-plugin</artifactId>
					<version>${version.processor.plugin}</version>
				</plugin>
				<plugin>
					<groupId>org.jboss.maven.plugins</groupId>
					<artifactId>maven-injection-plugin</artifactId>
					<version>${version.injection.plugin}</version>
				</plugin>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.asciidoctor
										</groupId>
										<artifactId>
											asciidoctor-maven-plugin
										</artifactId>
										<versionRange>
											[1.5.0,)
										</versionRange>
										<goals>
											<goal>
												process-asciidoc
											</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.jboss.maven.plugins
										</groupId>
										<artifactId>
											maven-injection-plugin
										</artifactId>
										<versionRange>
											[1.0.2,)
										</versionRange>
										<goals>
											<goal>bytecode</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${maven.compiler.argument.source}</source>
					<target>${maven.compiler.argument.target}</target>
					<!-- Disable annotation processing via compiler plugin. -->
					<compilerArgument>-proc:none</compilerArgument>
				</configuration>
			</plugin>
			<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
				<executions>
                    <execution>
                        <id>default-test</id>
                        <configuration>
                            <!-- Travis build workaround -->
                            <argLine>${surefire.jvm.params}</argLine>
                            <skipTests>${skipTests}</skipTests>
                        </configuration>
                    </execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<pushChanges>false</pushChanges>
					<localCheckout>true</localCheckout>
					<autoVersionSubmodules>true</autoVersionSubmodules>

					<preparationGoals>clean install</preparationGoals>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<!-- It disables javadoc doclint for JDK > 8 -->
			<id>javadoc-xdoclint-disable-jdk8+</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<build>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.apache.maven.plugins</groupId>
							<artifactId>maven-javadoc-plugin</artifactId>
							<configuration>
								<additionalJOption>-Xdoclint:none</additionalJOption>
							</configuration>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
	</profiles>
</project>
