<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright The ClusterBench 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.benchmark</groupId>
        <artifactId>clusterbench-bom</artifactId>
        <version>14.0.0.Final</version>
        <relativePath>bom</relativePath>
    </parent>

    <artifactId>clusterbench</artifactId>
    <version>14.0.0.Final</version>
    <packaging>pom</packaging>
    <name>ClusterBench (parent)</name>

    <modules>
        <module>bom</module>
        <module>clusterbench-common</module>
        <module>clusterbench-ee10-ejb</module>
        <module>clusterbench-ee10-web</module>
        <module>clusterbench-ee10-ear</module>
        <module>integration-tests</module>
    </modules>

    <properties>
        <!-- Project configuration -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <linkXRef>false</linkXRef>

        <!-- Consumed by jboss-parent-pom -->
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.source>17</maven.compiler.source>

        <!-- WildFly components versions -->
        <version.org.wildfly>37.0.0.Final</version.org.wildfly>
        <version.org.wildfly.cloud-feature-pack>8.0.0.Final</version.org.wildfly.cloud-feature-pack>
        <version.org.wildfly.maven.plugin>5.1.4.Final</version.org.wildfly.maven.plugin>

        <!-- Test dependencies -->
        <!-- n.b. tomcat versions are defined in their respective modules in integration-tests/tomcat-*/pom.xml -->
        <version.org.junit.jupiter>5.13.4</version.org.junit.jupiter>
        <version.org.jboss.arquillian>1.10.0.Final</version.org.jboss.arquillian>
        <version.org.jboss.arquillian.jakarta>10.0.0.Final</version.org.jboss.arquillian.jakarta>
        <version.org.jboss.arquillian.container.tomcat>1.2.3.Final</version.org.jboss.arquillian.container.tomcat>
        <version.org.apache.httpcomponents.client5>5.5</version.org.apache.httpcomponents.client5>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wildfly.bom</groupId>
                <artifactId>wildfly-ee-with-tools</artifactId>
                <version>${version.org.wildfly}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- Only for Dependabot, this is never referenced via Maven dependencies -->
            <dependency>
                <groupId>org.wildfly.cloud</groupId>
                <artifactId>wildfly-cloud-galleon-pack</artifactId>
                <version>${version.org.wildfly.cloud-feature-pack}</version>
                <type>zip</type>
            </dependency>
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-clustering-web-api</artifactId>
                <!-- TODO this should be managed by the BOM! -->
                <version>${version.org.wildfly}</version>
                <scope>provided</scope>
            </dependency>
            <!-- Test dependencies -->
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${version.org.junit.jupiter}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${version.org.junit.jupiter}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                    <version>${version.org.wildfly.maven.plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <profiles>
        <profile>
            <id>build-quickly</id>
            <activation>
                <property>
                    <name>quickly</name>
                </property>
            </activation>
            <properties>
                <skipTests>true</skipTests>
                <skipITs>true</skipITs>
                <maven.javadoc.skip>true</maven.javadoc.skip>
                <checkstyle.skip>true</checkstyle.skip>
                <enforcer.skip>true</enforcer.skip>
                <license.skip>true</license.skip>
                <wildfly.skip>true</wildfly.skip>
            </properties>
        </profile>
    </profiles>

</project>
