<?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>org.irods.jargon</groupId>
		<artifactId>jargon-irods-ext</artifactId>
		<version>4.3.1.0-SNAPSHOT</version>
	</parent>
	<artifactId>irodsext-metadata-template</artifactId>
	<name>irodsext-metadata-template</name>
	<packaging>jar</packaging>
	<url>http://maven.apache.org</url>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.irods.jargon</groupId>
			<artifactId>jargon-extensions-if</artifactId>
			<version>${project.version}</version>

			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>

		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>

		</dependency>
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>

			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>

		</dependency>
		<!-- https://mvnrepository.com/artifact/org.springframework/spring-orm -->

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId>
			<version>2.2.2</version> </dependency> -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>9.1-901.jdbc3</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.github.joschi.jackson/jackson-datatype-threetenbp -->
		<dependency>
			<groupId>com.github.joschi.jackson</groupId>
			<artifactId>jackson-datatype-threetenbp</artifactId>
			<version>2.6.4</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-tools -->
		<!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-tools</artifactId>
			<version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId> <version>${hibernate.version}</version>
			</dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-envers</artifactId>
			<version>${hibernate.version}</version> </dependency> -->
		<!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
		<!-- <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId>
			<version>1.2</version> </dependency> <dependency> <groupId>javax.transaction</groupId>
			<artifactId>jta</artifactId> <version>1.1</version> </dependency> <dependency>
			<groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>2.2.4</version>
			</dependency> -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
			<version>1.5.9.RELEASE</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<!-- generate jargon test properties as standard -->
						<id>0</id>
						<phase>validate</phase>
						<configuration>
							<tasks>
								<delete
									file="${basedir}/src/test/resources/testing.properties" />
								<touch
									file="${basedir}/src/test/resources/testing.properties"
									mkdirs="true" />
								<echo
									file="${basedir}/src/test/resources/testing.properties"
									append="true">
									test.data.directory=${jargon.test.data.directory}
									test.irods.admin=${jargon.test.irods.admin}
									test.irods.admin.password=${jargon.test.irods.admin.password}
									test.irods.user=${jargon.test.irods.user}
									test.irods.password=${jargon.test.irods.password}
									test.irods.resource=${jargon.test.irods.resource}
									test2.irods.user=${jargon.test.irods.user2}
									test2.irods.password=${jargon.test.irods.password2}
									test2.irods.resource=${jargon.test.irods.resource2}
									test3.irods.user=${jargon.test.irods.user3}
									test3.irods.password=${jargon.test.irods.password3}
									test3.irods.resource=${jargon.test.irods.resource3}
									test.irods.host=${jargon.test.irods.host}
									test.resource.host=${jargon.test.resource.host}
									test.irods.port=${jargon.test.irods.port}
									test.irods.zone=${jargon.test.irods.zone}
									jargon.test.kerberos.user=${jargon.test.kerberos.user}
									jargon.test.user.group=${jargon.test.user.group}
									test.resource.group=${jargon.test.resource.group}
									test.irods.userDN=${jargon.test.irods.userDN}
									test.irods.scratch.subdir=${jargon.test.irods.scratch.subdir}
									test.option.exercise.remoteexecstream=${jargon.test.option.exercise.remoteexecstream}
									test.option.eirods=${test.option.eirods}
									test.option.exercise.audit=${jargon.test.option.exercise.audit}
									test.option.exercise.workflow=${jargon.test.option.exercise.workflow}
									test.option.exercise.filesystem.mount=${jargon.test.option.exercise.filesystem.mount}
									test.option.exercise.filesystem.mount.local=${jargon.test.option.exercise.filesystem.mount.local}
									test.option.distributed.resources=${test.option.distributed.resources}
									test.option.registration=${test.option.registration}
									test.option.strictACL=${test.option.strictACL}
									test.option.federated.zone=${test.option.federated.zone}
									test.option.kerberos=${test.option.kerberos}
									test.option.pam=${test.option.pam}
									test.option.ssl.configured=${test.option.ssl.configured}
									jargon.test.pam.user=${jargon.test.pam.user}
									jargon.test.pam.password=${jargon.test.pam.password}
									test.federated.irods.admin=${jargon.test.federated.irods.admin}
									test.federated.irods.admin.password=${jargon.test.federated.irods.admin.password}
									test.federated.irods.user=${jargon.test.federated.irods.user}
									test.federated.irods.password=${jargon.test.federated.irods.password}
									test.federated.irods.resource=${jargon.test.federated.irods.resource}
									test.federated.irods.host=${jargon.test.federated.irods.host}
									test.federated.irods.port=${jargon.test.federated.irods.port}
									test.federated.irods.zone=${jargon.test.federated.irods.zone}
									test.option.gsi=${test.option.gsi}
									test.option.gsi.host=${test.option.gsi.host}
									test.option.gsi.port=${test.option.gsi.port}
									test.option.gsi.zone=${test.option.gsi.zone}
									test.option.gsi.dn=${test.option.gsi.dn}
									test.option.gsi.user=${test.option.gsi.user}
									test.option.gsi.file=${test.option.gsi.file}
									test.option.mount.basedir=${test.option.mount.basedir}
									test.option.python=${test.option.python}
									selenium.test.chrome.driver=${selenium.test.chrome.driver}
									selenium.test.chrome.driver.loaction=${selenium.test.chrome.driver.loaction}
								</echo>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					<execution>
						<!-- generate rest test properties as standard -->
						<id>2</id>
						<phase>validate</phase>
						<configuration>
							<tasks>
								<delete
									file="${basedir}/src/test/resources/test.metadatatemplate.properties" />
								<touch
									file="${basedir}/src/test/resources/test.metadatatemplate.properties"
									mkdirs="true" />
								<echo
									file="${basedir}/src/test/resources/test.metadatatemplate.properties"
									append="true">
									irods.host=${jargon.test.irods.host}
									irods.port=${jargon.test.irods.port}
									irods.zoneName=${jargon.test.irods.zone}

									irods.auth.scheme=${metalnx.auth.scheme}
									default.storage.resource=${jargon.test.irods.resource}
									ssl.negotiation.policy=${metalnx.ssl.policy}

									db.driver=${metalnx.jdbc.driver}
									db.url=${metalnx.jdbc.url}
									db.username=${metalnx.jdbc.user}
									db.password=${metalnx.jdbc.password}
									hibernate.dialect=${metalnx.jdbc.dialect}

									hibernate.show_sql=true
									hibernate.format_sql=false
									hibernate.hbm2ddl.auto=update
									connection.pool_size=5
								</echo>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	
</project>
