<?xml version="1.0" encoding="UTF-8"?>
<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>

    <name>SAP Cloud SDK - Modules and Dependencies BOM</name>
    <description>Bill of Materials (BOM) of the SAP Cloud SDK modules and dependencies.</description>

    <groupId>com.sap.cloud.sdk</groupId>
    <artifactId>sdk-bom</artifactId>
    <version>3.76.0</version>
    <packaging>pom</packaging>

    <url>https://sap.github.io/cloud-sdk/docs/java/getting-started</url>

    <organization>
        <name>SAP SE</name>
        <url>https://www.sap.com</url>
    </organization>

    <licenses>
        <license>
            <name>SAP DEVELOPER LICENSE AGREEMENT</name>
            <url>https://tools.hana.ondemand.com/developer-license-3_1.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>SAP</name>
            <email>cloudsdk@sap.com</email>
            <organization>SAP SE</organization>
            <organizationUrl>https://www.sap.com</organizationUrl>
        </developer>
    </developers>

    <scm>
        <connection />
        <url />
    </scm>

    <properties>
        <x-sap-release-audience>Public</x-sap-release-audience>
        <x-sap-release-maturity>Stable</x-sap-release-maturity>
        <!-- do not modify the following line, it is updated by the versioning script -->
        <sdk.version>3.76.0</sdk.version>

        <!-- HTTP stuff -->
        <httpcore.version>4.4.15</httpcore.version>
        <httpcomponents-client.version>4.5.13</httpcomponents-client.version>
        <javax-servlet.version>4.0.1</javax-servlet.version>
        <!-- Check for Maven Central availability https://search.maven.org/artifact/com.sap.cloud/neo-java-web-api -->
        <scp-neo-tomcat8.sdk.version>4.36.3</scp-neo-tomcat8.sdk.version>

        <!-- JCo, also maintain version in module "testutil-resources" -->
        <sapjco3.version>3.1.6</sapjco3.version> <!-- Runtime related dependency -->

        <!-- XSUAA & Spring Security -->
        <!-- keep this version consistent with the one used from current SAP buildpack -->
        <!-- extract current version of active buildpack via "cf buildpacks", example "sap_java_buildpack-v1.42.0.zip" -->
        <!-- see https://github.wdf.sap.corp/xs2-java/xs-java-buildpack/blob/master/resources/pom.xml#L56 -->
        <scp-cf.xsuaa-client.version>2.13.2</scp-cf.xsuaa-client.version>

        <!-- Keep these two versions consistent with the one from: com.sap.cloud.security.xsuaa:parent -->
        <!-- see https://github.com/SAP/cloud-security-xsuaa-integration/blob/master/pom.xml -->
        <spring.version>5.3.22</spring.version>
        <spring-security.version>5.7.3</spring-security.version>

        <java-jwt.version>3.19.2</java-jwt.version>

        <!-- Utility stuff -->
        <slf4j.version>1.7.36</slf4j.version>
        <lombok.version>1.18.24</lombok.version>
        <findbugs-jsr305.version>3.0.2</findbugs-jsr305.version> <!-- @Nonnull/@Nullable annotations -->
        <vavr.version>0.10.4</vavr.version>
        <guava.version>31.1-jre</guava.version> <!-- collection utilities, @Beta annotation -->
        <commons-io.version>2.11.0</commons-io.version> <!-- Apache file utils -->

        <!-- Resilience & Caching -->
        <caffeine.version>2.9.3</caffeine.version>
        <jcache.version>1.1.1</jcache.version>
        <resilience4j.version>1.7.1</resilience4j.version>

        <!-- JSON & XML stuff -->
        <gson.version>2.9.0</gson.version>
        <jackson.version>2.13.4</jackson.version>
        <jackson-databind.version>2.13.4.2</jackson-databind.version>
        <owasp-json-sanitizer.version>1.2.3</owasp-json-sanitizer.version>

        <!-- Unused runtime dependencies, unclear for what purpose they are in the BOM -->
        <scp-cf.xs-security.version>0.33.18</scp-cf.xs-security.version>
        <scp-neo-javaee7.sdk.version>1.128.10</scp-neo-javaee7.sdk.version>

        <!-- end of essential versions -->

        <sap-passport-api.version>1.6.0</sap-passport-api.version>

        <scp-neo.auditlog.version>0.6.59</scp-neo.auditlog.version>
        <scp-cf.auditlog.version>2.0.16</scp-cf.auditlog.version>

        <fabric-sdk-java.version>2.2.18</fabric-sdk-java.version>
        <fabric-gateway-java.version>2.2.4</fabric-gateway-java.version>

        <jsonschema2pojo.version>1.1.2</jsonschema2pojo.version>

        <commons-codec.version>1.15</commons-codec.version> <!-- Base64 used once in passport and multiple times in blockchain module -->
        <commons-configuration.version>1.10</commons-configuration.version> <!-- Configuration used multiple times in OData generators -->
        <commons-lang3.version>3.12.0</commons-lang3.version> <!-- StringUtils used twice in MDI generator -->
        <commons-text.version>1.10.0</commons-text.version> <!-- WordUtils used twice in OData generator -->

        <json.version>20220320</json.version> <!-- XML used once in SOAP payload deserialisation -->

        <javax-inject.version>1</javax-inject.version> <!-- Customers are forced to add this if they use OData generators -->

        <!-- end of non-essential versions-->
        <json-path.version>2.7.0</json-path.version> <!-- JsonPath used once in ScpCf Destination Loader (in fact we have our own public class JsonPath in odata-client) -->

        <scp-cf.xs-env.version>1.8.5</scp-cf.xs-env.version> <!-- Used in Auditlog but only with test scope -->

        <scp-cf.logging-support.version>3.6.2</scp-cf.logging-support.version> <!-- Runtime dependency, only used in Archetypes -->
        <logback.version>1.2.11</logback.version> <!-- Runtime dependency, only used in Archetypes -->

        <snakeyml.version>1.33</snakeyml.version> <!-- Added to overcome vulnerability CVE-2022-38752, CVE-2022-38751, CVE-2022-25857, which transitively comes via `jackson-dataformat-yaml:2.13.3` and fabric-sdk-java -->

        <!-- remove with CXSDK removal -->
        <servicesdk.version>1.40.11</servicesdk.version>

        <!-- remove those from product with framework modules removal -->
        <rxjava.version>1.3.8</rxjava.version>
        <archaius-core.version>0.7.6</archaius-core.version>
        <cxf.version>3.3.10</cxf.version>
        <eclipselink.version>2.7.10</eclipselink.version>
        <togglz.version>3.2.1</togglz.version>
        <liquibase.version>4.13.0</liquibase.version>
        <axis2.version>1.7.9</axis2.version>
        <javax-ws-rs.version>2.1.1</javax-ws-rs.version>
        <javax-persistence.version>2.2.1</javax-persistence.version>
        <javax-validation.version>2.0.1.Final</javax-validation.version>
        <javax-javaee.version>8.0.1</javax-javaee.version>
        <javax-ejb.version>3.2.2</javax-ejb.version>

        <!-- remove with messaging removal -->
        <javax-jms.version>2.0.1</javax-jms.version>

        <!-- remove with graph removal -->
        <swagger-annotations.version>1.6.6</swagger-annotations.version>

        <!-- remove with quality removal -->
        <commons-csv.version>1.9.0</commons-csv.version>

        <!-- remove with testutil going non-released -->
        <junit.version>4.13.2</junit.version>
        <junit.jupiter.version>5.8.2</junit.jupiter.version>
        <assertj-core.version>3.19.0</assertj-core.version>
        <assertj-guava.version>3.5.0</assertj-guava.version>
        <assertj-vavr.version>0.4.2</assertj-vavr.version>
        <mockito.version>4.4.0</mockito.version>
        <wiremock.version>2.27.2</wiremock.version>
        <asm.version>9.3</asm.version>
        <jsonassert.version>1.5.1</jsonassert.version>
        <arquillian.version>1.5.0.Final</arquillian.version>
        <arquillian-tomee-openejb.version>1.7.5</arquillian-tomee-openejb.version>
        <arquillian-tomee.version>7.0.7</arquillian-tomee.version>
        <jcache-ri.version>1.1.1</jcache-ri.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.sap.cloud.sdk</groupId>
                <artifactId>sdk-modules-bom</artifactId>
                <version>${sdk.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- SAP Passport API -->

            <dependency>
                <groupId>com.sap.core.jdsr</groupId>
                <artifactId>com.sap.js.passport.api</artifactId>
                <version>${sap-passport-api.version}</version>
            </dependency>

            <!-- SAP Cloud Platform SDK for service development -->

            <dependency>
                <groupId>com.sap.cloud.servicesdk</groupId>
                <artifactId>odatav2-connectivity-sdk3</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk</groupId>
                <artifactId>odata-v2-lib</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>api</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>odatav4</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>odata2.web</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>odata2.xsa</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>odatav2-hybrid</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.servicesdk.prov</groupId>
                <artifactId>odatav2-prov</artifactId>
                <version>${servicesdk.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.archetypes</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.cloudplatform</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.frameworks</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.plugins</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.quality</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sap.cloud.s4hana.services</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- SAP Cloud Platform - Neo -->

            <dependency>
                <groupId>com.sap.cloud</groupId>
                <artifactId>neo-javaee7-wp-api</artifactId>
                <version>${scp-neo-javaee7.sdk.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud</groupId>
                <artifactId>neo-java-web-api</artifactId>
                <version>${scp-neo-tomcat8.sdk.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sap.core.service.auditlog</groupId>
                <artifactId>com.sap.core.service.auditlog.api</artifactId>
                <version>${scp-neo.auditlog.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.core.service.auditlog</groupId>
                <artifactId>com.sap.core.service.auditlog.impl</artifactId>
                <version>${scp-neo.auditlog.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.core.service.auditlog</groupId>
                <artifactId>com.sap.core.service.auditlog.extension.api</artifactId>
                <version>${scp-neo.auditlog.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.core.service.auditlog</groupId>
                <artifactId>com.sap.core.service.auditlog.extension.impl</artifactId>
                <version>${scp-neo.auditlog.version}</version>
            </dependency>

            <!-- SAP Cloud Platform - Cloud Foundry -->

            <dependency>
                <groupId>com.sap.xs.java</groupId>
                <artifactId>xs-env</artifactId>
                <version>${scp-cf.xs-env.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sap.xs2.security</groupId>
                <artifactId>security-commons</artifactId>
                <version>${scp-cf.xs-security.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.xs2.security</groupId>
                <artifactId>java-container-security</artifactId>
                <version>${scp-cf.xs-security.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sap.xs.auditlog</groupId>
                <artifactId>audit-java-client-api</artifactId>
                <version>${scp-cf.auditlog.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.xs.auditlog</groupId>
                <artifactId>audit-java-client-impl</artifactId>
                <version>${scp-cf.auditlog.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sap.hcp.cf.logging</groupId>
                <artifactId>cf-java-logging-support-logback</artifactId>
                <version>${scp-cf.logging-support.version}</version>
            </dependency>

            <!-- SAP Cloud Platform - Cloud Foundry XSUAA Client -->

            <dependency>
                <groupId>com.sap.cloud.security.xsuaa</groupId>
                <artifactId>token-client</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.security</groupId>
                <artifactId>java-api</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.security</groupId>
                <artifactId>java-security</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.security</groupId>
                <artifactId>java-security-test</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.security.xsuaa</groupId>
                <artifactId>xsuaa-spring-boot-starter</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sap.cloud.security</groupId>
                <artifactId>env</artifactId>
                <version>${scp-cf.xsuaa-client.version}</version>
            </dependency>

            <!-- SAP Java Connector -->

            <!--
            In order to be able to use the SAP Java Connector (JCo) in local tests, you have two options:

              1) Install JCo in your local Maven repository.

                 This option is recommended as it avoids dependency issues
                 with the "system" scope in multi-module projects.

                 First, since this library is not available via Maven Central,
                 download the version referenced below from https://launchpad.support.sap.com/ for your target platform
                 or use the version in ${project.rootdir}/sapjco3.

                 Then, install the dependency with executing this command inside
                 the directory where your the file sapjco3.jar resides:

                     mvn install:install-file -Dfile=sapjco3.jar -DgroupId=com.sap.conn.jco -DartifactId=com.sap.conn.jco.sapjco3 -Dversion=${sapjco3.version} -Dpackaging=jar

                 Finally, add the following dependency to your project:

                     <dependency>
                         <groupId>com.sap.conn.jco</groupId>
                         <artifactId>com.sap.conn.jco.sapjco3</artifactId>
                         <scope>test</scope>
                     </dependency>

                  Note that the use of scope "test" enables the clean use of this module from within other modules.

              2) Add a dependency to the SAP Java Connector (JCo) library.

                 First, download the version referenced below from https://launchpad.support.sap.com/ for your target platform.
                 Then, add the following dependency to your test module:

                     <dependency>
                         <groupId>com.sap.conn.jco</groupId>
                         <artifactId>sapjco3</artifactId>
                         <scope>system</scope>
                         <systemPath>${sapjco3.path}/sapjco3.jar</systemPath>
                     </dependency>

                 Finally, set the property "sapjco3.path" to point to your respective JCo directory.
                 Be aware that using scope "system" is discouraged since it can lead to issues in multi-module projects.
            -->
            <dependency>
                <groupId>com.sap.conn.jco</groupId>
                <artifactId>com.sap.conn.jco.sapjco3</artifactId>
                <version>${sapjco3.version}</version>
            </dependency>

            <!-- only available in the internal SAP Artifactory -->
            <dependency>
                <groupId>com.sap.conn.jco</groupId>
                <artifactId>sapjco3</artifactId>
                <version>${sapjco3.version}</version>
            </dependency>

            <!-- Third-party -->

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-ext</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>log4j-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>${findbugs-jsr305.version}</version>
            </dependency>

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-testlib</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>${caffeine.version}</version>
            </dependency>

            <dependency>
                <groupId>io.vavr</groupId>
                <artifactId>vavr</artifactId>
                <version>${vavr.version}</version>
            </dependency>

            <dependency>
                <groupId>javax.cache</groupId>
                <artifactId>cache-api</artifactId>
                <version>${jcache.version}</version>
            </dependency>

            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>

            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${json.version}</version>
            </dependency>
            <dependency>
                <groupId>com.jayway.jsonpath</groupId>
                <artifactId>json-path</artifactId>
                <version>${json-path.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${jackson.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson-databind.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.mikesamuel</groupId>
                <artifactId>json-sanitizer</artifactId>
                <version>${owasp-json-sanitizer.version}</version>
            </dependency>

            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${java-jwt.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>

            <dependency>
                <groupId>commons-configuration</groupId>
                <artifactId>commons-configuration</artifactId>
                <version>${commons-configuration.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-csv</artifactId>
                <version>${commons-csv.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpcore.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcomponents-client</artifactId>
                <version>${httpcomponents-client.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpcomponents-client.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.cxf</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>cxf-core</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-management</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-bindings-soap</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-bindings-xml</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-addr</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-rm</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-policy</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-mex</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-security</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxws</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-client</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-extension-providers</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-extension-search</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-security-cors</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-security-oauth2</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-security-xml</artifactId>
                <version>${cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-security-sso-saml</artifactId>
                <version>${cxf.version}</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.persistence</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>eclipselink</artifactId>
                <version>${eclipselink.version}</version>
            </dependency>

            <dependency>
                <groupId>org.liquibase</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>liquibase-core</artifactId>
                <version>${liquibase.version}</version>
            </dependency>

            <dependency>
                <groupId>org.togglz</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>togglz-core</artifactId>
                <version>${togglz.version}</version>
            </dependency>
            <dependency>
                <groupId>org.togglz</groupId>
                <artifactId>togglz-servlet</artifactId>
                <version>${togglz.version}</version>
            </dependency>
            <dependency>
                <groupId>org.togglz</groupId>
                <artifactId>togglz-console</artifactId>
                <version>${togglz.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-adb</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-http</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-transport-local</artifactId>
                <version>${axis2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-kernel</artifactId>
                <version>${axis2.version}</version>
            </dependency>

            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger-annotations.version}</version>
            </dependency>

            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-circuitbreaker</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-bulkhead</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-timelimiter</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-cache</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-retry</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>
            <dependency>
                <groupId>io.github.resilience4j</groupId>
                <artifactId>resilience4j-ratelimiter</artifactId>
                <version>${resilience4j.version}</version>
            </dependency>

            <!-- Testing -->

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${junit.jupiter.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>

            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj-core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-guava</artifactId>
                <version>${assertj-guava.version}</version>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-vavr</artifactId>
                <version>${assertj-vavr.version}</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock</artifactId>
                <version>${wiremock.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>

            <!-- blockchain-client-fabric -->
            <dependency>
                <groupId>org.hyperledger.fabric-sdk-java</groupId>
                <artifactId>fabric-sdk-java</artifactId>
                <version>${fabric-sdk-java.version}</version>
            </dependency>

            <dependency>
                <groupId>org.hyperledger.fabric</groupId>
                <artifactId>fabric-gateway-java</artifactId>
                <version>${fabric-gateway-java.version}</version>
            </dependency>

            <!-- avoid class loading issues with Spring and WireMock -->
            <dependency>
                <groupId>org.skyscreamer</groupId>
                <artifactId>jsonassert</artifactId>
                <version>${jsonassert.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${arquillian.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.apache.openejb</groupId>
                <artifactId>arquillian-tomee-embedded</artifactId>
                <version>${arquillian-tomee-openejb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.openejb</groupId>
                <artifactId>tomee-embedded</artifactId>
                <version>${arquillian-tomee-openejb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.openejb</groupId>
                <artifactId>tomee-jaxrs</artifactId>
                <version>${arquillian-tomee-openejb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.openejb</groupId>
                <artifactId>tomee-webservices</artifactId>
                <version>${arquillian-tomee-openejb.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.tomee</groupId>
                <artifactId>arquillian-tomee-embedded</artifactId>
                <version>${arquillian-tomee.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomee</groupId>
                <artifactId>tomee-embedded</artifactId>
                <version>${arquillian-tomee.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomee</groupId>
                <artifactId>tomee-jaxrs</artifactId>
                <version>${arquillian-tomee.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tomee</groupId>
                <artifactId>tomee-webservices</artifactId>
                <version>${arquillian-tomee.version}</version>
            </dependency>

            <dependency>
                <groupId>org.togglz</groupId>
                <artifactId>togglz-testing</artifactId>
                <version>${togglz.version}</version>
            </dependency>
            <dependency>
                <groupId>org.togglz</groupId>
                <artifactId>togglz-junit</artifactId>
                <version>${togglz.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jsr107.ri</groupId>
                <artifactId>cache-ri-impl</artifactId>
                <version>${jcache-ri.version}</version>
            </dependency>

            <!-- Spring and Java EE -->

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${spring.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-bom</artifactId>
                <version>${spring-security.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>${javax-javaee.version}</version>
            </dependency>
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-web-api</artifactId>
                <version>${javax-javaee.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ejb</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>javax.ejb-api</artifactId>
                <version>${javax-ejb.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${javax-inject.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>javax.persistence</artifactId>
                <version>${javax-persistence.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>validation-api</artifactId>
                <version>${javax-validation.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax-servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId> <!-- CLOUDECOSYSTEM-9442: Remove -->
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${javax-ws-rs.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.jms</groupId>
                <artifactId>javax.jms-api</artifactId>
                <version>${javax-jms.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jsonschema2pojo</groupId>
                <artifactId>jsonschema2pojo-core</artifactId>
                <version>${jsonschema2pojo.version}</version>
            </dependency>

            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${snakeyml.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
