<?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.clustering</groupId>
		<artifactId>wildfly-clustering-bom</artifactId>
		<version>1.0.2.Final</version>
		<relativePath>bom</relativePath>
	</parent>

	<artifactId>wildfly-clustering</artifactId>
	<packaging>pom</packaging>

	<name>WildFly Clustering</name>

	<scm>
		<connection>scm:git:git://github.com:wildfly-clustering/wildfly-clustering.git</connection>
		<developerConnection>scm:git:git@github.com:wildfly-clustering/wildfly-clustering.git</developerConnection>
		<url>https://github.com/wildfly-clustering/wildfly-clustering</url>
		<tag>1.0.2.Final</tag>
	</scm>

	<properties>
		<jdk.runtime.args>--add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED</jdk.runtime.args>
		<maven.compiler.target>11</maven.compiler.target>
		<maven.compiler.source>11</maven.compiler.source>

		<!-- Provided dependency versions -->
		<version.jakarta.transaction>2.0.1</version.jakarta.transaction>
		<version.net.jcip>1.0</version.net.jcip>

		<!-- Compile dependency versions -->
		<!--version.dev.failsafe>3.3.2</version.dev.failsafe-->
		<version.org.infinispan>14.0.24.Final</version.org.infinispan>
		<version.org.jboss.logging>3.5.3.Final</version.org.jboss.logging>
		<version.org.jboss.marshalling>2.1.3.Final</version.org.jboss.marshalling>
		<version.org.jboss.threads>3.5.1.Final</version.org.jboss.threads>
		<version.org.jgroups>5.2.21.Final</version.org.jgroups>
		<version.org.kohsuke.metainf-services>1.11</version.org.kohsuke.metainf-services>
		<version.org.wildfly.common>1.7.0.Final</version.org.wildfly.common>

		<!-- Test dependency versions -->
		<version.io.undertow>2.3.10.Final</version.io.undertow>
		<version.org.apache.tomcat>10.1.18</version.org.apache.tomcat>
		<version.org.junit>5.10.2</version.org.junit>
		<version.org.mockito>5.10.0</version.org.mockito>
		<version.org.testcontainers>1.19.4</version.org.testcontainers>

		<!-- Plugin dependency version overrides -->
		<version.surefire>3.2.5</version.surefire>
	</properties>

	<modules>
		<module>bom</module>
		<module>cache</module>
		<module>context</module>
		<module>marshalling</module>
		<module>server</module>
		<module>session</module>
	</modules>

	<dependencyManagement>
		<dependencies>
			<!-- Provided dependencies -->
			<dependency>
				<groupId>jakarta.transaction</groupId>
				<artifactId>jakarta.transaction-api</artifactId>
				<version>${version.jakarta.transaction}</version>
			</dependency>
			<dependency>
				<groupId>net.jcip</groupId>
				<artifactId>jcip-annotations</artifactId>
				<version>${version.net.jcip}</version>
			</dependency>

			<!-- Compile dependencies -->
			<!--dependency>
				<groupId>dev.failsafe</groupId>
				<artifactId>failsafe</artifactId>
				<version>${version.dev.failsafe}</version>
			</dependency-->
			<dependency>
				<groupId>org.infinispan</groupId>
				<artifactId>infinispan-bom</artifactId>
				<version>${version.org.infinispan}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>${project.groupId}</groupId>
				<artifactId>wildfly-clustering-bom</artifactId>
				<version>${project.version}</version>
				<type>pom</type>
			</dependency>

			<dependency>
				<groupId>org.jboss.logging</groupId>
				<artifactId>jboss-logging</artifactId>
				<version>${version.org.jboss.logging}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.marshalling</groupId>
				<artifactId>jboss-marshalling</artifactId>
				<version>${version.org.jboss.marshalling}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.threads</groupId>
				<artifactId>jboss-threads</artifactId>
				<version>${version.org.jboss.threads}</version>
			</dependency>
			<dependency>
				<groupId>org.jgroups</groupId>
				<artifactId>jgroups</artifactId>
				<version>${version.org.jgroups}</version>
			</dependency>
			<dependency>
				<groupId>org.kohsuke.metainf-services</groupId>
				<artifactId>metainf-services</artifactId>
				<version>${version.org.kohsuke.metainf-services}</version>
			</dependency>
			<dependency>
				<groupId>org.wildfly.common</groupId>
				<artifactId>wildfly-common</artifactId>
				<version>${version.org.wildfly.common}</version>
			</dependency>

			<!-- Test dependencies -->
			<dependency>
				<groupId>io.undertow</groupId>
				<artifactId>undertow-core</artifactId>
				<version>${version.io.undertow}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat</groupId>
				<artifactId>tomcat-catalina</artifactId>
				<version>${version.org.apache.tomcat}</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.marshalling</groupId>
				<artifactId>jboss-marshalling-river</artifactId>
				<version>${version.org.jboss.marshalling}</version>
			</dependency>
			<dependency>
				<groupId>org.junit</groupId>
				<artifactId>junit-bom</artifactId>
				<version>${version.org.junit}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-bom</artifactId>
				<version>${version.org.mockito}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.testcontainers</groupId>
				<artifactId>testcontainers-bom</artifactId>
				<version>${version.org.testcontainers}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-params</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-junit-jupiter</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<configuration>
					<configLocation>checkstyle.xml</configLocation>
					<logViolationsToConsole>true</logViolationsToConsole>
				</configuration>
				<executions>
					<execution>
						<phase>process-sources</phase>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<executions>
					<execution>
						<id>integration-test</id>
						<phase>integration-test</phase>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
						<configuration>
							<trimStackTrace>false</trimStackTrace>
							<argLine>${jdk.runtime.args}</argLine>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>test-jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<configuration>
					<tagNameFormat>@{project.version}</tagNameFormat>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<argLine>${jdk.runtime.args}</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
