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

    Copyright (c) 2026 Contributors to the Eclipse Foundation. All rights reserved.
    Copyright (c) 2025 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0,
    or the Eclipse Distribution License v. 1.0 which is available at
    http://www.eclipse.org/org/documents/edl-v10.php.

    SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause

-->

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.bom</artifactId>
        <version>5.0.0-RC1</version>
        <relativePath>../bom/pom.xml</relativePath>
    </parent>

    <artifactId>org.eclipse.persistence.dependencies</artifactId>
    <packaging>pom</packaging>

    <name>EclipseLink Dependencies</name>

    <properties>
        <!--EclipseLink sub-projects-->
        <commonj.sdo.version>2.1.1</commonj.sdo.version>
        <oracle.ddlparser.version>3.0.1</oracle.ddlparser.version>

        <!--Jakarta APIs-->
        <annotation.version>3.0.0</annotation.version>
        <activation-api.version>2.1.4</activation-api.version>
        <mail-api.version>2.1.5</mail-api.version>
        <ejb.version>4.0.1</ejb.version>
        <cdi.version>4.1.0</cdi.version>
        <jms.version>3.1.0</jms.version>
        <json.version>2.1.3</json.version>
        <jpa.api.version>3.2.0</jpa.api.version>
        <resource.version>2.1.0</resource.version>
        <servlet.version>6.1.0</servlet.version>
        <transaction.version>2.0.1</transaction.version>
        <validation.version>3.1.1</validation.version>
        <jaxb.api.version>4.0.5</jaxb.api.version>
        <soap.api.version>3.0.2</soap.api.version>
        <ws-api.version>4.0.3</ws-api.version>
        <ws-rs.version>4.0.0</ws-rs.version>

        <!--Implementations-->
        <asm.version>9.9.1</asm.version>
        <angus-activation.version>2.0.3</angus-activation.version>
        <angus-mail.version>2.0.5</angus-mail.version>
        <jaxb.version>4.0.6</jaxb.version>
        <jaxwsrt.version>4.0.3</jaxwsrt.version>
        <ant.version>1.10.15</ant.version>
        <apache.felix.framework.version>7.0.5</apache.felix.framework.version>
        <parsson.version>1.1.7</parsson.version>
        <org.glassfish.corba.version>5.0.0</org.glassfish.corba.version>
        <jgroups.version>5.3.11.Final</jgroups.version>
        <slf4j.version>2.0.17</slf4j.version>
        <wsdl4j.version>1.6.3</wsdl4j.version>
        <mongodb.version>5.6.4</mongodb.version>
        <oracle.nosql.version>18.3.10</oracle.nosql.version>
        <oracle.nosql.sdk.version>5.4.19</oracle.nosql.sdk.version>
        <oracle.jdbc.version>23.3.0.23.09</oracle.jdbc.version>
        <oracle.aqapi.version>23.8.0.0</oracle.aqapi.version>

        <!--Test dependencies-->
        <!--Test framework-->
        <junit5.version>6.0.3</junit5.version>
        <junit.version>4.13.2</junit.version>
        <archunit.version>1.4.1</archunit.version>
        <el-api.version>6.0.1</el-api.version>
        <weld-se.version>6.0.4.Final</weld-se.version>
        <expressly.version>6.0.0</expressly.version>
        <jersey.version>4.0.2</jersey.version>
        <glassfish.version>8.0.0-JDK17-M12</glassfish.version>
        <jmh.version>1.37</jmh.version>
        <springframework.version>7.0.5</springframework.version>
        <hibernate.version>9.1.0.Final</hibernate.version>
        <aspectj.version>1.9.25.1</aspectj.version>
        <exam.version>4.14.0</exam.version>
        <logback.version>1.5.32</logback.version>
        <osgi.version>6.0.0</osgi.version>

        <!--JDBC Drivers-->
        <h2.version>2.4.240</h2.version>
        <mysql.version>9.6.0</mysql.version>
        <mariadb.version>3.5.7</mariadb.version>
        <derby.version>10.17.1.0</derby.version>
        <db2.version>12.1.3.0</db2.version>
        <mssql.version>13.2.1.jre11</mssql.version>
        <pgsql.version>42.7.10</pgsql.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>commonj.sdo</artifactId>
                <version>${commonj.sdo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.oracleddlparser</artifactId>
                <version>${oracle.ddlparser.version}</version>
            </dependency>

            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${annotation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.activation</groupId>
                <artifactId>jakarta.activation-api</artifactId>
                <version>${activation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.mail</groupId>
                <artifactId>jakarta.mail-api</artifactId>
                <version>${mail-api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${ejb.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${cdi.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.jms</groupId>
                <artifactId>jakarta.jms-api</artifactId>
                <version>${jms.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.json</groupId>
                <artifactId>jakarta.json-api</artifactId>
                <version>${json.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.persistence</groupId>
                <artifactId>jakarta.persistence-api</artifactId>
                <version>${jpa.api.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.resource</groupId>
                <artifactId>jakarta.resource-api</artifactId>
                <version>${resource.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${transaction.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.validation</groupId>
                <artifactId>jakarta.validation-api</artifactId>
                <version>${validation.version}</version>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${jaxb.api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.soap</groupId>
                <artifactId>jakarta.xml.soap-api</artifactId>
                <version>${soap.api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${ws-api.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>*</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${ws-rs.version}</version>
            </dependency>

            <!--API/Implementation dependencies-->
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-commons</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-tree</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ow2.asm</groupId>
                <artifactId>asm-util</artifactId>
                <version>${asm.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-activation</artifactId>
                <version>${angus-activation.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.angus</groupId>
                <artifactId>angus-mail</artifactId>
                <version>${angus-mail.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-xjc</artifactId>
                <version>${jaxb.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${jaxwsrt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-eclipselink-plugin</artifactId>
                <version>${jaxwsrt.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant</artifactId>
                <version>${ant.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${apache.felix.framework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.parsson</groupId>
                <artifactId>parsson</artifactId>
                <version>${parsson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.corba</groupId>
                <artifactId>glassfish-corba-omgapi</artifactId>
                <version>${org.glassfish.corba.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.corba</groupId>
                <artifactId>glassfish-corba-orb</artifactId>
                <version>${org.glassfish.corba.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jgroups</groupId>
                <artifactId>jgroups</artifactId>
                <version>${jgroups.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>wsdl4j</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>${wsdl4j.version}</version>
            </dependency>
            <!--NoSQL DBs-->
            <!--Mongo DB-->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongodb-driver-sync</artifactId>
                <version>${mongodb.version}</version>
            </dependency>
            <!--Oracle proprietary dependencies-->
            <!--Oracle NoSQL DB-->
            <dependency>
                <groupId>com.oracle.kv</groupId>
                <artifactId>oracle-nosql-client</artifactId>
                <version>${oracle.nosql.version}</version>
            </dependency>
            <!--Oracle NoSQL SDK Driver-->
            <dependency>
                <groupId>com.oracle.nosql.sdk</groupId>
                <artifactId>nosqldriver</artifactId>
                <version>${oracle.nosql.sdk.version}</version>
            </dependency>
            <!-- All files as a Oracle JDBC driver CQ #21154 -->
            <dependency>
                <groupId>com.oracle.database.jdbc</groupId>
                <artifactId>ojdbc-bom</artifactId>
                <version>${oracle.jdbc.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--TODO resolve dependency later
                                <dependency>
                                    <groupId>com.oracle.spatial</groupId>
                                    <artifactId>sdoapi</artifactId>
                                    <version>${oracle.version}</version>
                                </dependency>
            -->
            <dependency>
                <groupId>com.oracle.database.messaging</groupId>
                <artifactId>aqapi-jakarta</artifactId>
                <version>${oracle.aqapi.version}</version>
            </dependency>
            <!--Test dependencies-->
            <!--Test framework-->
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${junit5.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit</artifactId>
                <version>${archunit.version}</version>
            </dependency>
            <!--APIs and other libs used in test classes-->
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${el-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${weld-se.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.expressly</groupId>
                <artifactId>expressly</artifactId>
                <version>${expressly.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>${jersey.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.main.appclient</groupId>
                <artifactId>gf-client</artifactId>
                <version>${glassfish.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-core</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openjdk.jmh</groupId>
                <artifactId>jmh-generator-annprocess</artifactId>
                <version>${jmh.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-instrument</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <!-- Hibernate validator and it's dependencies -->
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjtools</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <!--PaxExam -->
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-forked</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${exam.version}</version>
            </dependency>
            <!--Test Logging, required by Pax and extension module-->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <!--Test OSGi core-->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${osgi.version}</version>
            </dependency>

            <!--JDBC drivers-->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mariadb.jdbc</groupId>
                <artifactId>mariadb-java-client</artifactId>
                <version>${mariadb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derbyclient</artifactId>
                <version>${derby.version}</version>
            </dependency>
            <dependency>
                <groupId>com.ibm.db2</groupId>
                <artifactId>jcc</artifactId>
                <version>${db2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.microsoft.sqlserver</groupId>
                <artifactId>mssql-jdbc</artifactId>
                <version>${mssql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${pgsql.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <profiles>
        <profile>
            <id>license-check</id>
            <pluginRepositories>
                <pluginRepository>
                    <!-- org.eclipse.dash:license-tool-plugin is nor final nor in central yet -->
                    <id>dash-licenses-snapshots</id>
                    <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.eclipse.dash</groupId>
                            <artifactId>license-tool-plugin</artifactId>
                            <version>1.1.1-SNAPSHOT</version>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.eclipse.dash</groupId>
                        <artifactId>license-tool-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>license-check</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>license-check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
