<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.wildfly.clustering.vertx</groupId>
		<artifactId>wildfly-clustering-vertx-bom</artifactId>
		<version>3.5.0.Final</version>
		<relativePath>bom</relativePath>
	</parent>

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

	<name>${project.repository.name}: Modules</name>

	<modules>
		<module>bom</module>
		<module>auth</module>
		<module>core</module>
		<module>web</module>
	</modules>

	<dependencyManagement>
		<dependencies>
			<!-- BOM dependencies -->
			<dependency>
				<groupId>io.vertx</groupId>
				<artifactId>vertx-stack</artifactId>
				<version>5.0.5</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-bom</artifactId>
				<version>3.27.6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.jboss.arquillian</groupId>
				<artifactId>arquillian-bom</artifactId>
				<version>1.10.0.Final</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.jboss.shrinkwrap</groupId>
				<artifactId>shrinkwrap-bom</artifactId>
				<version>1.2.6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.junit</groupId>
				<artifactId>junit-bom</artifactId>
				<version>6.0.1</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-bom</artifactId>
				<version>5.20.0</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-bom</artifactId>
				<version>2.0.17</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.testcontainers</groupId>
				<artifactId>testcontainers-bom</artifactId>
				<version>2.0.1</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.wildfly.clustering</groupId>
				<artifactId>wildfly-clustering-bom</artifactId>
				<version>8.0.4.Final</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<!-- BOM-less dependencies -->
			<dependency>
				<groupId>org.kohsuke.metainf-services</groupId>
				<artifactId>metainf-services</artifactId>
				<version>1.11</version>
			</dependency>
			<dependency>
				<groupId>org.jboss.logmanager</groupId>
				<artifactId>jboss-logmanager</artifactId>
				<version>3.1.2.Final</version>
				<exclusions>
					<!-- Infinispan requires a newer version -->
					<exclusion>
						<groupId>org.jboss.logging</groupId>
						<artifactId>jboss-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.logmanager</groupId>
			<artifactId>jboss-logmanager</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter</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-subclass</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<annotationProcessorPaths>
						<annotationProcessorPath>
							<groupId>org.kohsuke.metainf-services</groupId>
							<artifactId>metainf-services</artifactId>
						</annotationProcessorPath>
					</annotationProcessorPaths>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<configuration>
					<artifact>${project.groupId}:${project.artifactId}:${project.version}</artifact>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>javadoc-aggregate</id>
						<inherited>false</inherited>
						<goals>
							<goal>aggregate-jar</goal>
						</goals>
						<configuration>
							<doclint>none</doclint>
							<failOnWarnings>false</failOnWarnings>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar}</argLine>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
