<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>quarkus-azure-functions-parent</artifactId>
        <groupId>io.quarkus</groupId>
        <version>9.9.9-ckronberger</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>quarkus-azure-functions-deployment</artifactId>
    <name>Quarkus - Azure Functions - Deployment</name>

    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-azure-functions</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-arc-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-core-deployment</artifactId>
        </dependency>
        <dependency>
            <groupId>com.microsoft.azure.functions</groupId>
            <artifactId>azure-functions-java-library</artifactId>
        </dependency>
        <!-- azure-toolkit-appservice-lib creates a ton of dependency convergencs -->
        <dependency>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-toolkit-appservice-lib</artifactId>
            <exclusions>
                <!--
                <exclusion>
                    <groupId>org.javassist</groupId>
                    <artifactId>javassist</artifactId>
                </exclusion>
                -->
                 <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.checkerframework</groupId>
                    <artifactId>checker-qual</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure.resourcemanager</groupId>
                    <artifactId>azure-resourcemanager-appservice</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-json</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core-management</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core-http-netty</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.microsoft.azure</groupId>
                    <artifactId>msal4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>net.minidev</groupId>
                    <artifactId>json-smart</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.fusesource.jansi</groupId>
                    <artifactId>jansi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>net.java.dev.jna</groupId>
                    <artifactId>jna-platform</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- resolve dependency convergences -->
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna-platform</artifactId>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-core</artifactId>
            <version>1.55.3</version>
            <exclusions>
                <exclusion>
                    <groupId>io.projectreactor</groupId>
                    <artifactId>reactor-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-json</artifactId>
            <version>1.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-core-http-netty</artifactId>
            <version>1.15.11</version>
            <exclusions>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.azure.resourcemanager</groupId>
            <artifactId>azure-resourcemanager-appservice</artifactId>
            <version>2.45.0</version>
            <exclusions>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-json</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.azure</groupId>
                    <artifactId>azure-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
   </dependencies>

   <build>
       <plugins>
           <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <executions>
                   <execution>
                       <id>default-compile</id>
                       <configuration>
                           <annotationProcessorPaths>
                               <path>
                                   <groupId>io.quarkus</groupId>
                                   <artifactId>quarkus-extension-processor</artifactId>
                                   <version>${project.version}</version>
                               </path>
                           </annotationProcessorPaths>
                       </configuration>
                   </execution>
               </executions>
           </plugin>

       </plugins>
   </build>
</project>
