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

    <groupId>com.ibm.fhir</groupId>
    <artifactId>fhir-parent</artifactId>
    <version>4.11.1</version>
    <packaging>pom</packaging>
    <name>IBM FHIR Server</name>

    <url>https://github.com/ibm/fhir</url>
    <organization>
        <name>IBM</name>
        <url>https://github.com/ibm/fhir</url>
    </organization>
    <issueManagement>
        <url>https://github.com/ibm/fhir/issues</url>
    </issueManagement>
    <ciManagement>
        <url>https://github.com/ibm/fhir/actions</url>
    </ciManagement>
    <description>The IBM® FHIR® Server is a modular Java implementation of version 4 of the HL7 FHIR specification with a focus on performance and configurability.</description>
    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>
    <developers>
        <developer>
            <name>IBM Watson Health Development</name>
            <email>fhirci@us.ibm.com</email>
            <url>https://www.ibm.com/</url>
            <organization>IBM Watson Health</organization>
            <organizationUrl>http://www.ibm.com</organizationUrl>
        </developer>
    </developers>

    <properties>
        <!-- needed for generating jacoco aggregate report in fhir-coverage-reports ? -->
        <maven.surefire.report.plugin>3.0.0-M5</maven.surefire.report.plugin>
        <argLine>-Dfile.encoding=UTF-8</argLine>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <fhir-model.index>MINIMAL_JSON</fhir-model.index>
        <fhir-validation.index>MINIMAL_JSON</fhir-validation.index>
        <fhir-search.index>MINIMAL_JSON</fhir-search.index>
        <fhir-persistence-jdbc.index>MINIMAL_JSON</fhir-persistence-jdbc.index>
        <fhir-server-test.index>MINIMAL_JSON</fhir-server-test.index>
        <java.version>11</java.version>
        <fhir-examples.version>4.11.1</fhir-examples.version>
        <fhir-tools.version>4.11.1</fhir-tools.version>
        <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
        <!-- We use github depend-a-bot to keep dependencies up-to-date and that doesn't seem to work as well
             for dependencies with versions from variables, so prefer inlining over version vars -->
    </properties>

    <modules>
        <module>../fhir-core</module>
        <module>../fhir-database-utils</module>
        <module>../fhir-config</module>
        <module>../fhir-cache</module>
        <module>../fhir-model</module>
        <module>../fhir-audit</module>
        <module>../fhir-registry</module>
        <module>../term</module>
        <module>../fhir-path</module>
        <module>../fhir-profile</module>
        <module>../fhir-validation</module>
        <module>../conformance/fhir-ig-us-core</module>
        <module>../conformance/fhir-ig-carin-bb</module>
        <module>../conformance/fhir-ig-mcode</module>
        <module>../conformance/fhir-ig-davinci-pdex-plan-net</module>
        <module>../conformance/fhir-ig-davinci-pdex-formulary</module>
        <module>../conformance/fhir-ig-davinci-pdex</module>
        <module>../conformance/fhir-ig-davinci-hrex</module>
        <module>../conformance/fhir-ig-spl</module>
        <module>../fhir-persistence</module>
        <module>../fhir-persistence-schema</module>
        <module>../fhir-persistence-jdbc</module>
        <module>../fhir-persistence-cassandra</module>
        <module>../fhir-persistence-cassandra-app</module>
        <module>../fhir-persistence-blob</module>
        <module>../fhir-persistence-blob-app</module>
        <module>../fhir-provider</module>
        <module>../cql</module>
        <module>../operation/fhir-operation-test</module>
        <module>../operation/fhir-operation-validate</module>
        <module>../operation/fhir-operation-document</module>
        <module>../operation/fhir-operation-healthcheck</module>
        <module>../operation/fhir-operation-convert</module>
        <module>../operation/fhir-operation-reindex</module>
        <module>../operation/fhir-operation-bulkdata</module>
        <module>../operation/fhir-operation-everything</module>
        <module>../operation/fhir-operation-erase</module>
        <module>../operation/fhir-operation-member-match</module>
        <module>../operation/fhir-operation-versions</module>
        <module>../operation/fhir-operation-bench</module>
        <module>../fhir-bulkdata-webapp</module>
        <module>../fhir-search</module>
        <module>../fhir-client</module>
        <module>../fhir-server-spi</module>
        <module>../fhir-server</module>
        <module>../fhir-server-webapp</module>
        <module>../fhir-server-test</module>
        <module>../fhir-smart</module>
        <module>../fhir-bucket</module>
        <module>../fhir-swagger-generator</module>
        <module>../fhir-openapi</module>
        <module>../fhir-install</module>
    </modules>

    <!-- This section "enforces" that we're using consistent versions of
        artifacts within our modules -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>fhir-examples</artifactId>
                <version>${fhir-examples.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.7.36</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.36</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-nop</artifactId>
                <version>1.7.36</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>1.7.36</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>4.0.4</version>
                <scope>provided</scope>
            </dependency>
            <!-- used in fhir-client LoggingFeature and required for the Tyrus client to work on Java 11 -->
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>2.3.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>2.1.0</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>2.3.3</version>
            </dependency>
            <dependency>
                <groupId>io.openliberty</groupId>
                <artifactId>openliberty-runtime</artifactId>
                <version>22.0.0.4</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>com.ibm.db2</groupId>
                <artifactId>jcc</artifactId>
                <version>11.5.7.0</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>2.1.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-client</artifactId>
                <version>3.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                <version>3.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http-hc</artifactId>
                <version>3.5.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-features-logging</artifactId>
                <version>3.5.1</version>
            </dependency>
            <dependency>
                <groupId>jakarta.websocket</groupId>
                <artifactId>jakarta.websocket-api</artifactId>
                <version>1.1.2</version>
            </dependency>
            <dependency>
                <groupId>org.skyscreamer</groupId>
                <artifactId>jsonassert</artifactId>
                <version>1.5.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.googlecode.json-simple</groupId>
                <artifactId>json-simple</artifactId>
                <version>1.1.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20220320</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.xmlunit</groupId>
                <artifactId>xmlunit-core</artifactId>
                <version>2.9.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.9.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>10.15.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>10.15.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyshared</artifactId>
                <version>10.15.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbytools</artifactId>
                <version>10.15.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbynet</artifactId>
                <version>10.15.2.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>1.3.3</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>7.5</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <!--  Used by COS in fhir-bucket and bulkdata -->
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <!--  Used by COS in fhir-bucket and bulkdata -->
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-scala_2.12</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <!--  Used by COS in fhir-bucket and bulkdata -->
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-cbor</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <!--  Used by COS in fhir-bucket and bulkdata -->
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>2.13.2</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.13.2.1</version>
            </dependency>
            <dependency>
                <!-- used by postgres and janus graph -->
                <groupId>org.checkerframework</groupId>
                <artifactId>checker-qual</artifactId>
                <version>3.21.3</version>
            </dependency>
            <dependency>
                <!-- used by fhir-provider and commons-text -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.12.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>3.1.0</version>
            </dependency>
            <dependency>
                <groupId>io.nats</groupId>
                <artifactId>java-nats-streaming</artifactId>
                <version>2.2.3</version>
            </dependency>
            <dependency>
                <groupId>io.nats</groupId>
                <artifactId>jnats</artifactId>
                <version>2.14.0</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.microprofile.jwt</groupId>
                <artifactId>microprofile-jwt-auth-api</artifactId>
                <version>2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.13</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>4.4.15</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore-nio</artifactId>
                <version>4.4.15</version>
            </dependency>
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.4</version>
            </dependency>
            <dependency>
                <groupId>commons-cli</groupId>
                <artifactId>commons-cli</artifactId>
                <version>1.5.0</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.15</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>jakarta.json</artifactId>
                <version>1.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.tyrus.bundles</groupId>
                <artifactId>tyrus-standalone-client-jdk</artifactId>
                <version>1.18</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish.tyrus</groupId>
                <artifactId>tyrus-container-grizzly-client</artifactId>
                <version>1.18</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <!-- required for the Tyrus client to work on Java 11 -->
                <groupId>javax.xml.ws</groupId>
                <artifactId>jaxws-api</artifactId>
                <version>2.3.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>4.5.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-inline</artifactId>
                <version>4.5.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>3.19.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>antlr4-runtime</artifactId>
                <version>4.9.3</version>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>2.1.0</version>
            </dependency>
            <dependency>
                <groupId>org.owasp.encoder</groupId>
                <artifactId>encoder</artifactId>
                <version>1.2.3</version>
            </dependency>
            <dependency>
                <!-- https://jakarta.ee/specifications/annotations/ -->
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>1.3.5</version>
            </dependency>
            <dependency>
                <groupId>jakarta.batch</groupId>
                <artifactId>jakarta.batch-api</artifactId>
                <version>1.0.2</version>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>1.0.5</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>2.0.2</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.ibm.cos</groupId>
                <artifactId>ibm-cos-java-sdk</artifactId>
                <version>2.11.1</version>
            </dependency>
            <dependency>
                <groupId>com.github.stephenc.jcip</groupId>
                <artifactId>jcip-annotations</artifactId>
                <version>1.0-1</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.3.3</version>
            </dependency>
            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>3.19.4</version>
            </dependency>
            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protoc</artifactId>
                <version>3.20.0</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.datastax.oss</groupId>
                <artifactId>java-driver-core</artifactId>
                <version>4.14.0</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.datastax.oss</groupId>
                <artifactId>java-driver-query-builder</artifactId>
                <version>4.14.0</version>
            </dependency>
            <dependency>
                <groupId>com.datastax.oss</groupId>
                <artifactId>java-driver-mapper-runtime</artifactId>
                <version>4.14.0</version>
            </dependency>
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>4.2.2</version>
            </dependency>
            <dependency>
                <groupId>org.foundationdb</groupId>
                <artifactId>fdb-java</artifactId>
                <version>6.3.24</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.11.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>1.9</version>
            </dependency>
            <dependency>
                <groupId>org.janusgraph</groupId>
                <artifactId>janusgraph-core</artifactId>
                <version>0.6.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.boundary</groupId>
                        <artifactId>high-scale-lib</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.janusgraph</groupId>
                <artifactId>janusgraph-berkeleyje</artifactId>
                <version>0.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.janusgraph</groupId>
                <artifactId>janusgraph-cql</artifactId>
                <version>0.6.1</version>
                <exclusions>
                    <exclusion>
                        <groupId>it.unimi.dsi</groupId>
                        <artifactId>fastutil</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.github.spotbugs</groupId>
                        <artifactId>spotbugs-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.janusgraph</groupId>
                <artifactId>janusgraph-lucene</artifactId>
                <version>0.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.janusgraph</groupId>
                <artifactId>janusgraph-es</artifactId>
                <version>0.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tinkerpop</groupId>
                <artifactId>gremlin-driver</artifactId>
                <version>3.5.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>io.netty</groupId>
                        <artifactId>netty-transport-rxtx</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.3.1</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>3.0.2</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>3.0.2</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.2.11</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>1.2.11</version>
            </dependency>
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>3.0.5</version>
            </dependency>
            <dependency>
                <!-- Netty is an open-source, asynchronous event-driven network application framework; used by org.apache.tinkerpop:gremlin-driver -->
                <!-- [CVE-2021-21290] Local Information Disclosure Vulnerability in Netty on Unix-Like systems due temporary files; patched in 4.1.59.Final -->
                <!-- [CVE-2021-37136] Bzip2Decoder doesn't allow setting size restrictions for decompressed data; patched in 4.1.68.Final -->
                <!-- [CVE-2021-37137] SnappyFrameDecoder doesn't restrict chunk length any may buffer skippable chunks in an unnecessary way; patched in 4.1.68.Final -->
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>4.1.76.Final</version>
            </dependency>
            <dependency>
                <!-- Used in com.amazonaws:aws-java-sdk which is brought in by com.ibm.stocator:stocator (but marked provided by default) -->
                <!-- [CVE-2021-37136] Bzip2Decoder doesn't allow setting size restrictions for decompressed data; patched in 4.1.68.Final -->
                <!-- [CVE-2021-37137] SnappyFrameDecoder doesn't restrict chunk length any may buffer skippable chunks in an unnecessary way; patched in 4.1.68.Final -->
                <groupId>io.netty</groupId>
                <artifactId>netty-codec-http</artifactId>
                <version>4.1.76.Final</version>
            </dependency>
            <dependency>
                <!--  [CVE-2020-8908] A temp directory creation vulnerability exists in all versions of Guava, addressed in latest versions -->
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>31.1-jre</version>
            </dependency>
            <dependency>
                <!-- [CVE-2017-18640] The Alias feature in SnakeYAML 1.18 allows entity expansion during a load operation, addressed in latest versions. -->
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>1.30</version>
            </dependency>
            <dependency>
                <groupId>org.opencds.cqf.cql</groupId>
                <artifactId>engine</artifactId>
                <version>1.5.2</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.javaparser</groupId>
                        <artifactId>javaparser</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>info.cqframework</groupId>
                <artifactId>cql-to-elm</artifactId>
                <version>1.5.6</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.javaparser</groupId>
                        <artifactId>javaparser</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>4.4</version>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-jre8</artifactId>
                <version>2.32.0</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.azure</groupId>
                <artifactId>azure-storage-blob</artifactId>
                <version>12.14.1</version>
            </dependency>
            <dependency>
                <groupId>com.azure</groupId>
                <artifactId>azure-core-http-okhttp</artifactId>
                <version>1.8.0</version>
            </dependency>
            <dependency>
                <groupId>com.azure</groupId>
                <artifactId>azure-core</artifactId>
                <version>1.26.0</version>
            </dependency>
            <!-- Used in OKHTTP as part of azure-core -->
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib</artifactId>
                <version>1.6.21</version>
            </dependency>
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib-common</artifactId>
                <version>1.6.21</version>
            </dependency>
            <dependency>
                <groupId>org.fhir</groupId>
                <artifactId>ucum</artifactId>
                <version>1.0.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.10.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <testSource>${java.version}</testSource>
                        <testTarget>${java.version}</testTarget>
                        <debug>true</debug>
                        <debuglevel>source,lines,vars</debuglevel>
                        <parameters>true</parameters>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>test-jar</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                            <manifestEntries>
                                <Build-Time>${maven.build.timestamp}</Build-Time>
                                <Build-Number>${BUILD_ID}</Build-Number>
                                <Git-Commit>${GIT_COMMIT}</Git-Commit>
                                <Git-Branch>${GIT_BRANCH}</Git-Branch>
                                <Git-URL>${GIT_URL}</Git-URL>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.2</version>
                    <!-- Upgraded maven-war-plugin to avoid 'An illegal reflective
                        access operation' in OpenJDK 11 The dependency 'xstream.converters.collections.TreeMapConverter'
                        used an out-of-date approach. This comment is left here to allow others to
                        find the reason for the change, and in case another library introduces a
                        similar issue in the code base. -->
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                        <archiveClasses>false</archiveClasses>
                        <archive>
                            <manifest>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            </manifest>
                            <manifestEntries>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}
                                    - ${BUILD_ID}</Implementation-Version>
                                <Build-Time>${maven.build.timestamp}</Build-Time>
                                <Build-Number>${BUILD_ID}</Build-Number>
                                <Git-Commit>${GIT_COMMIT}</Git-Commit>
                                <Git-Branch>${GIT_BRANCH}</Git-Branch>
                                <Git-URL>${GIT_URL}</Git-URL>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0</version>
                    <configuration>
                        <rules>
                            <dependencyConvergence />
                        </rules>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M5</version>
                    <configuration>
                        <trimStackTrace>false</trimStackTrace>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0-M6</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>2.10.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>1.12.2</version>
                    <configuration></configuration>
                </plugin>
                <plugin>
                    <groupId>io.openliberty.tools</groupId>
                    <artifactId>liberty-maven-plugin</artifactId>
                    <version>3.5.1</version>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.4.13</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>3.1.2</version>
                    <configuration>
                        <configLocation>checkstyle.xml</configLocation>
                        <headerLocation>java.header</headerLocation>
                        <consoleOutput>true</consoleOutput>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>10.2</version>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <phase>validate</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>1.0.2</version>
                    <configuration>
                        <useDefaultFormatFileSet>false</useDefaultFormatFileSet>
                        <formatFileSets>
                            <formatFileSet>
                                <directory>${project.basedir}</directory>
                                <includes>
                                    <include>pom.xml</include>
                                    <include>src/**/*.xml</include>
                                </includes>
                                <excludes>
                                    <exclude>src/test/resources/**/*.xml</exclude>
                                </excludes>
                            </formatFileSet>
                        </formatFileSets>
                        <indentSize>4</indentSize>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>validate</phase>
                            <goals>
                                <goal>check-format</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.11.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <!-- 3.0.1 is the highest version we support as 3.1.0
                        changes the ability to aggregate multi-module projects. It's not possible -->
                    <version>3.0.1</version>
                    <configuration>
                        <!-- speed up the build -->
                        <isOffline>true</isOffline>
                        <!-- no matter the JDK running the javadoc, it's
                            important this be at the minimum level we support, which is 11. -->
                        <source>11</source>
                        <!-- we don't need package -->
                        <show>package</show>
                        <!-- verbose if you are debugging -->
                        <verbose>false</verbose>
                        <dependencySourceIncludes>com.ibm.fhir:*</dependencySourceIncludes>
                        <minmemory>2g</minmemory>
                        <maxmemory>2g</maxmemory>
                        <!-- doclint is none, otherwise build breaks -->
                        <doclint>none</doclint>
                        <detectLinks>true</detectLinks>
                        <!-- control display -->
                        <author>false</author>
                        <windowtitle>IBM FHIR Server</windowtitle>
                        <doctitle>${project.name} ${project.version}</doctitle>
                        <additionalOptions>
                            <!-- makes the frames visible, disabled and going
                                away eventually -->
                            <additionalOption>--frames</additionalOption>
                            <!-- Fixes the undefined redirect in search -->
                            <additionalOption>--no-module-directories</additionalOption>
                        </additionalOptions>
                        <header><![CDATA[<a href="/FHIR" class="bx--header__name" target="_parent"><span>IBM</span>&nbsp;FHIR®&nbsp;Server</a>]]></header>
                        <bottom><![CDATA[Copyright 2019, 2022. <a href="http://www.ibm.com">IBM Corporation<a><br></br>FHIR&reg; is the registered trademark of HL7 and is used with the permission of HL7.]]></bottom>
                        <author>false</author>
                        <stylesheetfile>${project.build.directory}/../../fhir-parent/src/javadocs/stylesheet.css</stylesheetfile>
                        <!-- skips the three entries -->
                        <nohelp>true</nohelp>
                        <nodeprecated>true</nodeprecated>
                        <nodeprecatedlist>true</nodeprecatedlist>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.2.4</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <testSource>${java.version}</testSource>
                    <testTarget>${java.version}</testTarget>
                    <debug>true</debug>
                    <debuglevel>source,lines,vars</debuglevel>
                    <parameters>true</parameters>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <!-- Do NOT configure argLine here -->
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <!-- Without the following three versions specified, the build does not use them.-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.2.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.2</version>
            </plugin>
        </plugins>
    </build>

    <scm>
        <connection>scm:git:https://github.com/ibm/fhir.git</connection>
        <developerConnection>IBM</developerConnection>
        <tag>ibm-fhir-server</tag>
        <url>https://github.com/ibm/fhir.git</url>
    </scm>

    <profiles>
        <profile>
            <id>m2e</id>
            <activation>
                <property>
                    <name>m2e.version</name>
                </property>
            </activation>
            <properties>
                <my.maven.war.plugin>2.6</my.maven.war.plugin>
                <my.maven.jar.plugin>2.6</my.maven.jar.plugin>
                <!-- m2e plugin was deactivated and has unintended side effects.
                    these settings are left here for historic purposes. <m2e.wtp.activation>false</m2e.wtp.activation> -->
                <m2e.jaxrs.activation>false</m2e.jaxrs.activation>
                <m2e.jpa.activation>false</m2e.jpa.activation>
                <m2e.jsf.activation>false</m2e.jsf.activation>
                <m2e.cdi.activation>true</m2e.cdi.activation>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <!-- This Lifecycle is limited to Eclipse only -->
                        <plugin>
                            <groupId>org.eclipse.m2e</groupId>
                            <artifactId>lifecycle-mapping</artifactId>
                            <version>1.0.0</version>
                            <configuration>
                                <lifecycleMappingMetadata>
                                    <pluginExecutions>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>
                                                    org.apache.maven.plugins
                                                </groupId>
                                                <artifactId>
                                                    maven-checkstyle-plugin
                                                </artifactId>
                                                <versionRange>
                                                    [3.0.0,)
                                                </versionRange>
                                                <goals>
                                                    <goal>check</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <execute />
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>com.ibm.fhir</groupId>
                                                <artifactId>
                                                    fhir-tools
                                                </artifactId>
                                                <versionRange>
                                                    [4.11.0-SNAPSHOT,)
                                                </versionRange>
                                                <goals>
                                                    <goal>condense-json</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <ignore></ignore>
                                            </action>
                                        </pluginExecution>
                                    </pluginExecutions>
                                </lifecycleMappingMetadata>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>sandbox</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <build.id>development</build.id>
            </properties>
        </profile>
        <profile>
            <id>integration</id>
            <activation>
                <property>
                    <name>profile</name>
                    <value>integration</value>
                </property>
            </activation>
            <properties>
                <build.id>Integration_${env.GITHUB_REF}_${env.GITHUB_SHA}</build.id>
            </properties>
        </profile>
        <profile>
            <id>model-all-tests</id>
            <properties>
                <fhir-model.index>ALL</fhir-model.index>
            </properties>
        </profile>
        <profile>
            <id>validation-all-tests</id>
            <properties>
                <fhir-validation.index>ALL_JSON</fhir-validation.index>
            </properties>
        </profile>
        <profile>
            <id>search-all-tests</id>
            <properties>
                <fhir-search.index>ALL_JSON</fhir-search.index>
            </properties>
        </profile>
        <profile>
            <id>jdbc-all-tests</id>
            <properties>
                <fhir-persistence-jdbc.index>ALL_JSON</fhir-persistence-jdbc.index>
            </properties>
        </profile>
        <profile>
            <id>server-all-tests</id>
            <properties>
                <fhir-server-test.index>ALL_JSON</fhir-server-test.index>
            </properties>
        </profile>
        <profile>
            <id>set-version-release</id>
            <!-- This profile enables automation to change version and DEPLOY
                release to Maven Central. There are one input values. mvn clean -Drc=1 -Pdeploy-version-release
                -f fhir-tools/pom.xml -->
            <properties>
                <!-- the version to be set -->
                <deploy.version>4.0.0</deploy.version>
                <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
            </properties>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>versions-maven-plugin</artifactId>
                        <version>2.10.0</version>
                        <configuration>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>set</goal>
                                </goals>
                                <phase>clean</phase>
                                <configuration>
                                    <oldVersion>*</oldVersion>
                                    <newVersion>${deploy.version}</newVersion>
                                    <generateBackupPoms>true</generateBackupPoms>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>validate-javadoc</id>
            <!-- validate is an optimized javadoc:javadoc goal for processing
                only -->
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <inherited>false</inherited>
                        <configuration>
                            <source>11</source>
                            <verbose>true</verbose>
                            <doclint>none</doclint>
                            <minmemory>2g</minmemory>
                            <maxmemory>2g</maxmemory>
                            <nohelp>true</nohelp>
                            <nodeprecated>true</nodeprecated>
                            <nodeprecatedlist>true</nodeprecatedlist>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>javadoc-no-fork</goal>
                                </goals>
                                <phase>install</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-javadoc</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-project-info-reports-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <!-- speed up the build -->
                            <isOffline>true</isOffline>
                            <!-- no matter the JDK running the javadoc, it's
                                important this be at the minimum level we support, which is 11. -->
                            <source>11</source>
                            <!-- we don't need package -->
                            <show>package</show>
                            <!-- verbose if you are debugging -->
                            <verbose>false</verbose>
                            <dependencySourceIncludes>com.ibm.fhir:*</dependencySourceIncludes>
                            <minmemory>2g</minmemory>
                            <maxmemory>2g</maxmemory>
                            <!-- doclint is none, otherwise build breaks -->
                            <doclint>none</doclint>
                            <detectLinks>true</detectLinks>
                            <!-- control display -->
                            <author>false</author>
                            <windowtitle>IBM FHIR Server</windowtitle>
                            <doctitle>${project.name} ${project.version}</doctitle>
                            <additionalOptions>
                                <!-- makes the frames visible, disabled and
                                    going away eventually -->
                                <additionalOption>--frames</additionalOption>
                                <!-- Fixes the undefined redirect in search -->
                                <additionalOption>--no-module-directories</additionalOption>
                            </additionalOptions>
                            <header><![CDATA[<a href="/FHIR" class="bx--header__name" target="_parent"><span>IBM</span>&nbsp;FHIR®&nbsp;Server</a>]]></header>
                            <bottom><![CDATA[Copyright 2019, 2022. <a href="http://www.ibm.com">IBM Corporation<a><br></br>FHIR&reg; is the registered trademark of HL7 and is used with the permission of HL7.]]></bottom>
                            <author>false</author>
                            <stylesheetfile>${project.build.directory}/../../fhir-parent/src/javadocs/stylesheet.css</stylesheetfile>
                            <!-- skips the three entries -->
                            <nohelp>true</nohelp>
                            <nodeprecated>true</nodeprecated>
                            <nodeprecatedlist>true</nodeprecatedlist>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>javadoc-no-fork</goal>
                                    <goal>test-javadoc-no-fork</goal>
                                </goals>
                                <phase>package</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>sign-artifact</id>
            <properties>
                <gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname>
                <gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <defaultKeyring>false</defaultKeyring>
                            <gpgArguments>
                                <gpgArgument>--batch</gpgArgument>
                                <gpgArgument>--yes</gpgArgument>
                                <gpgArgument>--no-tty</gpgArgument>
                                <gpgArgument>--lock-multiple</gpgArgument>
                                <!-- important not to have spaces in the args -->
                                <gpgArgument>--pinentry-mode</gpgArgument>
                                <gpgArgument>loopback</gpgArgument>
                            </gpgArguments>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>build-artifact</id>
            <properties>
                <gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname>
                <gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <!-- Do not move this up to top level as it'll cause
                            a conflict with m2e restrictions on v2.6 -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.2.0</version>
                        <configuration>
                            <archive>
                                <index>true</index>
                                <manifest>
                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                </manifest>
                                <manifestEntries>
                                    <Build-Time>${maven.build.timestamp}</Build-Time>
                                    <Build-Number>${BUILD_ID}</Build-Number>
                                    <Git-Commit>${GIT_COMMIT}</Git-Commit>
                                    <Git-Branch>${GIT_BRANCH}</Git-Branch>
                                    <Git-URL>${GIT_URL}</Git-URL>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.10.1</version>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deploy-to-sonatype</id>
            <properties>
                <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
            </properties>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>false</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <!-- plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-install-plugin</artifactId>
                        <version>3.0.0-M1</version>
                        <executions>
                            <execution>
                                <id>default-install</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                            <execution>
                                <id>default-test</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <version>3.2.0</version>
                        <executions>
                            <execution>
                                <id>default-jar</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                            <execution>
                                <id>default-test</id>
                                <configuration>
                                    <skip>true</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin-->
                </plugins>
            </build>

            <distributionManagement>
                <snapshotRepository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
                <repository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>

        <!-- removes unnecessary whitespace from json files while copying from src/main/resources to target -->
        <!-- produces smaller artifacts at the cost of a slight increase in build time -->
        <profile>
            <id>condense-json</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>fhir-tools</artifactId>
                        <version>${fhir-tools.version}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>condense-json</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <id>aggregate</id>
                        <inherited>false</inherited>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                    <reportSet>
                        <id>default</id>
                        <inherited>false</inherited>
                        <reports>
                            <report>javadoc</report>
                        </reports>
                    </reportSet>
                </reportSets>
                <configuration>
                    <!-- speed up the build -->
                    <isOffline>true</isOffline>
                    <!-- no matter the JDK running the javadoc, it's important
                        this be at the minimum level we support, which is 11. -->
                    <source>11</source>
                    <!-- we don't need package -->
                    <show>package</show>
                    <!-- verbose if you are debugging -->
                    <verbose>false</verbose>
                    <dependencySourceIncludes>com.ibm.fhir:*</dependencySourceIncludes>
                    <minmemory>2g</minmemory>
                    <maxmemory>2g</maxmemory>
                    <!-- doclint is none, otherwise build breaks -->
                    <doclint>none</doclint>
                    <additionalparam>-Xdoclint:none
                        -Djava.awt.headless=true</additionalparam>
                    <detectLinks>true</detectLinks>
                    <!-- control display -->
                    <author>false</author>
                    <windowtitle>IBM FHIR Server</windowtitle>
                    <doctitle>${project.name} ${project.version}</doctitle>
                    <additionalOptions>
                        <!-- makes the frames visible, disabled and going
                            away eventually -->
                        <additionalOption>--frames</additionalOption>
                        <!-- Fixes the undefined redirect in search -->
                        <additionalOption>--no-module-directories</additionalOption>
                    </additionalOptions>
                    <header><![CDATA[<a href="/FHIR" class="bx--header__name" target="_parent"><span>IBM</span>&nbsp;FHIR®&nbsp;Server</a>]]></header>
                    <bottom><![CDATA[Copyright 2019, 2022. <a href="http://www.ibm.com">IBM Corporation<a><br></br>FHIR&reg; is the registered trademark of HL7 and is used with the permission of HL7.]]></bottom>
                    <author>false</author>
                    <stylesheetfile>${project.build.directory}/../../fhir-parent/src/javadocs/stylesheet.css</stylesheetfile>
                    <!-- skips the three entries -->
                    <nohelp>true</nohelp>
                    <nodeprecated>true</nodeprecated>
                    <nodeprecatedlist>true</nodeprecatedlist>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <configuration>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>index</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>
</project>
