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

<!--
 Copyright (c) 2012-2019 Red Hat, Inc. and/or its affiliates.

 This program and the accompanying materials are made
 available under the terms of the Eclipse Public License 2.0
 which is available at https://www.eclipse.org/legal/epl-2.0/

 SPDX-License-Identifier: EPL-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.jboss</groupId>
        <artifactId>jboss-parent</artifactId>
        <version>47</version>
    </parent>

    <groupId>org.jberet</groupId>
    <artifactId>jberet-parent</artifactId>
    <version>3.1.0.Final</version>

    <name>jberet-parent</name>
    <description>Implementation of Jakarta Batch</description>
    <packaging>pom</packaging>

    <licenses>
        <license>
            <name>Eclipse Public License 2.0</name>
            <url>https://www.eclipse.org/legal/epl-2.0/</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <version.org.jberet.support>3.0.0.Final</version.org.jberet.support>
        <version.org.jboss.apiviz>1.3.2.GA</version.org.jboss.apiviz>
        <version.com.fasterxml.aalto-xml>1.3.3</version.com.fasterxml.aalto-xml>
        <version.com.google.guava>33.3.1-jre</version.com.google.guava>
        <version.com.h2database>2.3.232</version.com.h2database>
        <version.jakarta.enterprise.cdi-api>4.1.0</version.jakarta.enterprise.cdi-api>
        <version.jakarta.inject-api>2.0.1.MR</version.jakarta.inject-api>
        <junit-jupiter.version>5.11.3</junit-jupiter.version>
        <version.rest-assured>5.5.0</version.rest-assured>
        <version.org.codehaus.woodstox.stax2-api>4.2.2</version.org.codehaus.woodstox.stax2-api>
        <version.org.hibernate>6.0.2.Final</version.org.hibernate>
        <version.org.jboss.logging.jboss-logging>3.6.0.Final</version.org.jboss.logging.jboss-logging>
        <version.org.jboss.logging.jboss-logging-tools>3.0.3.Final</version.org.jboss.logging.jboss-logging-tools>
        <version.org.jboss.marshalling>2.1.4.Final</version.org.jboss.marshalling>
        <version.jakarta.batch-api>2.1.1</version.jakarta.batch-api>
        <version.jakarta-transaction-api>2.0.1</version.jakarta-transaction-api>
        <version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec>1.1.1.Final</version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec>
        <version.org.jboss.weld.weld>5.1.3.Final</version.org.jboss.weld.weld>
        <version.org.jboss.weld.weld-se>5.1.2.Final</version.org.jboss.weld.weld-se>
        <version.org.mapstruct>1.6.3</version.org.mapstruct>
        <version.net.sf.supercsv>2.4.0</version.net.sf.supercsv>
        <version.com.fasterxml.jackson>2.18.2</version.com.fasterxml.jackson>
        <version.org.mongodb.mongo-java-driver>3.12.14</version.org.mongodb.mongo-java-driver>

        <version.org.infinispan>14.0.25.Final</version.org.infinispan>
        <version.org.jgroups>5.3.13.Final</version.org.jgroups>
        <version.org.apache.poi>4.1.2</version.org.apache.poi>
        <version.commons-codec>1.17.1</version.commons-codec>
        <version.commons-exec>1.3</version.commons-exec>
        <version.dom4j>1.6.1</version.dom4j>
        <version.org.apache.xmlbeans>5.2.2</version.org.apache.xmlbeans>

        <version.org.openjdk.nashorn>15.4</version.org.openjdk.nashorn>
        <version.org.apache.groovy>4.0.24</version.org.apache.groovy>
        <version.org.jruby.jruby>9.0.0.0</version.org.jruby.jruby>
        <version.org.python.jython>2.7.4</version.org.python.jython>
        <version.org.scala-lang.scala-dist>2.13.14</version.org.scala-lang.scala-dist>
        <version.com.caucho.resin-quercus>3.2.1</version.com.caucho.resin-quercus>
        <version.jakarta.annotation-api>3.0.0</version.jakarta.annotation-api>
        <version.jakarta.servlet-api>6.1.0</version.jakarta.servlet-api>
        <version.javax.servlet-api>4.0.1</version.javax.servlet-api>
        <version.jakarta.xml.bind-api>4.0.2</version.jakarta.xml.bind-api>
        <version.jakarta.xml.ws-api>4.0.2</version.jakarta.xml.ws-api>

        <version.jakarta.jms-api>3.1.0</version.jakarta.jms-api>
        <version.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>2.0.0.Final</version.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec>
        <version.io.netty>4.1.115.Final</version.io.netty>

        <version.org.hibernate.validator>8.0.1.Final</version.org.hibernate.validator>
        <version.jakarta.el-api>5.0.1</version.jakarta.el-api>
        <version.org.glassfish.jakarta.el>4.0.2</version.org.glassfish.jakarta.el>

        <version.org.wildfly.security.elytron>2.6.0.Final</version.org.wildfly.security.elytron>

        <version.jakarta.ws.rs-api>3.1.0</version.jakarta.ws.rs-api>
        <version.jakarta.ejb-api>4.0.1</version.jakarta.ejb-api>

        <version.org.apache.camel>3.22.2</version.org.apache.camel>

        <version.io.vertx>4.5.11</version.io.vertx>
        <version.org.jberet.jberet-vertx-cluster>1.3.9.SP3</version.org.jberet.jberet-vertx-cluster>

        <version.com.datastax.cassandra>3.11.5</version.com.datastax.cassandra>
        <version.org.wildfly.plugins.wildfly-maven-plugin>5.0.1.Final</version.org.wildfly.plugins.wildfly-maven-plugin>
