quarkus-test-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-parent</artifactId>
<version>1.8.5</version>
</dependency><?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>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-parent</artifactId>
<version>1.8.5</version>
<packaging>pom</packaging>
<name>Quarkus - Test Framework - Parent</name>
<description>Quarkus QE Test Framework is a library enabling the developers to easily deploy multiple Quarkus applications across different platforms in a single test.</description>
<licenses>
<license>
<name>The Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<id>quarkus-qe</id>
<name>Quarkus QE</name>
<organization>Quarkus QE</organization>
<url>https://github.com/quarkus-qe</url>
</developer>
</developers>
<scm>
<connection>scm:git:git@github.com:quarkus-qe/quarkus-test-framework.git</connection>
<developerConnection>scm:git:git@github.com:quarkus-qe/quarkus-test-framework.git</developerConnection>
<url>https://github.com/quarkus-qe/quarkus-test-framework</url>
<tag>HEAD</tag>
</scm>
<url>https://github.com/quarkus-qe/quarkus-test-framework/</url>
<properties>
<compiler-plugin.version>3.15.0</compiler-plugin.version>
<source-plugin.version>3.4.0</source-plugin.version>
<javadoc-plugin.version>3.12.0</javadoc-plugin.version>
<maven.compiler.parameters>true</maven.compiler.parameters>
<maven.compiler.release>17</maven.compiler.release>
<maven.javadoc.failOnError>false</maven.javadoc.failOnError>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<surefire-plugin.version>3.5.5</surefire-plugin.version>
<maven-resources-plugin.version>3.5.0</maven-resources-plugin.version>
<jacoco-maven-plugin.version>0.8.14</jacoco-maven-plugin.version>
<maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version>
<formatter-maven-plugin.version>2.29.0</formatter-maven-plugin.version>
<impsort-maven-plugin.version>1.13.0</impsort-maven-plugin.version>
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
<maven-release-plugin.version>3.1.1</maven-release-plugin.version>
<central-publishing-maven-plugin.version>0.10.0</central-publishing-maven-plugin.version>
<maven-deploy-plugin.version>3.1.4</maven-deploy-plugin.version>
<quarkus.group-id>io.quarkus</quarkus.group-id>
<quarkus.artifact-id>quarkus-bom</quarkus.artifact-id>
<quarkus.version>3.33.2</quarkus.version>
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.artifact-id>${quarkus.artifact-id}</quarkus.platform.artifact-id>
<quarkus.platform.version>${quarkus.version}</quarkus.platform.version>
<exclude.tests.with.tags>quarkus-cli</exclude.tests.with.tags>
<include.tests>**/*IT.java</include.tests>
<exclude.openshift.tests>**/OpenShift*IT.java</exclude.openshift.tests>
<exclude.kubernetes.tests>**/Kubernetes*IT.java</exclude.kubernetes.tests>
<exclude.quarkus.devmode.tests>no</exclude.quarkus.devmode.tests>
<!-- Format Settings -->
<src.format.goal>format</src.format.goal>
<src.sort.goal>sort</src.sort.goal>
<checkstyle.version>12.3.1</checkstyle.version>
<!-- Code Coverage Properties-->
<jacoco.agent.argLine />
<playwright.version>1.58.0</playwright.version>
<!-- Faster build when using -DskipTests -->
<quarkus.build.skip>${skipTests}</quarkus.build.skip>
<!-- Oracle image - we aim to use same version as Dev Services for Oracle so that we only download one image -->
<oracle.image>docker.io/gvenzl/oracle-free:23-slim-faststart</oracle.image>
<postgresql.image>docker.io/library/postgres:18</postgresql.image>
<mysql.image>docker.io/library/mysql:9.5</mysql.image>
<strimzi.testcontainers.version>0.113.0</strimzi.testcontainers.version>
<infinispan.image>quay.io/infinispan/server:16.0</infinispan.image>
<!-- TODO use official image if this fixed https://github.com/hashicorp/docker-consul/issues/184 -->
<!-- We're not allowed to use newer consul version than 1.16.4 due to changed license -->
<consul.image>docker.io/hashicorp/consul:1.16.4</consul.image>
<reruns>2</reruns>
<flaky-run-reporter.version>0.1.7</flaky-run-reporter.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.group-id}</groupId>
<artifactId>${quarkus.artifact-id}</artifactId>
<version>${quarkus.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<!-- The import above brings older version of this dependency, so we need to override it manually -->
<groupId>io.strimzi</groupId>
<artifactId>strimzi-test-container</artifactId>
<version>${strimzi.testcontainers.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-containers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-images</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-openshift</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-knative-events</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-knative-events-spi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-knative-events-parent</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-kubernetes</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-consul</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-keycloak</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-kafka</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-amq</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-jaeger</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-grpc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-database</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-infinispan</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-service-grafana</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<!-- TODO: upstream is also considering using of 'playwright', use managed version if that happens -->
<version>${playwright.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>maven-surefire-common</artifactId>
<version>${surefire-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-api</artifactId>
<version>${surefire-plugin.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-test-maven</artifactId>
<version>${quarkus.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<extensions>
<!--Creates report about detected flaky tests during SureFire and FailSafe test runs -->
<extension>
<groupId>io.quarkus.qe</groupId>
<artifactId>flaky-run-reporter</artifactId>
<version>${flaky-run-reporter.version}</version>
</extension>
</extensions>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${surefire-plugin.version}</version>
<configuration>
<!-- fixes unavailable native binary build logs, https://github.com/quarkus-qe/quarkus-test-framework/issues/785 -->
<forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory" />
<rerunFailingTestsCount>${reruns}</rerunFailingTestsCount>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
</plugin>
<plugin>
<groupId>io.quarkus.qe</groupId>
<artifactId>quarkus-test-preparer</artifactId>
<version>${project.version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${compiler-plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<version>${formatter-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>${src.format.goal}</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<artifactId>quarkus-ide-config</artifactId>
<groupId>io.quarkus</groupId>
<version>${quarkus.version}</version>
</dependency>
</dependencies>
<configuration>
<configFile>eclipse-format.xml</configFile>
<lineEnding>LF</lineEnding>
</configuration>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>${impsort-maven-plugin.version}</version>
<configuration>
<!-- store outside of target to speed up formatting when mvn clean is used -->
<cachedir>.cache</cachedir>
<groups>java.,javax.,jakarta.,org.,com.</groups>
<staticGroups>*</staticGroups>
<removeUnused>true</removeUnused>
</configuration>
<executions>
<execution>
<goals>
<goal>${src.sort.goal}</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>true</linkXRef>
</configuration>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<systemPropertyVariables>
<oracle.image>${oracle.image}</oracle.image>
<postgresql.image>${postgresql.image}</postgresql.image>
<mysql.image>${mysql.image}</mysql.image>
<infinispan.image>${infinispan.image}</infinispan.image>
<consul.image>${consul.image}</consul.image>
</systemPropertyVariables>
<argLine>${jacoco.agent.argLine}</argLine>
<excludedGroups>${exclude.tests.with.tags}</excludedGroups>
<includes>
<include>${include.tests}</include>
</includes>
<excludes>
<exclude>${exclude.openshift.tests}</exclude>
<exclude>${exclude.kubernetes.tests}</exclude>
<exclude>${exclude.quarkus.devmode.tests}</exclude>
</excludes>
</configuration>
</execution>
</executions>
<configuration>
<trimStackTrace>false</trimStackTrace>
</configuration>
</plugin>
</plugins>
</build>
<modules>
<module>plugins/test-preparer</module>
</modules>
<profiles>
<profile>
<id>framework</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>quarkus-test-core</module>
<module>quarkus-test-cli</module>
<module>quarkus-test-containers</module>
<module>quarkus-test-images</module>
<module>quarkus-test-kubernetes</module>
<module>quarkus-test-openshift</module>
<module>quarkus-test-knative-events</module>
<module>quarkus-test-service-consul</module>
<module>quarkus-test-service-keycloak</module>
<module>quarkus-test-service-kafka</module>
<module>quarkus-test-service-amq</module>
<module>quarkus-test-service-jaeger</module>
<module>quarkus-test-service-database</module>
<module>quarkus-test-service-infinispan</module>
<module>quarkus-test-service-grafana</module>
<module>quarkus-test-service-grpc</module>
</modules>
</profile>
<profile>
<id>examples</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>examples</module>
</modules>
</profile>
<profile>
<id>native</id>
<activation>
<property>
<name>native</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<configuration>
<systemPropertyVariables>
<quarkus.native.enabled>${quarkus.native.enabled}</quarkus.native.enabled>
<native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
<quarkus.native.container-build>${quarkus.native.container-build}</quarkus.native.container-build>
<quarkus.native.native-image-xmx>${quarkus.native.native-image-xmx}</quarkus.native.native-image-xmx>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<quarkus.native.enabled>true</quarkus.native.enabled>
<quarkus.native.container-build>true</quarkus.native.container-build>
<quarkus.native.native-image-xmx>5g</quarkus.native.native-image-xmx>
<exclude.quarkus.devmode.tests>**/*DevMode*IT.java</exclude.quarkus.devmode.tests>
</properties>
</profile>
<profile>
<!-- You need to be connected to an OpenShift instance to activate
this profile! -->
<id>openshift</id>
<activation>
<property>
<name>openshift</name>
</property>
</activation>
<properties>
<include.tests>**/OpenShift*IT.java</include.tests>
<exclude.openshift.tests>no</exclude.openshift.tests>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<configuration>
<systemPropertyVariables>
<!-- always set 'OpenShift' property as that's how detect OpenShift tests inside FW -->
<openshift>true</openshift>
<!-- we cannot use newer consul than 1.16.4 for licence reasons -->
<consul.image>registry.connect.redhat.com/hashicorp/consul:1.16.4-ubi</consul.image>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- You need to be connected to a Kubernetes instance to activate
this profile! -->
<id>kubernetes</id>
<activation>
<property>
<name>kubernetes</name>
</property>
</activation>
<properties>
<include.tests>**/Kubernetes*IT.java</include.tests>
<exclude.kubernetes.tests>no</exclude.kubernetes.tests>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<configuration>
<systemPropertyVariables>
<!-- always set 'Kubernetes' property as that's how detect Kubernetes tests inside FW -->
<kubernetes>true</kubernetes>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>validate-format</id>
<activation>
<property>
<name>validate-format</name>
</property>
</activation>
<properties>
<src.format.goal>validate</src.format.goal>
<src.sort.goal>check</src.sort.goal>
</properties>
</profile>
<!-- This profile generates jacoco coverage files. -->
<profile>
<id>coverage</id>
<properties>
<!--suppress UnresolvedMavenProperty to ignore warnings in idea-->
<jacoco.agent.argLine>${jacoco.generated.agent.argLine}</jacoco.agent.argLine>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<includes>
<include>io.quarkus.test*</include>
</includes>
<propertyName>jacoco.generated.agent.argLine</propertyName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>deploy</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
<executions>
<execution>
<id>deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>release</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>run-cli-tests</id>
<activation>
<property>
<name>run-cli-tests</name>
</property>
</activation>
<properties>
<exclude.tests.with.tags />
</properties>
</profile>
</profiles>
</project>