<?xml version="1.0" encoding="UTF-8"?><!-- Copyright (c) 2018, University of North Carolina at Chapel Hill -->
<!-- Copyright (c) 2015-2017, Dell EMC -->



<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.emc.metalnx</groupId>
		<artifactId>emc-metalnx</artifactId>
		<version>2.0.1</version>
	</parent>

	<artifactId>emc-metalnx-web</artifactId>

	<packaging>war</packaging>

	<dependencies>
		<dependency>
			<groupId>com.emc.metalnx</groupId>
			<artifactId>emc-metalnx-ui-admin</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>com.emc.metalnx</groupId>
			<artifactId>emc-metalnx-core</artifactId>
			<version>${project.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>3.7.1</version><!--$NO-MVN-MAN-VER$-->
			</dependency>


		<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-firefox-driver</artifactId>
			</dependency>
		<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-remote-driver -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-remote-driver</artifactId>
			<version>3.6.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-chrome-driver</artifactId>
			<version>3.6.0</version>
		</dependency>


		<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-support -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-support</artifactId>
			<version>3.6.0</version><!--$NO-MVN-MAN-VER$-->
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
			<version>23.0</version>
		</dependency>


		<dependency>
			<groupId>org.irods.jargon</groupId>
			<artifactId>jargon-core</artifactId>
		</dependency>

		<!-- JUnit -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<!-- Profile definition -->
	<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<env>dev</env>
			</properties>
		</profile>
		<profile>
			<id>preprod</id>
			<properties>
				<env>preprod</env>
			</properties>
		</profile>
		<profile>
			<id>integration-tests</id>
			<properties>
				<env>integration-tests</env>
			</properties>
		</profile>
	</profiles>

	<build>
		<finalName>emc-metalnx-web</finalName>

		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>src/main/conf/${env}</directory>
			</resource>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
				</includes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.xml</include>
					<include>*.properties</include>
				</includes>
			</resource>
		</resources>

		<plugins>
			<plugin>
				<artifactId>maven-antrun-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<configuration>
							<tasks>
								<echo message="copying war file up to docker" />
								<copy file="target/emc-metalnx-web.war" todir="../../packaging/docker" />


								<echo message="war file copied " />

							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<url>http://localhost:8080/manager/text</url>
					<server>RemoteTomcatServer</server>
					<path>/emc-metalnx-web</path>
				</configuration>
			</plugin>


			<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.20.1</version>
        <configuration>

        </configuration>
      </plugin>
			<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 metalnx test properties as standard -->
						<id>2</id>
						<phase>validate</phase>
						<configuration>
							<tasks>
								<delete file="${basedir}/src/test/resources/test.metalnx.properties" />
								<touch file="${basedir}/src/test/resources/test.metalnx.properties"
									mkdirs="true" />
								<echo file="${basedir}/src/test/resources/test.metalnx.properties"
									append="true">
									irods.host=${jargon.test.irods.host}
									irods.port=${jargon.test.irods.port}
									irods.zoneName=${jargon.test.irods.zone}
									irods.admin.user=${jargon.test.irods.admin}
									irods.admin.password=${jargon.test.irods.admin.password}


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

									##########################################################

									utilize.packing.streams=${metalnx.packing.streams}


									compute.checksum=${metalnx.compute.checksum}

									##########################################################

									db.driverClassName=${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

									######################################

									jobs.irods.username=${jargon.test.irods.admin}
									jobs.irods.password=${jargon.test.irods.admin.password}
									jobs.irods.auth.scheme=${metalnx.auth.scheme}
									runSyncJobs=true


									rmd.connection.timeout=500
									rmd.connection.port=8000

									reverse.dns.lookup=false

									######################################

									populate.msi.enabled=false
									illumina.msi.enabled=true

									msi.api.version=1.X.X

									msi.metalnx.list=libmsiget_illumina_meta.so,libmsiobjget_microservices.so,libmsiobjget_version.so,libmsiobjjpeg_extract.so,libmsiobjput_mdbam.so,libmsiobjput_mdbam.so,libmsiobjput_mdmanifest.so,libmsiobjput_mdvcf.so,libmsiobjput_populate.so

									msi.irods.list=libmsisync_to_archive.so,libmsi_update_unixfilesystem_resource_free_space.so,libmsiobjput_http.so,libmsiobjput_irods.so,libmsiobjget_irods.so,libmsiobjget_http.so,libmsiobjput_slink.so,libmsiobjget_slink.so

									msi.irods.42.list=libmsisync_to_archive.so,libmsi_update_unixfilesystem_resource_free_space.so

									msi.other.list=

									resource.location.images=/images/,classpath:static/images/
									resource.location.fonts=/fonts/,classpath:static/fonts/
									resource.location.css=/css/,classpath:static/css/
									resource.location.js=/js/,classpath:static/js/
									resource.location.images=/images/,classpath:static/plugins/
									resource.location.i18=classpath:i18n/messages
									resource.location.i18-users=classpath:i18n-users/messages

									metalnx.enable.tickets=${metalnx.enable.tickets}
									metalnx.enable.upload.rules=${metalnx.enable.upload.rules}
									metalnx.download.limit=${metalnx.download.limit}


								</echo>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>
</project>
