<?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>
  <!--
   Copyright The Narayana Authors
   SPDX short identifier: Apache-2.0
 -->

  <parent>
    <groupId>org.jboss.narayana</groupId>
    <artifactId>narayana-all</artifactId>
    <version>7.2.1.Final</version>
  </parent>
  <groupId>org.jboss.narayana</groupId>
  <artifactId>narayana-bom-test</artifactId>
  <packaging>pom</packaging>
  <name>Narayana Bom Test</name>
  <description>Narayana BOM is for centralising dependency management for development purposes (test scoped dependencies)</description>

  <!--
    This Bill of Materials (BOM) is for centralising dependency management across the various modules of Narayana.
    The BOM is intended for development purposes within Narayana.
  -->
  <properties>
    <version.ant-contrib>1.0b3</version.ant-contrib>
    <version.arquillian.byteman>1.1.0</version.arquillian.byteman>
    <version.arquillian.weld-embedded>3.0.2.Final</version.arquillian.weld-embedded>
    <version.com.h2database>2.2.224</version.com.h2database>
    <version.com.ibm>db2jcc4</version.com.ibm>
    <version.com.oracle>19.21.0.0</version.com.oracle>
    <version.com.sun.messaging.mq.fscontext>4.6-b01</version.com.sun.messaging.mq.fscontext>
    <version.hamcrest>2.2</version.hamcrest>
    <version.httpcomponents>4.5.14</version.httpcomponents>
    <version.io.mashona>1.0.0.Beta1</version.io.mashona>
    <version.jakarta.ejb.jakarta-ejb-api>4.0.1</version.jakarta.ejb.jakarta-ejb-api>
    <version.jakartaee-api>10.0.0</version.jakartaee-api>
    <version.jboss.profiler.jvmti>1.0.0.CR5</version.jboss.profiler.jvmti>
    <version.junit>4.13.1</version.junit>
    <version.junit.jupiter>5.9.2</version.junit.jupiter>
    <version.log4j-core>2.19.0</version.log4j-core>
    <version.mariadb>1.2.2</version.mariadb>
    <version.mysql>8.2.0</version.mysql>
    <version.org.apache.ant>1.10.12</version.org.apache.ant>
    <version.org.jboss.arquillian.container.weld>3.0.2.Final</version.org.jboss.arquillian.container.weld>
    <version.org.jboss.arquillian.core>1.7.0.Final</version.org.jboss.arquillian.core>
    <!-- remark: this property is duplicated in the top level pom -->
    <version.org.jboss.byteman>4.0.22</version.org.jboss.byteman>
    <version.org.jboss.shrinkwrap>1.2.6</version.org.jboss.shrinkwrap>
    <version.org.jboss.shrinkwrap.resolvers>3.1.4</version.org.jboss.shrinkwrap.resolvers>
    <version.org.jboss.weld>5.0.1.Final</version.org.jboss.weld>
    <version.org.mockito>3.8.0</version.org.mockito>
    <version.org.slf4j>1.7.30</version.org.slf4j>
    <version.org.springframework>6.1.14</version.org.springframework>
    <version.org.wildfly.arquillian>5.0.0.Final</version.org.wildfly.arquillian>
    <version.org.wildfly.core>20.0.0.Final</version.org.wildfly.core>
    <version.org.wildfly.extras.creaper>2.0.2</version.org.wildfly.extras.creaper>
    <version.postgresql>42.7.2</version.postgresql>
    <version.squareup.okhttp>1.5.4</version.squareup.okhttp>
  </properties>

  <dependencyManagement>
    <!-- Arjuna Core -->
    <dependencies>

      <dependency>
        <groupId>io.mashona</groupId>
        <artifactId>mashona-logwriting</artifactId>
        <version>${version.io.mashona}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-bmunit</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-bmunit5</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${version.com.h2database}</version>
        <scope>test</scope>
      </dependency>

      <!-- Arjuna JTA -->

      <dependency>
        <groupId>org.jboss.arquillian.protocol</groupId>
        <artifactId>arquillian-protocol-servlet-jakarta</artifactId>
        <version>${version.org.jboss.arquillian.core}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.extension</groupId>
        <artifactId>arquillian-extension-byteman</artifactId>
        <version>${version.arquillian.byteman}</version>
        <scope>test</scope>
      </dependency>

      <!-- Standalone JNDI server -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${version.org.springframework}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-install</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${version.org.mockito}</version>
        <scope>test</scope>
        <exclusions>
          <!-- JUnit already comes with Hamcrest -->
          <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Arjuna JTS -->

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${version.org.slf4j}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.org.slf4j}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${version.org.slf4j}</version>
        <scope>test</scope>
      </dependency>

      <!-- Compensation -->
      <dependency>
        <groupId>org.jboss.weld</groupId>
        <artifactId>weld-core-impl</artifactId>
        <version>${version.org.jboss.weld}</version>
        <scope>test</scope>
      </dependency>

      <!-- Test dependencies -->
      <dependency>
        <groupId>org.jboss.narayana.xts</groupId>
        <artifactId>byteman_support</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- Narayana full -->
      <!-- This dependency should be removed in JBTM-3056 -->
      <dependency>
        <groupId>org.jboss.narayana.xts</groupId>
        <artifactId>xts-test-servlet</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- qa -->

      <dependency>
        <groupId>jboss.profiler.jvmti</groupId>
        <artifactId>jboss-profiler-jvmti</artifactId>
        <version>${version.jboss.profiler.jvmti}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${version.hamcrest}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jacoco</groupId>
        <artifactId>org.jacoco.ant</artifactId>
        <version>${version.org.jacoco}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jacoco</groupId>
        <artifactId>org.jacoco.report</artifactId>
        <version>${version.org.jacoco}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jacoco</groupId>
        <artifactId>org.jacoco.core</artifactId>
        <version>${version.org.jacoco}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jacoco</groupId>
        <artifactId>org.jacoco.agent</artifactId>
        <version>${version.org.jacoco}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${version.org.apache.ant}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>ant-contrib</groupId>
        <artifactId>ant-contrib</artifactId>
        <version>${version.ant-contrib}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.sun.messaging.mq</groupId>
        <artifactId>fscontext</artifactId>
        <version>${version.com.sun.messaging.mq.fscontext}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${version.log4j-core}</version>
        <scope>test</scope>
      </dependency>

      <!-- Narayana Dependencies -->

      <dependency>
        <groupId>org.jboss.narayana</groupId>
        <artifactId>test-utils</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <!-- JDBC Drivers -->

      <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc10</artifactId>
        <version>${version.com.oracle}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${version.postgresql}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>${version.mysql}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.ibm.db2.jcc</groupId>
        <artifactId>db2jcc</artifactId>
        <version>${version.com.ibm}</version>
        <scope>test</scope>
      </dependency>

      <!-- tx -->
      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-dtest</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${version.httpcomponents}</version>
        <scope>test</scope>
      </dependency>

      <!-- Arquillian Maven Resolver -->
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-api</artifactId>
        <version>${version.org.jboss.shrinkwrap.resolvers}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>${version.org.jboss.shrinkwrap.resolvers}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>${version.org.jboss.arquillian.core}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
        <version>${version.org.jboss.shrinkwrap.resolvers}</version>
        <scope>test</scope>
      </dependency>
      <!-- XTS: -->
      <!-- test time dep only - XTS TestRunnerXMLServlet -->
      <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>${version.org.dom4j}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-submit</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${version.junit}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${version.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${version.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${version.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <!--JUnit Jupiter Engine to depend on the JUnit4 engine and JUnit 4 API  -->
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${version.junit.jupiter}</version>
      </dependency>

      <dependency>
        <groupId>com.squareup.okhttp</groupId>
        <artifactId>okhttp</artifactId>
        <version>${version.squareup.okhttp}</version>
        <scope>test</scope>
      </dependency>

      <!-- undertow with RestEasy -->
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>${version.hamcrest}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-shaded</artifactId>
        <version>${version.org.jboss.weld}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-weld-embedded</artifactId>
        <version>${version.arquillian.weld-embedded}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-api</artifactId>
        <version>${version.jakartaee-api}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.ejb</groupId>
        <artifactId>jakarta.ejb-api</artifactId>
        <version>${version.jakarta.ejb.jakarta-ejb-api}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.arquillian</groupId>
        <artifactId>wildfly-arquillian-container-managed</artifactId>
        <version>${version.org.wildfly.arquillian}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.extras.creaper</groupId>
        <artifactId>creaper-core</artifactId>
        <version>${version.org.wildfly.extras.creaper}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.core</groupId>
        <artifactId>wildfly-controller-client</artifactId>
        <version>${version.org.wildfly.core}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.wildfly.core</groupId>
        <artifactId>wildfly-cli</artifactId>
        <version>${version.org.wildfly.core}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>org.jboss.byteman</groupId>
        <artifactId>byteman-rulecheck-maven-plugin</artifactId>
        <version>${version.org.jboss.byteman}</version>
        <executions>
          <execution>
            <id>rulecheck</id>
            <goals>
              <goal>rulecheck</goal>
            </goals>
            <phase>test-compile</phase>
            <configuration>
              <includes>
                <include>**/*.btm</include>
              </includes>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <inherited>false</inherited>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>default-install</id>
            <phase>install</phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>byteman-rulecheck</id>
      <activation>
        <property>
          <name>!skipTests</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jboss.byteman</groupId>
            <artifactId>byteman-rulecheck-maven-plugin</artifactId>
            <version>${version.org.jboss.byteman}</version>
            <executions>
              <execution>
                <id>rulecheck</id>
                <goals>
                  <goal>rulecheck</goal>
                </goals>
                <phase>test-compile</phase>
                <configuration>
                  <includes>
                    <include>**/*.btm</include>
                  </includes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
