<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>
    <artifactId>i2b2-eureka-service</artifactId>
    <packaging>war</packaging>
    <version>1.0-Alpha-1</version>
    <name>Eureka! Clinical i2b2 Integration 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>
    <inceptionYear>2017</inceptionYear>

    <parent>
        <groupId>org.eurekaclinical</groupId>
        <artifactId>eurekaclinical-parent-standard-deps</artifactId>
        <version>1</version>
    </parent>

    <url>https://github.com/eurekaclinical/eurekaclinical-i2b2-integration-service.git</url>

    <scm>
        <connection>scm:git:https://github.com/eurekaclinical/eurekaclinical-i2b2-integration-service.git</connection>
        <developerConnection>scm:git:https://github.com/eurekaclinical/eurekaclinical-i2b2-integration-service.git</developerConnection>
        <url>https://github.com/eurekaclinical/eurekaclinical-i2b2-integration-service.git</url>
        <tag>i2b2-eureka-service-1.0-Alpha-1</tag>
    </scm>
	
    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/eurekaclinical/eurekaclinical-i2b2-integration-service/issues</url>
    </issueManagement>
	
    <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.1.1</eureka-client-version>
        <ec-user-agreement-client-version>1.1</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>
        </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>
