<?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>io.smallrye</groupId>
        <artifactId>smallrye-build-parent</artifactId>
        <version>36</version>
    </parent>

    <artifactId>smallrye-parent</artifactId>
    <packaging>pom</packaging>

    <name>SmallRye: Parent</name>
    <description>SmallRye Parent POM</description>

    <properties>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.testTarget>${maven.compiler.target}</maven.compiler.testTarget>
        <maven.compiler.testSource>${maven.compiler.source}</maven.compiler.testSource>

        <!-- Dependency versions -->
        <version.jakarta.api>8.0.0</version.jakarta.api>
        <version.jakarta.annotation.api>1.3.5</version.jakarta.annotation.api>
        <version.jakarta.enterprise.cdi.api>2.0.2</version.jakarta.enterprise.cdi.api>
        <version.jakarta.json-p.api>1.1.6</version.jakarta.json-p.api>
        <version.jakarta.json-b.api>1.0.2</version.jakarta.json-b.api>
        <version.jakarta.ws.rs.api>2.1.6</version.jakarta.ws.rs.api>
        <version.jakarta.jms.api>2.0.3</version.jakarta.jms.api>

        <version.org.jboss.logging>3.4.3.Final</version.org.jboss.logging>
        <version.org.jboss.logging-processor>2.2.1.Final</version.org.jboss.logging-processor>
        <version.weld.api>3.1.Final</version.weld.api>
        <version.weld.core>3.1.7.SP1</version.weld.core>
        <version.org.jboss.jandex>2.4.3.Final</version.org.jboss.jandex>
        <version.glassfish.json>1.1.6</version.glassfish.json>

        <!-- Testing versions -->
        <version.assertj>3.23.1</version.assertj>
        <version.awaitility>4.2.0</version.awaitility>
        <version.org.jboss.arquillian>1.6.0.Final</version.org.jboss.arquillian>
        <version.org.jboss.arquillian.container.weld-embedded>2.1.0.Final</version.org.jboss.arquillian.container.weld-embedded>
        <version.org.jboss.arquillian.wildfly>3.0.1.Final</version.org.jboss.arquillian.wildfly>
        <version.junit>4.13.2</version.junit>
        <version.junit5>5.9.0</version.junit5>
        <version.weld.junit>2.0.2.Final</version.weld.junit>
        <version.rest-assured>4.5.1</version.rest-assured>
        <version.testng>6.14.3</version.testng>
        <version.testcontainers>1.17.3</version.testcontainers>
        <version.wildfly>18.0.1.Final</version.wildfly>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- Jakarta EE -->
            <dependency>
                <groupId>jakarta.platform</groupId>
                <artifactId>jakarta.jakartaee-api</artifactId>
                <version>${version.jakarta.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${version.jakarta.enterprise.cdi.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${version.jakarta.ws.rs.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${version.jakarta.annotation.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json.bind</groupId>
                <artifactId>jakarta.json.bind-api</artifactId>
                <version>${version.jakarta.json-b.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${version.jakarta.json-p.api}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.jms</groupId>
                <artifactId>jakarta.jms-api</artifactId>
                <version>${version.jakarta.jms.api}</version>
            </dependency>

            <!-- Weld -->
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-spi</artifactId>
                <version>${version.weld.api}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-api</artifactId>
                <version>${version.weld.api}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core-impl</artifactId>
                <version>${version.weld.core}</version>
            </dependency>

            <!-- Glassfish -->
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.json</artifactId>
                <version>${version.glassfish.json}</version>
            </dependency>

            <!-- Logging -->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.org.jboss.logging}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
                <version>${version.org.jboss.logging-processor}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-processor</artifactId>
                <version>${version.org.jboss.logging-processor}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss</groupId>
                <artifactId>jandex</artifactId>
                <version>${version.org.jboss.jandex}</version>
            </dependency>

            <!-- Testing -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <scope>test</scope>
                <version>${version.junit}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-junit4</artifactId>
                <version>${version.weld.junit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${version.junit5}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
                <version>${version.junit5}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
                <version>${version.junit5}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-junit5</artifactId>
                <version>${version.weld.junit}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>${version.testng}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${version.assertj}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.awaitility</groupId>
                <artifactId>awaitility</artifactId>
                <version>${version.awaitility}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${version.rest-assured}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${version.testcontainers}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.org.jboss.arquillian}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-weld-embedded</artifactId>
                <version>${version.org.jboss.arquillian.container.weld-embedded}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-managed</artifactId>
                <version>${version.org.jboss.arquillian.wildfly}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
</project>
