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

	<parent>
		<groupId>org.eurekaclinical</groupId>
		<artifactId>i2b2-eureka</artifactId>
		<version>1.1</version>
	</parent>

	<artifactId>i2b2-eureka-service</artifactId>
	<packaging>war</packaging>

	<name>i2b2 Eureka Service</name>
	<description>A service that provides REST endpoints for the i2b2 data export
		plugin. It supports exporting an i2b2 patient set with a
		user-defined configuration, as well as saving configurations.
	</description>
	
	<properties>
		<ec-i2b2-client-version>1.0</ec-i2b2-client-version>
		<ec-i2b2-integration-client-version>1.0</ec-i2b2-integration-client-version>
		<eureka-client-version>1.0</eureka-client-version>
		<ec-user-agreement-client-version>1.0</ec-user-agreement-client-version>
		<javautil-version>3.0</javautil-version>
	</properties>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.jasig.maven</groupId>
				<artifactId>maven-notice-plugin</artifactId>
				<configuration>
					<licenseMapping>
						<param>../etc/license-mappings.xml</param>
					</licenseMapping>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptors>
						<descriptor>assembly/bin.xml</descriptor>
						<descriptor>assembly/src.xml</descriptor>
					</descriptors>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<dependency>
			<groupId>com.sun.jersey.jersey-test-framework</groupId>
			<artifactId>jersey-test-framework-grizzly2</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
		<dependency>
			<groupId>net.sf.opencsv</groupId>
			<artifactId>opencsv</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eurekaclinical</groupId>
			<artifactId>i2b2-client</artifactId>
			<version>${ec-i2b2-client-version}</version>
		</dependency>
		<dependency>
			<groupId>org.eurekaclinical</groupId>
			<artifactId>eureka-client</artifactId>
			<version>${eureka-client-version}</version>
		</dependency>
		<dependency>
			<groupId>org.eurekaclinical</groupId>
			<artifactId>eurekaclinical-i2b2-integration-client</artifactId>
			<version>${ec-i2b2-integration-client-version}</version>
		</dependency>
		<dependency>
			<groupId>org.eurekaclinical</groupId>
			<artifactId>eurekaclinical-user-agreement-client</artifactId>
			<version>${ec-user-agreement-client-version}</version>
		</dependency>
		<dependency>
            <groupId>org.jasig.cas.client</groupId>
            <artifactId>cas-client-core</artifactId>
        </dependency>
		<dependency>
			<groupId>org.eurekaclinical</groupId>
			<artifactId>javautil</artifactId>
			<version>${javautil-version}</version>
		</dependency>
	</dependencies>
	<profiles>
        <profile>
            <id>tomcat</id>
            <properties>
                <cas-mock-version>1.0</cas-mock-version>
                <tomcat.httpsPort>8443</tomcat.httpsPort>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-context.xml</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/tomcat-config</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${basedir}/src/main/resources/tomcat-server-config</directory>
                                            <filtering>true</filtering>
                                            <includes>
                                                <include>context.xml</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-cert</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/tomcat-config</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${basedir}/src/main/resources/tomcat-server-config</directory>
                                            <filtering>false</filtering>
                                            <includes>
                                                <include>localhost.keystore</include>
                                                <include>localhost.truststore</include>
                                            </includes>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-logging.properties-file</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/eureka-config</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${basedir}/src/main/resources/tomcat-eureka-config</directory>
                                            <includes>
                                                <include>logging.properties</include>
                                            </includes>
                                            <filtering>true</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                            <execution>
                                <id>copy-application.properties-file</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>copy-resources</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${project.build.directory}/eureka-config/eureka</outputDirectory>
                                    <resources>
                                        <resource>
                                            <directory>${basedir}/src/main/resources/tomcat-eureka-config/eureka</directory>
                                            <filtering>true</filtering>
                                        </resource>
                                    </resources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.tomcat.maven</groupId>
                        <artifactId>tomcat7-maven-plugin</artifactId>
                        <dependencies>
                            <dependency>
                                <groupId>org.jasig.cas.client</groupId>
                                <artifactId>cas-client-core</artifactId>
                                <version>${cas-client-version}</version>
                                <exclusions>
                                    <exclusion>
                                        <groupId>javax.servlet</groupId>
                                        <artifactId>servlet-api</artifactId>
                                    </exclusion>
                                </exclusions>
                            </dependency>
                        </dependencies>
                        <configuration>
                            <warSourceDirectory>${project.build.directory}/${project.build.finalName}</warSourceDirectory>
                            <port>${tomcat.port}</port>
                            <httpsPort>${tomcat.httpsPort}</httpsPort>
                            <keystorePass>changeit</keystorePass>
                            <keystoreFile>conf/localhost.keystore</keystoreFile>
                            <keystoreType>JKS</keystoreType>
                            <additionalConfigFilesDir>${project.build.directory}/tomcat-config</additionalConfigFilesDir>
                            <systemProperties>
                                <org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH>true</org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH>
                                <javax.net.ssl.trustStore>${project.build.directory}/tomcat/conf/localhost.truststore</javax.net.ssl.trustStore>
                                <javax.net.ssl.trustStorePassword>changeit</javax.net.ssl.trustStorePassword>
                                <eureka.config.dir>${project.build.directory}/eureka-config/eureka</eureka.config.dir>
                                <java.util.logging.config.file>${project.build.directory}/eureka-config/logging.properties</java.util.logging.config.file>
                            </systemProperties>
                            <webapps>
                                <webapp>
                                    <groupId>org.eurekaclinical</groupId>
                                    <artifactId>cas-mock</artifactId>
                                    <version>${cas-mock-version}</version>
                                    <type>war</type>
                                    <asWebapp>true</asWebapp>
                                </webapp>
                            </webapps>
                            <addContextWarDependencies>true</addContextWarDependencies>
                            <addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.liquibase</groupId>
                        <artifactId>liquibase-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>liquibase-populate-db</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>update</goal>
                                </goals>
                                <configuration>
                                    <changeLogFile>${project.build.directory}/classes/dbmigration/changelog-master.xml</changeLogFile>
                                    <url>jdbc:h2:file:${project.build.directory}/db/db</url>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
