<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.tractusx.irs</groupId>
        <artifactId>irs-parent-spring-boot</artifactId>
        <version>${revision}</version>
        <relativePath>../irs-parent-spring-boot</relativePath>
    </parent>

    <artifactId>irs-edc-client</artifactId>
    <version>${irs-registry-client.version}</version>
    <name>EDC Client</name>
    <description>Client library to easily talk to the EDC</description>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.tractusx.irs</groupId>
            <artifactId>irs-models</artifactId>
            <version>${irs-registry-client.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.yaml</groupId>
                    <artifactId>snakeyaml</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jakarta.annotation</groupId>
                    <artifactId>jakarta.annotation-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.yaml</groupId>
                    <artifactId>snakeyaml</artifactId>
                </exclusion>
            </exclusions>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-validator</groupId>
            <artifactId>commons-validator</artifactId>
            <version>${commons-validator.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>io.github.resilience4j</groupId>
            <artifactId>resilience4j-annotations</artifactId>
            <version>${resilience4j.version}</version>
        </dependency>
        <dependency>
            <groupId>io.github.resilience4j</groupId>
            <artifactId>resilience4j-retry</artifactId>
            <version>${resilience4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>${swagger-annotations.version}</version>
        </dependency>
        <!-- EDC Client -->
        <dependency>
            <groupId>org.eclipse.edc</groupId>
            <artifactId>connector-core</artifactId>
            <version>${edc.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>runtime-metamodel</artifactId>
                    <groupId>org.eclipse.edc</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk18on</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcpkix-jdk18on</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- Below overrides the one provided with above EDC Client -->
        <dependency>
            <groupId>com.squareup.okio</groupId>
            <artifactId>okio-jvm</artifactId>
            <version>${okio-jvm.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk18on</artifactId>
            <version>${bc-jdk18on.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk18on</artifactId>
            <version>${bc-jdk18on.version}</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.edc</groupId>
            <artifactId>dsp</artifactId>
            <version>${edc.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>runtime-metamodel</artifactId>
                    <groupId>org.eclipse.edc</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>websocket-jakarta-server</artifactId>
                    <groupId>org.eclipse.jetty.websocket</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty.websocket</groupId>
            <artifactId>websocket-jakarta-server</artifactId>
            <version>11.0.16</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.edc</groupId>
            <artifactId>json-ld</artifactId>
            <version>${edc.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>runtime-metamodel</artifactId>
                    <groupId>org.eclipse.edc</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <artifactId>runtime-metamodel</artifactId>
            <groupId>org.eclipse.edc</groupId>
            <version>${edc.version}</version>
        </dependency>

        <dependency>
            <groupId>org.eclipse.tractusx.irs</groupId>
            <artifactId>irs-testing</artifactId>
            <version>${irs-registry-client.version}</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.yaml</groupId>
                    <artifactId>snakeyaml</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.wiremock</groupId>
            <artifactId>wiremock-standalone</artifactId>
            <version>${wiremock-standalone.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>${rest-assured.version}</version>
            <scope>test</scope>
            <exclusions>
                <!-- remove conflicting dependency because declared in 2 differents versions (3 & 4) -->
                <exclusion>
                    <groupId>org.apache.groovy</groupId>
                    <artifactId>groovy-xml</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>json-path</artifactId>
            <version>${rest-assured.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <!-- add this dep which bring back the groovy-xml in a single and last version (4) -->
            <groupId>io.rest-assured</groupId>
            <artifactId>xml-path</artifactId>
            <version>${rest-assured.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured-common</artifactId>
            <version>${rest-assured.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.awaitility</groupId>
            <artifactId>awaitility</artifactId>
            <version>${awaitility.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>
