<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Copyright The WildFly Authors
  ~ SPDX-License-Identifier: Apache-2.0
  -->

<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>org.wildfly</groupId>
        <artifactId>wildfly-parent</artifactId>
        <!--
        Maintain separation between the artifact id and the version to help prevent
        merge conflicts between commits changing the GA and those changing the V.
        -->
        <version>42.0.0.Final</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <artifactId>wildfly-standard-ee-bom</artifactId>
    <description>
        Build of materials that can be used to build standard WildFly maven modules
        that provide traditional capabilities like Jakarta EE.
    </description>
    <packaging>pom</packaging>

    <name>WildFly: Dependency Management (Base Dependencies)</name>

    <properties>
        <version.jakarta.enterprise>4.1.0</version.jakarta.enterprise>
        <version.jakarta.json.bind.api>3.0.4</version.jakarta.json.bind.api>
        <version.org.eclipse.yasson>3.0.5</version.org.eclipse.yasson>
        <version.org.jboss.weld.weld>6.0.4.Final</version.org.jboss.weld.weld>
        <version.org.jboss.weld.weld-api>6.0.Final</version.org.jboss.weld.weld-api>
    </properties>

    <dependencyManagement>
        <dependencies>

            <!-- Bom-specific dependencies.

                 DO NOT add entries here for items shared between standard WildFly and WildFly Preview.

                 Keep sorted!
             -->

            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-product-conf</artifactId>
                <version>${ee.maven.version}</version>
            </dependency>
            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-ee-feature-pack-product-conf</artifactId>
                <classifier>version</classifier>
                <type>txt</type>
                <version>${ee.maven.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${version.jakarta.enterprise}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-el-api</artifactId>
                <version>${version.jakarta.enterprise}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.lang-model</artifactId>
                <version>${version.jakarta.enterprise}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>jakarta.json.bind</groupId>
                <artifactId>jakarta.json.bind-api</artifactId>
                <version>${version.jakarta.json.bind.api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.eclipse.yasson</groupId>
                <artifactId>yasson</artifactId>
                <version>${version.org.eclipse.yasson}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                    <!-- This seems to require an explicit exclusion for yasson 1.0.4 -->
                    <exclusion>
                        <groupId>org.glassfish</groupId>
                        <artifactId>jakarta.json</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-api</artifactId>
                <version>${version.org.jboss.weld.weld-api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core-impl</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-lite-extension-translator</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-spi</artifactId>
                <version>${version.org.jboss.weld.weld-api}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.module</groupId>
                <artifactId>weld-ejb</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.module</groupId>
                <artifactId>weld-jsf</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.module</groupId>
                <artifactId>weld-jta</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.module</groupId>
                <artifactId>weld-web</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!--
                Inherit the shared deps. Place these last so any overrides above take precedence.
             -->
            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-preview-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-standard-legacy-ee-bom</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>${ee.maven.groupId}</groupId>
                <artifactId>wildfly-common-ee-dependency-management</artifactId>
                <version>${ee.maven.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>