<!--        <server.test.feature.pack.artifactId>wildfly-ee-galleon-pack</server.test.feature.pack.artifactId>-->
        <server.test.feature.pack.artifactId>wildfly-preview-feature-pack</server.test.feature.pack.artifactId>
        <!-- Other properties -->
        <!-- Protocol to use for communication with remote maven repositories.
             You can set to 'http' if you are using a maven proxy and 'https'
             interferes with that. Use 'https' for builds that will be released
             to non-snapshot public maven repos -->
        <maven.repository.protocol>https</maven.repository.protocol>
        <!-- The full remote maven repo URL; can be overridden via -D for special use cases -->
        <maven.repository.url>${maven.repository.protocol}://repository.jboss.org/nexus/content/groups/public/</maven.repository.url>

        <redirectTestOutput>false</redirectTestOutput>
        <javadoc.additional.params>-sourceclasspath ${project.build.outputDirectory}</javadoc.additional.params>

        <modular.jdk.args>
            --add-exports=java.desktop/sun.awt=ALL-UNNAMED
            --add-opens=java.base/java.io=ALL-UNNAMED
            --add-opens=java.base/java.lang=ALL-UNNAMED
            --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
            --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
            --add-opens=java.base/java.security=ALL-UNNAMED
            --add-opens=java.base/java.util=ALL-UNNAMED
            --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
            --add-opens=java.management/javax.management=ALL-UNNAMED
            --add-opens=java.naming/javax.naming=ALL-UNNAMED
        </modular.jdk.args>

        <surefire.system.args>${modular.jdk.args}</surefire.system.args>

        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.source>11</maven.compiler.source>
        <insecure.repositories>WARN</insecure.repositories>
    </properties>

    <modules>
        <module>jberet-core</module>
        <module>jberet-se</module>
        <module>jberet-job-repositories</module>
        <module>jberet-se-bom</module>
        <module>jberet-manifest</module>
        <module>test-apps</module>
        <module>test-deployment</module>
    </modules>


    <distributionManagement>
        <repository>
            <id>jboss-releases-repository</id>
            <name>JBoss Releases Repository</name>
            <url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <redirectTestOutputToFile>${redirectTestOutput}</redirectTestOutputToFile>
                        <argLine>${surefire.system.args}</argLine>
                        <systemPropertyVariables>
                            <jberet.tmp.dir>${project.build.directory}</jberet.tmp.dir>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <redirectTestOutputToFile>${redirectTestOutput}</redirectTestOutputToFile>
                        <argLine>${surefire.system.args}</argLine>
                        <systemPropertyVariables>
                            <jberet.tmp.dir>${project.build.directory}</jberet.tmp.dir>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.javadoc.plugin}</version>
                    <configuration>
                        <reportOutputDirectory>${project.reporting.outputDirectory}/${project.version}/javadoc/</reportOutputDirectory>
                        <destDir>${project.name}</destDir>
                        <additionalJOptions>
                            <additionalJOption>-Xdoclint:none</additionalJOption>
                        </additionalJOptions>
                        <excludePackageNames>*._private.*</excludePackageNames>

                        <doclet>org.jboss.apiviz.APIviz</doclet>
                        <docletArtifact>
                            <groupId>org.jboss.apiviz</groupId>
                            <artifactId>apiviz</artifactId>
                            <version>${version.org.jboss.apiviz}</version>
                        </docletArtifact>
                        <useStandardDocletOptions>true</useStandardDocletOptions>
                        <charset>UTF-8</charset>
                        <encoding>UTF-8</encoding>
                        <docencoding>UTF-8</docencoding>
                        <breakiterator>true</breakiterator>
                        <version>true</version>
                        <author>true</author>
                        <keywords>true</keywords>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>add-regex-properties</id>
                            <goals>
                                <goal>regex-properties</goal>
                            </goals>
                            <configuration>
                                <regexPropertySettings>
                                    <regexPropertySetting>
                                        <name>automatic.module.name</name>
                                        <value>${project.groupId}.${project.artifactId}</value>
                                        <regex>([a-z]+)\.\1-|-</regex>
                                        <replacement>$1\.</replacement>
                                        <failIfNoMatch>false</failIfNoMatch>
                                    </regexPropertySetting>
                                </regexPropertySettings>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <!-- Only generate skeleton properties for INFO or higher -->
                    <compilerArgument>-Aorg.jboss.logging.tools.level=INFO</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Automatic-Module-Name>${automatic.module.name}</Automatic-Module-Name>
                        </manifestEntries>
                    </archive>
                    <excludes>
                        <!-- Exclude i18n properties files -->
                        <exclude>**/*.i18n.properties</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <skipSource>true</skipSource>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.jberet</groupId>
                <artifactId>jberet-support</artifactId>
                <version>${version.org.jberet.support}</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.batch</groupId>
                <artifactId>jakarta.batch-api</artifactId>
                <version>${version.jakarta.batch-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.inject</groupId>
                <artifactId>jakarta.inject-api</artifactId>
                <version>${version.jakarta.inject-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.enterprise</groupId>
                <artifactId>jakarta.enterprise.cdi-api</artifactId>
                <version>${version.jakarta.enterprise.cdi-api}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>jakarta.inject</groupId>
                        <artifactId>jakarta.inject-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.el</groupId>
                        <artifactId>jakarta.el-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.interceptor</groupId>
                        <artifactId>jakarta.interceptor-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>jakarta.annotation</groupId>
                        <artifactId>jakarta.annotation-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.org.jboss.logging.jboss-logging}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-processor</artifactId>
                <version>${version.org.jboss.logging.jboss-logging-tools}</version>
                <!-- Only needed during build time for the annotation processor -->
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.marshalling</groupId>
                <artifactId>jboss-marshalling</artifactId>
                <version>${version.org.jboss.marshalling}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.annotation</groupId>
                <artifactId>jakarta.annotation-api</artifactId>
                <version>${version.jakarta.annotation-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.transaction</groupId>
                <artifactId>jakarta.transaction-api</artifactId>
                <version>${version.jakarta-transaction-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.xml.bind</groupId>
                <artifactId>jakarta.xml.bind-api</artifactId>
                <version>${version.jakarta.xml.bind-api}</version>
                <scope>provided</scope>
            </dependency>
            <!-- Required for jberet-core tests -->
            <dependency>
                <groupId>jakarta.xml.ws</groupId>
                <artifactId>jakarta.xml.ws-api</artifactId>
                <version>${version.jakarta.xml.ws-api}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core-impl</artifactId>
                <version>${version.org.jboss.weld.weld}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${version.org.jboss.weld.weld-se}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.wildfly.security</groupId>
                <artifactId>wildfly-elytron-security-manager</artifactId>
                <version>${version.org.wildfly.security.elytron}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.security</groupId>
                <artifactId>wildfly-elytron-security-manager-action</artifactId>
                <version>${version.org.wildfly.security.elytron}</version>
                <scope>provided</scope>
            </dependency>

            <!-- To generate code to copy JBeret model -->
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct</artifactId>
                <version>${version.org.mapstruct}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${version.org.mapstruct}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${version.com.h2database}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${version.com.google.guava}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.google.code.findbugs</groupId>
                        <artifactId>jsr305</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.checkerframework</groupId>
                        <artifactId>checker-qual</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.errorprone</groupId>
                        <artifactId>error_prone_annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.j2objc</groupId>
                        <artifactId>j2objc-annotations</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>animal-sniffer-annotations</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>aalto-xml</artifactId>
                <version>${version.com.fasterxml.aalto-xml}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>stax2-api</artifactId>
                <version>${version.org.codehaus.woodstox.stax2-api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Infinispan Dependencies -->
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-core</artifactId>
                <version>${version.org.infinispan}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.hamcrest</groupId>
                        <artifactId>hamcrest-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jgroups</groupId>
                        <artifactId>jgroups</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.infinispan</groupId>
                <artifactId>infinispan-commons</artifactId>
                <version>${version.org.infinispan}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jgroups</groupId>
                <artifactId>jgroups</artifactId>
                <version>${version.org.jgroups}</version>
                <scope>provided</scope>
            </dependency>

            <!-- MongoDB Dependencies -->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>${version.org.mongodb.mongo-java-driver}</version>
                <scope>provided</scope>
            </dependency>

            <!-- CSV Dependencies -->
            <dependency>
                <groupId>net.sf.supercsv</groupId>
                <artifactId>super-csv</artifactId>
                <version>${version.net.sf.supercsv}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Jackson Dependencies -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Jackson XML Dependencies -->
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Jackson CSV Dependencies -->
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-csv</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>

            <!--  Include this dependency if JAXB annotation introspector is needed -->
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>${version.com.fasterxml.jackson}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Excel dependencies -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${version.org.apache.poi}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${version.commons-codec}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${version.org.apache.poi}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml-schemas</artifactId>
                <version>${version.org.apache.poi}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlbeans</groupId>
                <artifactId>xmlbeans</artifactId>
                <version>${version.org.apache.xmlbeans}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>stax</groupId>
                        <artifactId>stax-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${version.dom4j}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- JMS reader & writer dependencies -->
            <dependency>
                <groupId>jakarta.jms</groupId>
                <artifactId>jakarta.jms-api</artifactId>
                <version>${version.jakarta.jms-api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Some tests (e.g., test-apps/amqp) still uses javax.jms and javax.transaction-api -->
            <dependency>
                <groupId>org.jboss.spec.javax.jms</groupId>
                <artifactId>jboss-jms-api_2.0_spec</artifactId>
                <version>${version.org.jboss.spec.javax.jms.jboss-jms-api_2.0_spec}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.transaction</groupId>
                <artifactId>jboss-transaction-api_1.2_spec</artifactId>
                <version>${version.org.jboss.spec.javax.transaction.jboss-transaction-api_1.2_spec}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${version.io.netty}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Bean Validation dependencies -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${version.org.hibernate.validator}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.el</groupId>
                <artifactId>jakarta.el-api</artifactId>
                <version>${version.jakarta.el-api}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.glassfish</groupId>
                <artifactId>jakarta.el</artifactId>
                <version>${version.org.glassfish.jakarta.el}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Scripting testing dependency -->
            <dependency>
                <groupId>org.openjdk.nashorn</groupId>
                <artifactId>nashorn-core</artifactId>
                <version>${version.org.openjdk.nashorn}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.groovy</groupId>
                <artifactId>groovy-jsr223</artifactId>
                <version>${version.org.apache.groovy}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${version.org.apache.groovy}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jruby</groupId>
                <artifactId>jruby</artifactId>
                <version>${version.org.jruby.jruby}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.python</groupId>
                <artifactId>jython-standalone</artifactId>
                <version>${version.org.python.jython}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${version.org.scala-lang.scala-dist}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-compiler</artifactId>
                <version>${version.org.scala-lang.scala-dist}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-reflect</artifactId>
                <version>${version.org.scala-lang.scala-dist}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.caucho</groupId>
                <artifactId>resin-quercus</artifactId>
                <version>${version.com.caucho.resin-quercus}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>${version.jakarta.servlet-api}</version>
                <scope>test</scope>
            </dependency>

            <!-- some tests (e.g., ScriptingIT) still depends on javax.servlet -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${version.javax.servlet-api}</version>
                <scope>test</scope>
            </dependency>

            <!-- rest-api dependencies -->
            <dependency>
                <groupId>jakarta.ws.rs</groupId>
                <artifactId>jakarta.ws.rs-api</artifactId>
                <version>${version.jakarta.ws.rs-api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- jberet-support dependencies -->
            <dependency>
                <groupId>jakarta.ejb</groupId>
                <artifactId>jakarta.ejb-api</artifactId>
                <version>${version.jakarta.ejb-api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- jberet-camel dependencies -->
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-core</artifactId>
                <version>${version.org.apache.camel}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-cdi</artifactId>
                <version>${version.org.apache.camel}</version>
                <scope>provided</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.xml.bind</groupId>
                        <artifactId>jaxb-impl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-core</artifactId>
                <version>${version.io.vertx}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>io.vertx</groupId>
                <artifactId>vertx-shell</artifactId>
                <version>${version.io.vertx}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jberet</groupId>
                <artifactId>jberet-vertx-cluster</artifactId>
                <version>${version.org.jberet.jberet-vertx-cluster}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Cassandra dependencies -->
            <dependency>
                <groupId>com.datastax.cassandra</groupId>
                <artifactId>cassandra-driver-core</artifactId>
                <version>${version.com.datastax.cassandra}</version>
                <scope>provided</scope>
            </dependency>

            <!-- For testing -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit-jupiter.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-params</artifactId>
                <version>${junit-jupiter.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${version.rest-assured}</version>
                <scope>test</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>jakarta.batch</groupId>
            <artifactId>jakarta.batch-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.inject</groupId>
            <artifactId>jakarta.inject-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.enterprise</groupId>
            <artifactId>jakarta.enterprise.cdi-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-security-manager</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.security</groupId>
            <artifactId>wildfly-elytron-security-manager-action</artifactId>
        </dependency>
    </dependencies>

    <repositories>
        <repository>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>jboss-public-repository-group</id>
            <name>JBoss Public Repository Group</name>
            <url>${maven.repository.url}</url>
        </pluginRepository>
    </pluginRepositories>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <configuration>
                            <skipSource>false</skipSource>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <scm>
        <connection>scm:git:https://github.com/jberet/jsr352.git</connection>
        <url>scm:git:https://github.com/jberet/jsr352.git</url>
        <developerConnection>scm:git:https://github.com/jberet/jsr352.git</developerConnection>
    </scm>

    <issueManagement>
        <system>Jira</system>
        <url>https://issues.jboss.org/browse/JBERET</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>jberet-dev@lists.jboss.org</name>
            <archive>http://lists.jboss.org/pipermail/jberet-dev/</archive>
            <post>jberet-dev@lists.jboss.org</post>
            <subscribe>https://lists.jboss.org/mailman/listinfo/jberet-dev</subscribe>
            <unsubscribe>https://lists.jboss.org/mailman/listinfo/jberet-dev</unsubscribe>
        </mailingList>
    </mailingLists>
</project>
