<?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>
    <parent>
        <groupId>ai.wanaku</groupId>
        <artifactId>wanaku</artifactId>
        <version>0.0.9</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>parent</artifactId>
    <name>Wanaku :: Parent</name>
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.parameters>true</maven.compiler.parameters>
        <!-- Plugins -->
        <maven-assembly-plugin.version>3.8.0</maven-assembly-plugin.version>
        <maven-compiler-plugin.version>3.14.1</maven-compiler-plugin.version>
        <maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
        <maven-failsafe-plugin.version>3.5.4</maven-failsafe-plugin.version>
        <maven-jar-plugin.version>3.5.0</maven-jar-plugin.version>
        <maven-plugin-plugin.version>3.8.1</maven-plugin-plugin.version>
        <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
        <maven-clean-plugin.version>3.4.0</maven-clean-plugin.version>
        <maven-install-plugin.version>3.1.3</maven-install-plugin.version>
        <maven-deploy-plugin.version>3.1.3</maven-deploy-plugin.version>
        <maven-site-plugin.version>3.21.0</maven-site-plugin.version>
        <maven-enforcer-plugin-version>3.5.0</maven-enforcer-plugin-version>
        <build-helper-maven-plugin.version>3.6.0</build-helper-maven-plugin.version>
        <executable-suffix />
        <distribution.directory>${project.build.directory}/distributions</distribution.directory>

        <!-- Container stuff -->
        <quarkus.container-image.registry>quay.io</quarkus.container-image.registry>
        <quarkus.container-image.group>wanaku</quarkus.container-image.group>
        <quarkus.container-image.tag>latest</quarkus.container-image.tag>
        <quarkus.container-image.build>false</quarkus.container-image.build>
        <quarkus.container-image.push>false</quarkus.container-image.push>

        <quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
        <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>

        <!-- Deps -->
        <quarkus.platform.version>3.27.1</quarkus.platform.version>
        <jackson.version>2.20.0</jackson.version>
        <junit-jupiter.version>5.14.1</junit-jupiter.version>
        <quarkus-mcp-server.version>1.8.1</quarkus-mcp-server.version>
        <quarkus-oidc-proxy.version>0.4.1</quarkus-oidc-proxy.version>
        <camel.version>4.12.0</camel.version>
        <picocli.version>4.7.7</picocli.version>
        <langchain4j.version>1.8.0</langchain4j.version>
        <langchain4j-mcp.version>1.8.0-beta15</langchain4j-mcp.version>
        <quarkus-quinoa.version>2.6.2</quarkus-quinoa.version>
        <test-containers.version>1.21.3</test-containers.version>
        <commons-pool2.version>2.12.1</commons-pool2.version>
        <jsonassert-version>1.5.3</jsonassert-version>
        <swagger-core-version>2.2.41</swagger-core-version>
        <jline-version>3.30.6</jline-version>
        <swagger-parser.version>2.1.36</swagger-parser.version>
        <quarkus-infinispan-embedded.version>1.2.1</quarkus-infinispan-embedded.version>
        <assertj-version>3.27.6</assertj-version>
        <juniversalchardet-version>1.0.3</juniversalchardet-version>
        <jansi-version>2.4.2</jansi-version>
        <jna.version>5.18.1</jna.version>
        <commons-logging.version>1.3.5</commons-logging.version>
        <spotless-maven-plugin.version>3.0.0</spotless-maven-plugin.version>
        <quarkus-operator-sdk.version>7.3.0</quarkus-operator-sdk.version>
        <quarkus-helm.version>1.2.7</quarkus-helm.version>
        <wanaku-capabilities-sdk.version>0.0.9</wanaku-capabilities-sdk.version>
        <commonmark.version>0.27.0</commonmark.version>
        <oauth2-oidc-sdk.version>11.29.2</oauth2-oidc-sdk.version>

        <assembly.descriptor>src/main/assembly/assembly.xml</assembly.descriptor>
        <dist.final.name>${project.artifactId}-${project.version}</dist.final.name>

    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${quarkus.platform.group-id}</groupId>
                <artifactId>${quarkus.platform.artifact-id}</artifactId>
                <version>${quarkus.platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>${quarkus.platform.group-id}</groupId>
                <artifactId>quarkus-operator-sdk-bom</artifactId>
                <version>${quarkus.platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>info.picocli</groupId>
                <artifactId>picocli</artifactId>
                <version>${picocli.version}</version>
            </dependency>

            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-bom</artifactId>
                <version>${langchain4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>ai.wanaku.sdk</groupId>
                <artifactId>capabilities-bom</artifactId>
                <version>${wanaku-capabilities-sdk.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

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

            <dependency>
                <groupId>io.swagger.parser.v3</groupId>
                <artifactId>swagger-parser</artifactId>
                <version>${swagger-parser.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.diffplug.spotless</groupId>
                    <artifactId>spotless-maven-plugin</artifactId>
                    <version>${spotless-maven-plugin.version}</version>
                    <configuration>
                        <java>
                            <palantirJavaFormat>
                                <version>2.71.0</version>
                            </palantirJavaFormat>
                            <removeUnusedImports />
                            <formatAnnotations />
                        </java>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>apply</goal>
                            </goals>
                            <phase>compile</phase>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>