<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>ca.uhn.hapi.fhir</groupId>
        <artifactId>hapi-deployable-pom</artifactId>
        <version>4.2.0</version>
    </parent>

    <!--
    Note: Version of this project and the version of HAPI FHIR are not locked to
    each other. It is fine to bump the point version of this POM without affecting
    HAPI FHIR.
    -->
    <version>4.2.0</version>

    <properties>
        <hapi_fhir_version>4.2.0</hapi_fhir_version>
        <validator_test_case_version>1.0.29-SNAPSHOT</validator_test_case_version>
    </properties>

    <artifactId>org.hl7.fhir.core</artifactId>
    <packaging>pom</packaging>

    <name>HL7 Core Artifacts</name>

    <organization>
        <name>Health Level 7</name>
        <url>http://hl7.org</url>
    </organization>

    <repositories>
        <repository>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>bintray-dnault-maven</id>
            <name>bintray</name>
            <url>https://dl.bintray.com/dnault/maven</url>
        </repository>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>oss-snapshot</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencies>

        <!-- Use logback for tests -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <dependencyManagement>

        <dependencies>

            <dependency>
                <groupId>ca.uhn.hapi.fhir</groupId>
                <artifactId>hapi-fhir-base</artifactId>
                <version>${hapi_fhir_version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>ca.uhn.hapi.fhir</groupId>
                        <artifactId>hapi-fhir-utilities</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>ca.uhn.hapi.fhir</groupId>
                <artifactId>org.hl7.fhir.utilities</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ca.uhn.hapi.fhir</groupId>
                <artifactId>hapi-fhir-structures-r4</artifactId>
                <version>${hapi_fhir_version}</version>
            </dependency>
            <dependency>
                <groupId>ca.uhn.hapi.fhir</groupId>
                <artifactId>hapi-fhir-validation-resources-r4</artifactId>
                <version>${hapi_fhir_version}</version>
            </dependency>

            <dependency>
                <groupId>com.atlassian.commonmark</groupId>
                <artifactId>commonmark</artifactId>
                <version>0.12.1</version>
            </dependency>
            <dependency>
                <groupId>com.atlassian.commonmark</groupId>
                <artifactId>commonmark-ext-gfm-tables</artifactId>
                <version>0.12.1</version>
            </dependency>
            <dependency>
                <groupId>com.github.rjeschke</groupId>
                <artifactId>txtmark</artifactId>
                <version>0.13</version>
            </dependency>
        </dependencies>

    </dependencyManagement>

    <modules>
        <module>org.hl7.fhir.utilities</module>
        <module>org.hl7.fhir.dstu2</module>
        <module>org.hl7.fhir.dstu2016may</module>
        <module>org.hl7.fhir.dstu3</module>
        <module>org.hl7.fhir.r4</module>
        <module>org.hl7.fhir.r5</module>
        <!--<module>org.hl7.fhir.rdf</module>-->
        <module>org.hl7.fhir.convertors</module>
        <module>org.hl7.fhir.validation</module>
        <module>org.hl7.fhir.validation.cli</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <forceJavacCompilerUse>false</forceJavacCompilerUse>
                    <encoding>UTF-8</encoding>
                    <fork>true</fork>
                    <meminitial>512m</meminitial>
                    <maxmem>4000m</maxmem>
                    <debug>true</debug>
                </configuration>
                <dependencies>
                </dependencies>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <trimStackTrace>false</trimStackTrace>
                    <testFailureIgnore>false</testFailureIgnore>
                    <argLine>-Xmx4096m</argLine>
                    <redirectTestOutputToFile>false</redirectTestOutputToFile>
                    <includes>
                        <include>**/All*</include>
                    </includes>
                    <excludes>
                        <exclude>**/*dstu*/**</exclude>
                        <exclude>**/*r4*/**</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.basepom.maven</groupId>
                <artifactId>duplicate-finder-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>default</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <inherited>true</inherited>
                    </execution>
                </executions>
                <configuration>
                    <printEqualFiles>false</printEqualFiles>
                    <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
                    <failBuildInCaseOfEqualContentConflict>true</failBuildInCaseOfEqualContentConflict>
                    <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
                    <checkCompileClasspath>true</checkCompileClasspath>
                    <checkRuntimeClasspath>false</checkRuntimeClasspath>
                    <checkTestClasspath>false</checkTestClasspath>
                    <skip>false</skip>
                    <quiet>false</quiet>
                    <preferLocal>true</preferLocal>
                    <useResultFile>true</useResultFile>
                    <resultFileMinClasspathCount>2</resultFileMinClasspathCount>
                    <resultFile>${project.build.directory}/duplicate-finder-result.xml</resultFile>
                    <ignoredDependencies>
                        <dependency>
                            <groupId>javax.el</groupId>
                            <artifactId>javax.el-api</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>javax.mail</groupId>
                            <artifactId>javax.mail-api</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>javax.activation</groupId>
                            <artifactId>javax.activation-api</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>com.helger</groupId>
                            <artifactId>ph-schematron</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>commons-logging</groupId>
                            <artifactId>commons-logging</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.jscience</groupId>
                            <artifactId>jscience</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-jcl</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-jcl</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>com.google.code.findbugs</groupId>
                            <artifactId>annotations</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derbyclient</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derbynet</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.derby</groupId>
                            <artifactId>derbyclient</artifactId>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.poi</groupId>
                            <artifactId>ooxml-schemas</artifactId>
                        </dependency>
                    </ignoredDependencies>
                    <ignoredResourcePatterns>
                        <ignoredResourcePattern>changelog.txt</ignoredResourcePattern>
                        <ignoredResource>javac.bat</ignoredResource>
                        <ignoredResource>about.html</ignoredResource>
                        <ignoredResource>changelog.xml</ignoredResource>
                    </ignoredResourcePatterns>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Fragment-Host>
                            ca.uhn.hapi.fhir.hapi-fhir-base
                        </Fragment-Host>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <skipUpdateLicense>true</skipUpdateLicense>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
