Files
wehub-resource-sync bf2343b7e4
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Has been cancelled
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Has been cancelled
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Has been cancelled
Java Checkstyle / java-checkstyle (push) Has been cancelled
Maven Collate Tests / maven-collate-ci (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Has been cancelled
Publish Package to Maven Central Repository / publish-maven-packages (push) Has been cancelled
OpenMetadata Service Unit Tests / Detect Changes (push) Has been cancelled
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Has been cancelled
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:35:45 +08:00

1334 lines
59 KiB
XML

<?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">
<parent>
<artifactId>platform</artifactId>
<groupId>org.open-metadata</groupId>
<version>2.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>openmetadata-integration-tests</artifactId>
<name>OpenMetadata Integration Tests</name>
<packaging>jar</packaging>
<properties>
<maven.surefire.version>3.1.2</maven.surefire.version>
<maven.failsafe.version>3.1.2</maven.failsafe.version>
<junit.jupiter.version>${org.junit.jupiter.version}</junit.jupiter.version>
<junit.platform.version>${org.junit.platform.version}</junit.platform.version>
<dockerjava.version>3.4.2</dockerjava.version>
<!-- Tags excluded from the ui-it profile. Override on the CLI to include them, e.g.
-Dui.it.excludedGroups= to run every UIIT including @Tag("sso-bootstrap"). -->
<ui.it.excludedGroups>sso-bootstrap</ui.it.excludedGroups>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-bom</artifactId>
<version>${dockerjava.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Force commons-compress 1.27+ so Apache POI 5.4.1's call to
ZipArchiveOutputStream#putArchiveEntry(ZipArchiveEntry) resolves.
The transitive version from Testcontainers is 1.24 which predates that overload. -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.27.1</version>
<scope>test</scope>
</dependency>
<!-- SDK client -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-sdk</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Service (for config types + app class) -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-service</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- Service test utilities (for RDF tests) -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-service</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<!-- Testcontainers for infra -->
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>elasticsearch</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.opensearch</groupId>
<artifactId>opensearch-testcontainers</artifactId>
<version>2.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>k3s</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.21.4</version>
<scope>test</scope>
</dependency>
<!-- Kubernetes client for K8s integration tests -->
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>24.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>6.12.0</version>
<scope>test</scope>
</dependency>
<!-- OMJob operator model for K8s integration tests -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-k8s-operator</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- MCP module for MCP integration tests -->
<dependency>
<groupId>org.open-metadata</groupId>
<artifactId>openmetadata-mcp</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<!-- AssertJ for fluent assertions -->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.27.7</version>
<scope>test</scope>
</dependency>
<!-- Dropwizard testing harness -->
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-testing</artifactId>
<scope>test</scope>
</dependency>
<!-- JUnit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<!-- JUnit Platform Launcher (for LauncherSessionListener) -->
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>${junit.platform.version}</version>
<scope>test</scope>
</dependency>
<!-- Awaitility for eventual consistency -->
<dependency>
<groupId>org.awaitility</groupId>
<artifactId>awaitility</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<!-- JWT signing -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<!-- Playwright Java for UI integration tests (*UIIT.java) -->
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.49.0</version>
<scope>test</scope>
</dependency>
<!--
REST client dependencies for org.openmetadata.sdk.test.util.RestClient.
openmetadata-sdk declares these as <optional>true</optional> so generic SDK
consumers do not inherit a heavy JAX-RS stack; integration-tests actually uses
RestClient, so the optional deps must be re-declared here.
-->
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>3.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-apache-connector</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>2.1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.parsson</groupId>
<artifactId>parsson</artifactId>
<version>1.1.7</version>
<scope>test</scope>
</dependency>
<!-- RDF support (Apache Jena) for RDF tests. Version unified with
openmetadata-service via the root pom's <jena.version> property —
previously this module was on 5.0.0 while openmetadata-service was
on 4.10.0, which forced the production code to abstract over Jena 4
vs 5 API drift. -->
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
<version>${jena.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>${jena.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java-transport-zerodep</artifactId>
<scope>test</scope>
</dependency>
<!-- Source: https://mvnrepository.com/artifact/org.junit-pioneer/junit-pioneer -->
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>
<!-- Required by DriveFileUploadIT (test fixture generation: PDF + XLSX). -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.31</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.4.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.4.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>publish-test-harness</id>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<includes>
<include>org/openmetadata/it/bootstrap/**</include>
<include>org/openmetadata/it/auth/**</include>
<include>org/openmetadata/it/util/**</include>
<include>org/openmetadata/it/factories/**</include>
<include>org/openmetadata/it/server/**</include>
<include>org/openmetadata/it/search/**</include>
<include>org/openmetadata/playwright/**</include>
<include>org/openmetadata/it/tests/BaseEntityIT*</include>
<include>private_key.der</include>
<include>public_key.der</include>
<include>openmetadata-secure-test.yaml</include>
<include>logback.xml</include>
<include>junit-platform.properties</include>
<include>testcontainers.properties</include>
<include>docker-java.properties</include>
<include>META-INF/services/**</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- MySQL + Elasticsearch (default) -->
<profile>
<id>mysql-elasticsearch</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
<excludedGroups>scale</excludedGroups>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PostgreSQL + OpenSearch -->
<profile>
<id>postgres-opensearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PostgreSQL + OpenSearch + Redis cache enabled. Mirror of postgres-opensearch but
every IT runs against the Redis-fronted code path so we can spot any test that
depends on always-fresh-from-DB reads. -->
<profile>
<id>postgres-os-redis</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- PostgreSQL + Elasticsearch -->
<profile>
<id>postgres-elasticsearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- MySQL + OpenSearch -->
<profile>
<id>mysql-opensearch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>opensearch</searchType>
<searchImage>opensearchproject/opensearch:3.4.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- MySQL + Elasticsearch + Redis (Redis cache enabled) -->
<profile>
<id>mysql-elasticsearch-redis</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>mysql</databaseType>
<databaseImage>mysql:8.3.0</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Full integration test suite with postgres + elasticsearch + redis cache enabled.
Same shape as mysql-elasticsearch (sequential + parallel) but with cacheProvider=redis
so every test exercises the cache code paths too — catches stale-data and
invalidation bugs across the whole codebase, not just cache/* tests. -->
<profile>
<id>cache-tests</id>
<!--
Full integration test suite with postgres + elasticsearch + redis cache enabled.
Mirrors the mysql-elasticsearch profile shape (sequential + parallel executions)
so every test that runs without the cache also runs WITH the cache. Catches
cache-correctness regressions across the whole codebase, not just the dedicated
cache/* test classes.
Locally, target only cache/* with `-Dit.test='**/cache/*IT'` on top of this
profile when validating cache layer changes in isolation.
-->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/PatchTableEmbeddingIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:16-alpine</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/PatchTableEmbeddingIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<databaseType>postgres</databaseType>
<databaseImage>postgres:16-alpine</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<cacheProvider>redis</cacheProvider>
<redisImage>redis:7-alpine</redisImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- RDF integration tests profile -->
<profile>
<id>postgres-rdf-tests</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<!-- Run sequential tests -->
<execution>
<id>sequential-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/TagRecognizerFeedbackIT.java</include>
<include>**/WorkflowDefinitionResourceIT.java</include>
<include>**/AppsResourceIT.java</include>
<include>**/SystemResourceIT.java</include>
<include>**/VectorEmbeddingIntegrationIT.java</include>
<include>**/GlossaryOntologyExportIT.java</include>
</includes>
<systemPropertyVariables>
<enableRdf>true</enableRdf>
<rdfContainerImage>secoresearch/fuseki:5.5.0</rdfContainerImage>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Run parallel tests -->
<execution>
<id>parallel-tests</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TagRecognizerFeedbackIT.java</exclude>
<exclude>**/WorkflowDefinitionResourceIT.java</exclude>
<exclude>**/AppsResourceIT.java</exclude>
<exclude>**/SystemResourceIT.java</exclude>
<exclude>**/tests/search/*IT.java</exclude>
<exclude>**/VectorEmbeddingIntegrationIT.java</exclude>
<exclude>**/GlossaryOntologyExportIT.java</exclude>
<exclude>**/*UIIT.java</exclude>
<exclude>**/tests/search/scale/**</exclude>
</excludes>
<systemPropertyVariables>
<enableRdf>true</enableRdf>
<rdfContainerImage>secoresearch/fuseki:5.5.0</rdfContainerImage>
<databaseType>postgres</databaseType>
<databaseImage>postgres:15</databaseImage>
<searchType>elasticsearch</searchType>
<searchImage>docker.elastic.co/elasticsearch/elasticsearch:9.3.0</searchImage>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
<!-- Verify phase: Fails the build if any tests failed -->
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- UI integration tests (*UIIT.java). Run with `mvn verify -P ui-it`. Boots the OM
Docker image via ContainerizedServer + Playwright; embedded TestSuiteBootstrap is
skipped. Per-method parallel; tests with global state opt out via @ResourceLock
or @Execution(SAME_THREAD). -->
<profile>
<id>ui-it</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>ui-scenario-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/*UIIT.java</include>
</includes>
<!-- SSO bootstrap UIITs spin up their own ContainerizedServer to verify
SSO env wiring; that's a second OM lifecycle worth ~1-2 min and not
useful on every run. Opt in with -DincludeSsoBootstrap=true. -->
<excludedGroups>${ui.it.excludedGroups}</excludedGroups>
<systemPropertyVariables>
<skip.embedded.bootstrap>true</skip.embedded.bootstrap>
<!-- Video recording on by default while the suite is young — captures
each run to target/playwright-videos/ for triage. Disable per-run
with -DPW_VIDEO=false. -->
<PW_VIDEO>true</PW_VIDEO>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
<junit.jupiter.execution.parallel.mode.default>concurrent</junit.jupiter.execution.parallel.mode.default>
<junit.jupiter.execution.parallel.mode.classes.default>same_thread</junit.jupiter.execution.parallel.mode.classes.default>
<junit.jupiter.execution.parallel.config.strategy>dynamic</junit.jupiter.execution.parallel.config.strategy>
<junit.jupiter.execution.parallel.config.dynamic.factor>0.5</junit.jupiter.execution.parallel.config.dynamic.factor>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Scale + benchmark tests (@Tag("scale")). Excluded from PR runs by the
default failsafe config; nightly runs invoke `mvn verify -P scale-it`. -->
<profile>
<id>scale-it</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>scale-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/tests/search/scale/*IT.java</include>
</includes>
<includedGroups>scale</includedGroups>
<systemPropertyVariables>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Server-global destructive search ITs: full reindex/recreate, alias swaps, ES container
pause. They mutate cluster-wide state on the shared embedded server, so they must never
run alongside the parallel corpus or the other sequential tests (which is why the default
profiles exclude **/tests/search/*IT.java). Like scale-it, this profile runs them on their
own fork + server, serially, and is invoked on demand / nightly via
`mvn verify -P search-it` (pass -DsearchType= / -DdatabaseType= to choose the backend). -->
<profile>
<id>search-it</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>search-isolated-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx4096m -XX:+UseG1GC</argLine>
<includes>
<include>**/tests/search/*IT.java</include>
</includes>
<excludes>
<exclude>**/tests/search/scale/**</exclude>
<!-- StaticDatasetSeedIT (@Tag("seed")) and ClusterPurgeIT (@Tag("purge")) match
the include glob but must NEVER run in a normal search-it pass — the former
seeds the full bulk cohort, the latter hard-deletes data. Excluded by path
here AND by tag below; run them explicitly via the seed-it / purge-it profiles. -->
<exclude>**/tests/search/StaticDatasetSeedIT.java</exclude>
<exclude>**/tests/search/ClusterPurgeIT.java</exclude>
</excludes>
<!-- excludedGroups must be a direct <configuration> child: nested inside
<systemPropertyVariables> it is a no-op (-DexcludedGroups is never read by the
JUnit Platform tag filter). See ui-it profile for the same correct placement. -->
<excludedGroups>scale,seed,purge</excludedGroups>
<systemPropertyVariables>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- One-time loader for the static dataset the scale/search suites reuse when run with
-Djpw.data.mode=static (or ensure). Runs only StaticDatasetSeedIT (@Tag("seed")), which
creates a bulk cohort and deliberately leaves it on the cluster (no namespace cleanup).
Invoke once against the external cluster, then run the suites in static/ensure mode:
`mvn verify -P seed-it -Dskip.embedded.bootstrap=true -Djpw.scale.tables=100000`. -->
<profile>
<id>seed-it</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>seed-dataset</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<!-- The wide-table seed builds ~1M Column objects and serializes the whole create
payload in memory in one shot, so this fork needs more heap than the others. -->
<argLine>-Xmx8192m -XX:+UseG1GC</argLine>
<includes>
<include>**/tests/search/StaticDatasetSeedIT.java</include>
</includes>
<includedGroups>seed</includedGroups>
<systemPropertyVariables>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- On-demand maintenance task that hard-deletes orphaned test entities (mainly the bulk
cohorts StaticDatasetSeedIT leaves behind, and data from cancelled runs) from a shared /
external cluster. Runs only ClusterPurgeIT (@Tag("purge")). Invoke explicitly with the
marker(s) to match:
`mvn verify -P purge-it -Dskip.embedded.bootstrap=true -Djpw.purge.markers=StaticDatasetSeed`. -->
<profile>
<id>purge-it</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<id>purge-orphans</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<forkCount>1</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx2048m -XX:+UseG1GC</argLine>
<includes>
<include>**/tests/search/ClusterPurgeIT.java</include>
</includes>
<includedGroups>purge</includedGroups>
<systemPropertyVariables>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>false</junit.jupiter.execution.parallel.enabled>
</systemPropertyVariables>
<trimStackTrace>false</trimStackTrace>
<reportFormat>plain</reportFormat>
<useFile>true</useFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>