<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<artifactId>spring-data-jdbc</artifactId>
	<version>3.0.0-SNAPSHOT</version>

	<name>Spring Data JDBC</name>
	<description>Spring Data module for JDBC repositories.</description>
	<url>https://projects.spring.io/spring-data-jdbc</url>

	<parent>
		<groupId>org.springframework.data</groupId>
		<artifactId>spring-data-relational-parent</artifactId>
		<version>3.0.0-SNAPSHOT</version>
	</parent>

	<properties>
		<java-module-name>spring.data.jdbc</java-module-name>
		<project.root>${basedir}/..</project.root>
	</properties>

	<inceptionYear>2017</inceptionYear>

	<developers>
		<developer>
			<id>schauder</id>
			<name>Jens Schauder</name>
			<email>jschauder(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<organizationUrl>https://pivotal.io</organizationUrl>
			<roles>
				<role>Project Lead</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>gregturn</id>
			<name>Greg L. Turnquist</name>
			<email>gturnquist(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<organizationUrl>https://pivotal.io</organizationUrl>
			<roles>
				<role>Project Contributor</role>
			</roles>
			<timezone>-6</timezone>
		</developer>
		<developer>
			<id>ogierke</id>
			<name>Oliver Gierke</name>
			<email>ogierke(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<organizationUrl>https://pivotal.io</organizationUrl>
			<roles>
				<role>Project Contributor</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
		<developer>
			<id>mpaluch</id>
			<name>Mark Paluch</name>
			<email>mpaluch(at)pivotal.io</email>
			<organization>Pivotal Software, Inc.</organization>
			<organizationUrl>https://pivotal.io</organizationUrl>
			<roles>
				<role>Project Contributor</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
	</developers>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.testcontainers</groupId>
				<artifactId>testcontainers-bom</artifactId>
				<version>${testcontainers}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>spring-data-relational</artifactId>
			<version>${project.version}</version>
		</dependency>

		<dependency>
			<groupId>${project.groupId}</groupId>
			<artifactId>spring-data-commons</artifactId>
			<version>${springdata.commons}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>${mybatis-spring.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>${mybatis.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>${h2.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>${hsqldb.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.awaitility</groupId>
			<artifactId>awaitility</artifactId>
			<version>${awaitility.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<version>${assertj}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql-connector-java.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>${postgresql.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.mariadb.jdbc</groupId>
			<artifactId>mariadb-java-client</artifactId>
			<version>${mariadb-java-client.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.microsoft.sqlserver</groupId>
			<artifactId>mssql-jdbc</artifactId>
			<version>${mssql.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>com.ibm.db2</groupId>
			<artifactId>jcc</artifactId>
			<version>${db2.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc8</artifactId>
			<version>${oracle.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>mysql</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>jcl-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>postgresql</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>mariadb</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>mssqlserver</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>db2</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.testcontainers</groupId>
			<artifactId>oracle-xe</artifactId>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.jmolecules.integrations</groupId>
			<artifactId>jmolecules-spring</artifactId>
			<version>${jmolecules-integration}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>com.tngtech.archunit</groupId>
			<artifactId>archunit</artifactId>
			<version>${archunit.version}</version>
			<scope>test</scope>
		</dependency>

	</dependencies>


	<profiles>
		<profile>
			<id>all-dbs</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<executions>
							<execution>
								<id>h2-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>h2</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>mysql-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>mysql</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>postgres-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>postgres</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>mariadb-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>mariadb</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>db2-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>db2</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>oracle-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>oracle</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
							<execution>
								<id>mssql-test</id>
								<phase>test</phase>
								<goals>
									<goal>test</goal>
								</goals>
								<configuration>
									<includes>
										<include>**/*IntegrationTests.java</include>
									</includes>
									<excludes>
										<exclude>**/*HsqlIntegrationTests.java</exclude>
									</excludes>
									<systemPropertyVariables>
										<spring.profiles.active>mssql</spring.profiles.active>
									</systemPropertyVariables>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

</project>
