ozone-main
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.ozone</groupId> <artifactId>ozone-main</artifactId> <version>2.0.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <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>org.apache.ozone</groupId> <artifactId>ozone-main</artifactId> <version>2.0.0</version> <packaging>pom</packaging> <name>Apache Ozone Main</name> <description>Apache Ozone Main</description> <modules> <module>dev-support</module> <module>hadoop-hdds</module> <module>hadoop-ozone</module> </modules> <properties> <activation-api.version>1.2.2</activation-api.version> <annotation-api.version>1.3.2</annotation-api.version> <aopalliance.version>1.0</aopalliance.version> <apache-rat-plugin.version>0.16.1</apache-rat-plugin.version> <aspectj-plugin.version>1.14</aspectj-plugin.version> <aspectj.version>1.9.7</aspectj.version> <assertj.version>3.27.3</assertj.version> <aws-java-sdk.version>1.12.661</aws-java-sdk.version> <aws-java-sdk2.version>2.31.1</aws-java-sdk2.version> <bonecp.version>0.8.0.RELEASE</bonecp.version> <bouncycastle.version>1.80</bouncycastle.version> <build-helper-maven-plugin.version>3.6.0</build-helper-maven-plugin.version> <cdi-api.version>2.0</cdi-api.version> <checkstyle.version>9.3</checkstyle.version> <classpath.skip>true</classpath.skip> <codahale-metrics.version>3.0.2</codahale-metrics.version> <com.nimbusds.nimbus-jose-jwt.version>9.40</com.nimbusds.nimbus-jose-jwt.version> <commons-beanutils.version>1.9.4</commons-beanutils.version> <commons-cli.version>1.8.0</commons-cli.version> <commons-codec.version>1.17.1</commons-codec.version> <commons-collections.version>3.2.2</commons-collections.version> <commons-compress.version>1.27.1</commons-compress.version> <commons-configuration2.version>2.11.0</commons-configuration2.version> <commons-daemon.version>1.4.0</commons-daemon.version> <commons-fileupload.version>1.5</commons-fileupload.version> <commons-io.version>2.18.0</commons-io.version> <commons-lang3.version>3.17.0</commons-lang3.version> <commons-logging-api.version>1.1</commons-logging-api.version> <commons-logging.version>1.2</commons-logging.version> <commons-math3.version>3.6.1</commons-math3.version> <commons-net.version>3.11.1</commons-net.version> <commons-text.version>1.12.0</commons-text.version> <commons-validator.version>1.6</commons-validator.version> <compile-testing.version>0.21.0</compile-testing.version> <curator.version>4.2.0</curator.version> <cyclonedx.version>2.9.1</cyclonedx.version> <!-- the version of Hadoop declared in the version resources; can be overridden so that Hadoop 3.x can declare itself a 2.x artifact. --> <declared.hadoop.version>${hadoop.version}</declared.hadoop.version> <declared.hdds.version>${hdds.version}</declared.hdds.version> <declared.ozone.version>${ozone.version}</declared.ozone.version> <derby.version>10.14.2.0</derby.version> <disruptor.version>3.4.4</disruptor.version> <distMgmtSnapshotsId>apache.snapshots.https</distMgmtSnapshotsId> <distMgmtSnapshotsName>Apache Development Snapshot Repository</distMgmtSnapshotsName> <distMgmtSnapshotsUrl>https://repository.apache.org/content/repositories/snapshots</distMgmtSnapshotsUrl> <distMgmtStagingId>apache.staging.https</distMgmtStagingId> <distMgmtStagingName>Apache Release Distribution Repository</distMgmtStagingName> <distMgmtStagingUrl>https://repository.apache.org/service/local/staging/deploy/maven2</distMgmtStagingUrl> <dnsjava.version>3.6.1</dnsjava.version> <docker-maven-plugin.version>0.45.1</docker-maven-plugin.version> <download-maven-plugin.version>1.9.0</download-maven-plugin.version> <dropwizard-metrics.version>3.2.6</dropwizard-metrics.version> <!-- The java version enforced by the maven enforcer --> <!-- more complex patterns can be used here, such as [${javac.version}) for an open-ended enforcement --> <enforced.java.version>[${javac.version},)</enforced.java.version> <enforced.maven.version>[3.3.0,)</enforced.maven.version> <errorprone-annotations.version>2.29.2</errorprone-annotations.version> <!-- test groups excluded by default (without any manual profile activation) --> <excluded-test-groups>native | unhealthy</excluded-test-groups> <exec-maven-plugin.version>3.5.0</exec-maven-plugin.version> <failIfNoTests>false</failIfNoTests> <frontend-maven-plugin.version>1.15.1</frontend-maven-plugin.version> <grpc.protobuf-compile.version>3.19.6</grpc.protobuf-compile.version> <gson.version>2.10.1</gson.version> <guava.version>32.1.3-jre</guava.version> <guice.version>6.0.0</guice.version> <hadoop-thirdparty.version>1.4.0</hadoop-thirdparty.version> <hadoop.version>3.4.1</hadoop.version> <hadoop2.version>2.10.2</hadoop2.version> <hamcrest.version>2.2</hamcrest.version> <hdds.rocks.native.version>${hdds.version}</hdds.rocks.native.version> <hdds.version>${ozone.version}</hdds.version> <hk2.version>2.6.1</hk2.version> <httpclient.version>4.5.14</httpclient.version> <httpcore.version>4.4.16</httpcore.version> <io.grpc.version>1.58.0</io.grpc.version> <jackson-jaxr.version>1.9.13</jackson-jaxr.version> <jackson1.version>1.9.13</jackson1.version> <jackson2-bom.version>2.16.2</jackson2-bom.version> <jacoco.version>0.8.12</jacoco.version> <jaeger.version>1.8.1</jaeger.version> <jakarta.annotation.version>2.1.1</jakarta.annotation.version> <jakarta.inject.version>2.6.1</jakarta.inject.version> <jakarta.validation.version>2.0.2</jakarta.validation.version> <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version> <java.dev.jna.version>5.2.0</java.dev.jna.version> <java.security.egd>file:///dev/urandom</java.security.egd> <javac.version>8</javac.version> <javassist.version>3.30.2-GA</javassist.version> <javax.inject.version>1</javax.inject.version> <jaxb-api.version>2.3.3</jaxb-api.version> <jaxb-runtime.version>2.3.9</jaxb-runtime.version> <jcip-annotations.version>1.0-1</jcip-annotations.version> <jersey.version>1.19.4</jersey.version> <jersey2.version>2.46</jersey2.version> <jetty.version>9.4.57.v20241219</jetty.version> <jgrapht.version>1.4.0</jgrapht.version> <jgraphx.version>3.9.12</jgraphx.version> <jline.version>3.29.0</jline.version> <jnr-constants.version>0.10.4</jnr-constants.version> <jnr-posix.version>3.1.20</jnr-posix.version> <joda.time.version>2.12.7</joda.time.version> <jooq.version>3.11.10</jooq.version> <jsch.version>0.1.55</jsch.version> <json-simple.version>1.1.1</json-simple.version> <jsp-api.version>2.1</jsp-api.version> <jsr311-api.version>1.1.1</jsr311-api.version> <junit5.version>5.12.1</junit5.version> <kerby.version>1.0.1</kerby.version> <kotlin.version>1.9.25</kotlin.version> <license-maven-plugin.version>2.5.0</license-maven-plugin.version> <log4j2.version>2.24.2</log4j2.version> <make-maven-plugin.version>1.0-beta-1</make-maven-plugin.version> <maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version> <maven-assembly-plugin.version>3.7.1</maven-assembly-plugin.version> <maven-checkstyle-plugin.version>3.6.0</maven-checkstyle-plugin.version> <maven-clean-plugin.version>3.4.0</maven-clean-plugin.version> <maven-compiler-plugin.version>3.9.0</maven-compiler-plugin.version> <maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version> <maven-deploy-plugin.version>3.1.3</maven-deploy-plugin.version> <maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version> <maven-gpg-plugin.version>3.2.7</maven-gpg-plugin.version> <maven-install-plugin.version>3.1.3</maven-install-plugin.version> <maven-jar-plugin.version>3.4.2</maven-jar-plugin.version> <maven-javadoc-plugin.version>3.11.1</maven-javadoc-plugin.version> <maven-patch-plugin.version>1.1.1</maven-patch-plugin.version> <maven-pdf-plugin.version>1.6.1</maven-pdf-plugin.version> <maven-remote-resources-plugin.version>3.3.0</maven-remote-resources-plugin.version> <maven-resources-plugin.version>3.3.0</maven-resources-plugin.version> <maven-shade-plugin.version>3.6.0</maven-shade-plugin.version> <maven-site-plugin.version>3.21.0</maven-site-plugin.version> <maven-source-plugin.version>3.3.1</maven-source-plugin.version> <maven-surefire-plugin.argLine>-Xmx8192m -XX:+HeapDumpOnOutOfMemoryError</maven-surefire-plugin.argLine> <maven-surefire-plugin.argLineAccessArgs /> <maven-surefire-plugin.version>3.5.2</maven-surefire-plugin.version> <maven-surefire-report-plugin.version>${maven-surefire-plugin.version}</maven-surefire-report-plugin.version> <maven-war-plugin.version>3.4.0</maven-war-plugin.version> <maven.core.version>3.9.9</maven.core.version> <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile> <metainf-services.version>1.11</metainf-services.version> <mockito.version>4.11.0</mockito.version> <native.lib.tmp.dir /> <!-- Use netty version known to work with grpc-netty. See table: --> <!-- https://github.com/grpc/grpc-java/blob/master/SECURITY.md#netty --> <netty.version>4.1.109.Final</netty.version> <!-- Node.js version number (without the v prefix required by frontend-maven-plugin) --> <nodejs.version>16.14.2</nodejs.version> <okhttp3.version>4.12.0</okhttp3.version> <opentracing.version>0.33.0</opentracing.version> <os-maven-plugin.version>1.7.1</os-maven-plugin.version> <ozone.release>Indiana Dunes</ozone.release> <ozone.version>2.0.0</ozone.version> <picocli.version>4.7.5</picocli.version> <plexus-archiver.version>4.2.2</plexus-archiver.version> <pmd.version>3.26.0</pmd.version> <!-- Enable Reproducible Builds mode --> <project.build.outputTimestamp>2025-03-18T19:54:18Z</project.build.outputTimestamp> <!-- platform encoding override --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <prometheus.version>0.16.0</prometheus.version> <properties.maven.plugin.version>1.2.1</properties.maven.plugin.version> <proto-backwards-compatibility.version>1.0.7</proto-backwards-compatibility.version> <!-- ProtocolBuffer version, used to verify the protoc version and --> <!-- define the protobuf JAR version --> <proto2.hadooprpc.protobuf.version>2.5.0</proto2.hadooprpc.protobuf.version> <proto3.hadooprpc.protobuf.version>3.23.4</proto3.hadooprpc.protobuf.version> <!-- Maven protoc compiler --> <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version> <ranger.version>2.3.0</ranger.version> <ratis.thirdparty.version>1.0.6</ratis.thirdparty.version> <ratis.version>3.1.2</ratis.version> <re2j.version>1.7</re2j.version> <reflections.version>0.10.2</reflections.version> <reload4j.version>1.2.26</reload4j.version> <restrict-imports.enforcer.version>2.6.0</restrict-imports.enforcer.version> <rocksdb.version>7.7.3</rocksdb.version> <servlet-api.version>3.1.0</servlet-api.version> <shell-executable>bash</shell-executable> <slf4j.version>2.0.17</slf4j.version> <snakeyaml.version>2.0</snakeyaml.version> <snappy-java.version>1.1.10.7</snappy-java.version> <sonar.java.binaries>${basedir}/target/classes</sonar.java.binaries> <sortpom-maven-plugin.version>3.0.1</sortpom-maven-plugin.version> <spotbugs.version>3.1.12.2</spotbugs.version> <spring.version>5.3.39</spring.version> <sqlite.version>3.49.1.0</sqlite.version> <stax2.version>4.2.2</stax2.version> <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests> <surefire.fork.timeout>1200</surefire.fork.timeout> <swagger-annotations-version>1.5.4</swagger-annotations-version> <test.build.data>${test.build.dir}</test.build.data> <test.build.dir>${project.build.directory}/test-dir</test.build.dir> <!-- number of threads/forks to use when running tests in parallel, see parallel-tests profile --> <testsThreadCount>4</testsThreadCount> <!-- test groups excluded in CI (except in dedicated profiles for flaky and native) --> <unstable-test-groups>flaky | native | slow | unhealthy</unstable-test-groups> <vault.driver.version>5.1.0</vault.driver.version> <weld-servlet.version>3.1.9.Final</weld-servlet.version> <woodstox.version>5.4.0</woodstox.version> <zookeeper.version>3.8.4</zookeeper.version> <zstd-jni.version>1.5.7-1</zstd-jni.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson2-bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-bom</artifactId> <version>${io.grpc.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-bom</artifactId> <version>${netty.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-bom</artifactId> <version>${kotlin.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit5.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>${aopalliance.version}</version> </dependency> <dependency> <groupId>ch.qos.reload4j</groupId> <artifactId>reload4j</artifactId> <version>${reload4j.version}</version> <exclusions> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jmx</artifactId> </exclusion> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-core</artifactId> <version>${aws-java-sdk.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>${aws-java-sdk.version}</version> </dependency> <dependency> <groupId>com.bettercloud</groupId> <artifactId>vault-java-driver</artifactId> <version>${vault.driver.version}</version> </dependency> <dependency> <groupId>com.codahale.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${codahale-metrics.version}</version> </dependency> <dependency> <groupId>com.fasterxml.woodstox</groupId> <artifactId>woodstox-core</artifactId> <version>${woodstox.version}</version> </dependency> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-constants</artifactId> <version>${jnr-constants.version}</version> </dependency> <dependency> <groupId>com.github.jnr</groupId> <artifactId>jnr-posix</artifactId> <version>${jnr-posix.version}</version> </dependency> <dependency> <groupId>com.github.luben</groupId> <artifactId>zstd-jni</artifactId> <version>${zstd-jni.version}</version> </dependency> <dependency> <groupId>com.github.stephenc.jcip</groupId> <artifactId>jcip-annotations</artifactId> <version>${jcip-annotations.version}</version> </dependency> <dependency> <groupId>com.github.vlsi.mxgraph</groupId> <artifactId>jgraphx</artifactId> <version>${jgraphx.version}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <dependency> <groupId>com.google.errorprone</groupId> <artifactId>error_prone_annotations</artifactId> <version>${errorprone-annotations.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-assistedinject</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-servlet</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${proto2.hadooprpc.protobuf.version}</version> </dependency> <dependency> <groupId>com.google.re2j</groupId> <artifactId>re2j</artifactId> <version>${re2j.version}</version> </dependency> <dependency> <groupId>com.google.testing.compile</groupId> <artifactId>compile-testing</artifactId> <version>${compile-testing.version}</version> </dependency> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>${json-simple.version}</version> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>${jsch.version}</version> </dependency> <dependency> <groupId>com.jolbox</groupId> <artifactId>bonecp</artifactId> <version>${bonecp.version}</version> </dependency> <dependency> <groupId>com.lmax</groupId> <artifactId>disruptor</artifactId> <version>${disruptor.version}</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> <artifactId>nimbus-jose-jwt</artifactId> <version>${com.nimbusds.nimbus-jose-jwt.version}</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>${okhttp3.version}</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>${commons-beanutils.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons-cli.version}</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>${commons-codec.version}</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>${commons-collections.version}</version> </dependency> <dependency> <groupId>commons-daemon</groupId> <artifactId>commons-daemon</artifactId> <version>${commons-daemon.version}</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons-logging.version}</version> <exclusions> <exclusion> <groupId>avalon-framework</groupId> <artifactId>avalon-framework</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> </exclusion> <exclusion> <groupId>logkit</groupId> <artifactId>logkit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> <version>${commons-logging-api.version}</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>${commons-net.version}</version> </dependency> <dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>${commons-validator.version}</version> </dependency> <dependency> <groupId>dnsjava</groupId> <artifactId>dnsjava</artifactId> <version>${dnsjava.version}</version> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>${picocli.version}</version> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli-shell-jline3</artifactId> <version>${picocli.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${dropwizard-metrics.version}</version> </dependency> <dependency> <groupId>io.jaegertracing</groupId> <artifactId>jaeger-client</artifactId> <version>${jaeger.version}</version> <exclusions> <exclusion> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> </exclusion> <exclusion> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.jaegertracing</groupId> <artifactId>jaeger-core</artifactId> <version>${jaeger.version}</version> </dependency> <dependency> <groupId>io.opentracing</groupId> <artifactId>opentracing-api</artifactId> <version>${opentracing.version}</version> </dependency> <dependency> <groupId>io.opentracing</groupId> <artifactId>opentracing-noop</artifactId> <version>${opentracing.version}</version> </dependency> <dependency> <groupId>io.opentracing</groupId> <artifactId>opentracing-util</artifactId> <version>${opentracing.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient</artifactId> <version>${prometheus.version}</version> <exclusions> <exclusion> <groupId>io.prometheus</groupId> <artifactId>simpleclient_tracer_common</artifactId> </exclusion> <exclusion> <groupId>io.prometheus</groupId> <artifactId>simpleclient_tracer_otel</artifactId> </exclusion> <exclusion> <groupId>io.prometheus</groupId> <artifactId>simpleclient_tracer_otel_agent</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_common</artifactId> <version>${prometheus.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_dropwizard</artifactId> <version>${prometheus.version}</version> </dependency> <dependency> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>${activation-api.version}</version> </dependency> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> <version>${jakarta.annotation.version}</version> </dependency> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> <version>${jakarta.validation.version}</version> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>${jakarta.ws.rs-api.version}</version> </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>${jaxb-api.version}</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>${annotation-api.version}</version> </dependency> <dependency> <groupId>javax.enterprise</groupId> <artifactId>cdi-api</artifactId> <version>${cdi-api.version}</version> </dependency> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>${javax.inject.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet-api.version}</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>${jsp-api.version}</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>${jsr311-api.version}</version> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${joda.time.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>${java.dev.jna.version}</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-platform</artifactId> <version>${java.dev.jna.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${commons-compress.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-configuration2</artifactId> <version>${commons-configuration2.version}</version> <exclusions> <exclusion> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-math3</artifactId> <version>${commons-math3.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>${commons-text.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-client</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>${curator.version}</version> </dependency> <dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId> <version>${derby.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-annotations</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-assemblies</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> <version>${hadoop.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-cloud-storage</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-distcp</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-distcp</artifactId> <version>${hadoop.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-kms</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-kms</artifactId> <version>${hadoop.version}</version> <type>test-jar</type> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-jobclient</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minikdc</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-sls</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop.thirdparty</groupId> <artifactId>hadoop-shaded-protobuf_3_25</artifactId> <version>${hadoop-thirdparty.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>${httpcore.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore-nio</artifactId> <version>${httpcore.version}</version> </dependency> <dependency> <groupId>org.apache.kerby</groupId> <artifactId>kerb-core</artifactId> <version>${kerby.version}</version> </dependency> <dependency> <groupId>org.apache.kerby</groupId> <artifactId>kerb-util</artifactId> <version>${kerby.version}</version> </dependency> <dependency> <groupId>org.apache.kerby</groupId> <artifactId>kerby-util</artifactId> <version>${kerby.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>${log4j2.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j2.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>ranger-intg</artifactId> <version>${ranger.version}</version> </dependency> <dependency> <groupId>org.apache.ranger</groupId> <artifactId>ranger-plugins-common</artifactId> <version>${ranger.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-client</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-common</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-grpc</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-metrics-api</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-metrics-dropwizard3</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-netty</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-proto</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-proto-shaded</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-server</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-server-api</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-shell</artifactId> <version>${ratis.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-thirdparty-misc</artifactId> <version>${ratis.thirdparty.version}</version> </dependency> <dependency> <groupId>org.apache.ratis</groupId> <artifactId>ratis-tools</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>${assertj.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcutil-jdk18on</artifactId> <version>${bouncycastle.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>${jackson1.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-jaxrs</artifactId> <version>${jackson-jaxr.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson1.version}</version> </dependency> <dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> <version>${stax2.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-client</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-http</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-io</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty</groupId> <artifactId>javax.servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlet</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util-ajax</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>guice-bridge</artifactId> <version>${hk2.version}</version> </dependency> <dependency> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-api</artifactId> <version>${hk2.version}</version> </dependency> <dependency> <groupId>org.glassfish.hk2.external</groupId> <artifactId>jakarta.inject</artifactId> <version>${jakarta.inject.version}</version> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>${jaxb-runtime.version}</version> <exclusions> <exclusion> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>${jersey2.version}</version> <exclusions> <exclusion> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.ext.cdi</groupId> <artifactId>jersey-cdi1x</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey2.version}</version> <exclusions> <exclusion> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-api</artifactId> </exclusion> <exclusion> <groupId>org.glassfish.hk2</groupId> <artifactId>hk2-utils</artifactId> </exclusion> <exclusion> <groupId>org.glassfish.hk2.external</groupId> <artifactId>aopalliance-repackaged</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-jaxb</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey2.version}</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>${hamcrest.version}</version> </dependency> <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.core</artifactId> <version>${jacoco.version}</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>${javassist.version}</version> </dependency> <dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet-shaded</artifactId> <version>${weld-servlet.version}</version> </dependency> <dependency> <groupId>org.jgrapht</groupId> <artifactId>jgrapht-core</artifactId> <version>${jgrapht.version}</version> </dependency> <dependency> <groupId>org.jgrapht</groupId> <artifactId>jgrapht-ext</artifactId> <version>${jgrapht.version}</version> </dependency> <dependency> <groupId>org.jline</groupId> <artifactId>jline</artifactId> <version>${jline.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq</artifactId> <version>${jooq.version}</version> <exclusions> <exclusion> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-codegen</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.jooq</groupId> <artifactId>jooq-meta</artifactId> <version>${jooq.version}</version> </dependency> <dependency> <groupId>org.kohsuke.metainf-services</groupId> <artifactId>metainf-services</artifactId> <version>${metainf-services.version}</version> <optional>true</optional> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-inline</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>${mockito.version}</version> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>${reflections.version}</version> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.rocksdb</groupId> <artifactId>rocksdbjni</artifactId> <version>${rocksdb.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-reload4j</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-jcl</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>${sqlite.version}</version> </dependency> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>${snappy-java.version}</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>${aws-java-sdk2.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Test Dependencies used by most modules --> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> </dependency> <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-inline</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>${sortpom-maven-plugin.version}</version> </plugin> <plugin> <groupId>com.salesforce.servicelibs</groupId> <artifactId>proto-backwards-compatibility</artifactId> <version>${proto-backwards-compatibility.version}</version> <configuration> <protoSourceRoot>${basedir}/target/classes</protoSourceRoot> </configuration> <executions> <execution> <goals> <goal>backwards-compatibility-check</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>${frontend-maven-plugin.version}</version> </plugin> <plugin> <groupId>dev.aspectj</groupId> <artifactId>aspectj-maven-plugin</artifactId> <version>${aspectj-plugin.version}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build-helper-maven-plugin.version}</version> </plugin> <!-- We include the configuration for license-maven-plugin to correct maven-shade-plugin generated poms because it's always the same. We can't simply configure the plugin because we must ensure execution happens in the package phase after the shade plugin runs. --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>${license-maven-plugin.version}</version> <configuration> <canUpdateCopyright>false</canUpdateCopyright> <roots> <root>${project.basedir}</root> </roots> </configuration> <executions> <execution> <id>update-pom-license</id> <goals> <goal>update-file-header</goal> </goals> <phase>package</phase> <configuration> <licenseName>apache_v2</licenseName> <includes> <include>dependency-reduced-pom.xml</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <version>${maven-clean-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.version}</version> <configuration> <useIncrementalCompilation>false</useIncrementalCompilation> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-patch-plugin</artifactId> <version>${maven-patch-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven-shade-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>${maven-install-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <configuration> <doclint>none</doclint> <notimestamp>true</notimestamp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>${maven-war-plugin.version}</version> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>${spotbugs.version}</version> <configuration> <maxHeap>1024</maxHeap> <xmlOutput>true</xmlOutput> <includeTests>true</includeTests> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>make-maven-plugin</artifactId> <version>${make-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>${maven-source-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>${maven-resources-plugin.version}</version> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>swp</nonFilteredFileExtension> <nonFilteredFileExtension>woff</nonFilteredFileExtension> <nonFilteredFileExtension>woff2</nonFilteredFileExtension> <nonFilteredFileExtension>robot</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${exec-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> <version>${maven-pdf-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-maven-plugins</artifactId> <version>${hadoop.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>${maven-dependency-plugin.version}</version> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> <version>${plexus-archiver.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>${maven-enforcer-plugin.version}</version> <configuration> <rules> <requireMavenVersion> <version>[3.0.2,)</version> </requireMavenVersion> <requireJavaVersion> <version>[1.8,)</version> </requireJavaVersion> </rules> </configuration> <dependencies> <dependency> <groupId>de.skuzzle.enforcer</groupId> <artifactId>restrict-imports-enforcer-rule</artifactId> <version>${restrict-imports.enforcer.version}</version> </dependency> </dependencies> <executions> <execution> <id>banned-rocksdb-imports</id> <goals> <goal>enforce</goal> </goals> <phase>process-sources</phase> <configuration> <rules> <RestrictImports> <includeTestCode>false</includeTestCode> <reason>Use managed RocksObjects under org.apache.hadoop.hdds.utils.db.managed instead.</reason> <!-- By default, ban all the classes in org.rocksdb --> <bannedImport>org.rocksdb.**</bannedImport> <allowedImports> <!-- Allow non-RocksObject classes. --> <allowedImport>org.rocksdb.ColumnFamilyDescriptor</allowedImport> <allowedImport>org.rocksdb.CompactionStyle</allowedImport> <allowedImport>org.rocksdb.KeyMayExist</allowedImport> <allowedImport>org.rocksdb.HistogramData</allowedImport> <allowedImport>org.rocksdb.HistogramType</allowedImport> <allowedImport>org.rocksdb.Holder</allowedImport> <allowedImport>org.rocksdb.InfoLogLevel</allowedImport> <allowedImport>org.rocksdb.OptionsUtil</allowedImport> <allowedImport>org.rocksdb.RocksDBException</allowedImport> <allowedImport>org.rocksdb.StatsLevel</allowedImport> <allowedImport>org.rocksdb.TableProperties</allowedImport> <allowedImport>org.rocksdb.TransactionLogIterator.BatchResult</allowedImport> <allowedImport>org.rocksdb.TickerType</allowedImport> <allowedImport>org.rocksdb.LiveFileMetaData</allowedImport> <!-- Allow RocksObjects whose native pointer is managed by RocksDB. --> <allowedImport>org.rocksdb.ColumnFamilyHandle</allowedImport> <allowedImport>org.rocksdb.Env</allowedImport> <allowedImport>org.rocksdb.Statistics</allowedImport> <!-- Allow RocksDB constants and static methods to be used. --> <allowedImport>org.rocksdb.RocksDB.*</allowedImport> </allowedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> <exclusions> <exclusion>org.apache.hadoop.hdds.utils.db.managed.*</exclusion> <exclusion>org.apache.ozone.rocksdiff.RocksDBCheckpointDiffer</exclusion> </exclusions> </RestrictImports> </rules> </configuration> </execution> <execution> <id>ban-imports</id> <goals> <goal>enforce</goal> </goals> <phase>process-sources</phase> <configuration> <rules> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use directly from Guava</reason> <bannedImports> <bannedImport>org.apache.ratis.thirdparty.com.google.common.**</bannedImport> <bannedImport>org.apache.hadoop.thirdparty.com.google.common.**</bannedImport> <bannedImport>org.apache.hadoop.util.Preconditions</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Disable with @Unhealthy or @Slow instead (see HDDS-9276)</reason> <bannedImports> <bannedImport>org.junit.jupiter.api.Disabled</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use Ozone's version of the same class</reason> <bannedImports> <bannedImport>org.apache.hadoop.test.GenericTestUtils</bannedImport> <bannedImport>org.apache.hadoop.test.LambdaTestUtils</bannedImport> <bannedImport>org.apache.hadoop.test.MetricsAssert</bannedImport> <bannedImport>org.apache.hadoop.classification.InterfaceAudience</bannedImport> <bannedImport>org.apache.hadoop.classification.InterfaceStability</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> <exclusions> <exclusion>org.apache.hadoop.fs.contract.*</exclusion> <exclusion>org.apache.hadoop.tools.contract.*</exclusion> </exclusions> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use Ozone's similar class</reason> <bannedImports> <bannedImport>org.apache.hadoop.hdfs.MiniDFSCluster</bannedImport> <bannedImport>org.apache.hadoop.hdfs.DFSConfigKeys</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <parseFullCompilationUnit>true</parseFullCompilationUnit> <reason>Use JUnit5</reason> <bannedImports> <bannedImport>org.junit.**</bannedImport> </bannedImports> <allowedImports> <allowedImport>org.junit.jupiter.**</allowedImport> <allowedImport>org.junit.platform.**</allowedImport> </allowedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use jakarta.annotation</reason> <bannedImports> <bannedImport>javax.annotation.Nonnull</bannedImport> <bannedImport>javax.annotation.Nullable</bannedImport> <bannedImport>org.checkerframework.checker.nullness.qual.NonNull</bannedImport> <bannedImport>org.checkerframework.checker.nullness.qual.Nullable</bannedImport> <bannedImport>org.jetbrains.annotations.NotNull</bannedImport> <bannedImport>org.jetbrains.annotations.Nullable</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use commons-lang v3</reason> <bannedImports> <bannedImport>org.apache.commons.lang.**</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> <restrictImports> <includeTestCode>true</includeTestCode> <reason>Use Jackson 2 (com.fasterxml.jackson)</reason> <bannedImports> <bannedImport>org.codehaus.jackson.**</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> </rules> </configuration> </execution> <execution> <id>ban-annotations</id> <goals> <goal>enforce</goal> </goals> <phase>process-sources</phase> <configuration> <rules> <restrictImports> <reason>Annotation processing is disabled by default. Override this ban in modules where processing is enabled.</reason> <bannedImports> <bannedImport>org.apache.hadoop.hdds.conf.Config</bannedImport> <bannedImport>org.apache.hadoop.hdds.conf.ConfigGroup</bannedImport> <bannedImport>org.apache.hadoop.ozone.om.request.validation.RequestFeatureValidator</bannedImport> <bannedImport>org.apache.hadoop.hdds.scm.metadata.Replicate</bannedImport> <bannedImport>org.kohsuke.MetaInfServices</bannedImport> </bannedImports> <excludedSourceRoots> <excludedSourceRoot>${project.build.directory}/generated-sources/java</excludedSourceRoot> <excludedSourceRoot>${project.build.directory}/generated-sources/protobuf/java</excludedSourceRoot> </excludedSourceRoots> </restrictImports> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>${maven-assembly-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>${maven-deploy-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <version>${apache-rat-plugin.version}</version> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker-maven-plugin.version}</version> </plugin> <plugin> <groupId>com.googlecode.maven-download-plugin</groupId> <artifactId>download-maven-plugin</artifactId> <version>${download-maven-plugin.version}</version> </plugin> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <version>${cyclonedx.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>${pmd.version}</version> <configuration> <rulesets> <ruleset>dev-support/pmd/pmd-ruleset.xml</ruleset> </rulesets> <printFailingErrors>true</printFailingErrors> <includeTests>true</includeTests> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>analyze</id> <goals> <goal>analyze-only</goal> </goals> <configuration> <ignoreNonCompile>true</ignoreNonCompile> </configuration> </execution> <execution> <id>add-classpath-descriptor</id> <goals> <goal>build-classpath</goal> </goals> <phase>prepare-package</phase> <configuration> <outputFile>${project.build.outputDirectory}/${project.artifactId}.classpath</outputFile> <prefix>$HDDS_LIB_JARS_DIR</prefix> <outputFilterFile>true</outputFilterFile> <includeScope>runtime</includeScope> <skip>${classpath.skip}</skip> </configuration> </execution> <execution> <id>copy-jars</id> <goals> <goal>copy-dependencies</goal> </goals> <phase>prepare-package</phase> <configuration> <outputDirectory>${project.build.directory}/share/ozone/lib</outputDirectory> <includeScope>runtime</includeScope> <skip>${classpath.skip}</skip> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> <configuration> <filesets> <fileset> <directory>${project.basedir}</directory> <includes> <include>dependency-reduced-pom.xml</include> </includes> </fileset> </filesets> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <version>${maven-remote-resources-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${maven-antrun-plugin.version}</version> <executions> <execution> <id>create-testdirs</id> <goals> <goal>run</goal> </goals> <phase>validate</phase> <configuration> <target> <mkdir dir="${test.build.dir}" /> <mkdir dir="${test.build.data}" /> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <configuration> <fileSets> <fileSet> <directory>${project.basedir}</directory> <includes> <include>**/jacoco.exec</include> </includes> <useDefaultExcludes>false</useDefaultExcludes> </fileSet> </fileSets> </configuration> <executions> <execution> <id>default-prepare-agent</id> <goals> <goal>prepare-agent</goal> </goals> <configuration> <includes>org.apache.hadoop.hdds.*,org.apache.hadoop.ozone.*,org.apache.hadoop.fs.ozone.*,org.apache.ozone.*</includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <reuseForks>false</reuseForks> <forkedProcessTimeoutInSeconds>${surefire.fork.timeout}</forkedProcessTimeoutInSeconds> <enableProcessChecker>all</enableProcessChecker> <!-- @argLine is filled by jacoco maven plugin. @{} means late evaluation --> <argLine>${maven-surefire-plugin.argLine} ${maven-surefire-plugin.argLineAccessArgs} @{argLine}</argLine> <environmentVariables> <MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX> </environmentVariables> <trimStackTrace>false</trimStackTrace> <systemPropertyVariables> <hadoop.log.dir>${project.build.directory}/log</hadoop.log.dir> <hadoop.tmp.dir>${project.build.directory}/tmp</hadoop.tmp.dir> <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack> <java.security.egd>${java.security.egd}</java.security.egd> <java.security.krb5.conf>${project.build.directory}/test-classes/krb5.conf</java.security.krb5.conf> <require.test.libhadoop>${require.test.libhadoop}</require.test.libhadoop> <!-- TODO: all references in testcases should be updated to this default --> <test.build.classes>${project.build.directory}/test-classes</test.build.classes> <test.build.dir>${test.build.dir}</test.build.dir> <test.build.data>${test.build.data}</test.build.data> <test.build.webapps>${test.build.webapps}</test.build.webapps> <test.cache.data>${test.cache.data}</test.cache.data> </systemPropertyVariables> <properties> <configurationParameters>junit.platform.output.capture.stdout = true junit.platform.output.capture.stderr = true</configurationParameters> </properties> <includes> <include>**/Test*.java</include> </includes> <excludedGroups>${excluded-test-groups}</excludedGroups> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> <configuration> <outputDirectory>${project.reporting.outputDirectory}</outputDirectory> <includeReports>false</includeReports> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>${maven-checkstyle-plugin.version}</version> <configuration> <configLocation>hadoop-hdds/dev-support/checkstyle/checkstyle.xml</configLocation> <suppressionsLocation>hadoop-hdds/dev-support/checkstyle/suppressions.xml</suppressionsLocation> <includeTestSourceDirectory>true</includeTestSourceDirectory> <failOnViolation>false</failOnViolation> <format>xml</format> <format>html</format> <outputFile>${project.build.directory}/test/checkstyle-errors.xml</outputFile> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>${checkstyle.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>${maven-site-plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>enforce-property</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireProperty> <property>ozone.version</property> <message>You must set a ozone.version to be the same as ${project.version}</message> <regex>${project.version}</regex> <regexMessage>The ozone.version property should be set and should be ${project.version}.</regexMessage> </requireProperty> </rules> <fail>true</fail> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>${properties.maven.plugin.version}</version> <dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>${maven.core.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <configuration> <excludesFile>dev-support/rat/rat-exclusions.txt</excludesFile> </configuration> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <configuration> <createBackupFile>false</createBackupFile> <encoding>${project.build.sourceEncoding}</encoding> <expandEmptyElements>false</expandEmptyElements> <keepBlankLines>true</keepBlankLines> <nrOfIndentSpace>2</nrOfIndentSpace> <predefinedSortOrder>custom_1</predefinedSortOrder> <sortDependencies>scope,groupId,artifactId</sortDependencies> <sortDependencyExclusions>groupId,artifactId</sortDependencyExclusions> <sortModules>true</sortModules> <sortProperties>true</sortProperties> <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> <verifyFail>Stop</verifyFail> <verifyFailOn>Strict</verifyFailOn> </configuration> <executions> <execution> <goals> <goal>verify</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> </plugins> <extensions> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>${os-maven-plugin.version}</version> </extension> </extensions> </build> <organization> <name>Apache Software Foundation</name> <url>http://www.apache.org</url> </organization> <licenses> <license> <name>Apache License, Version 2.0</name> <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> </license> </licenses> <repositories> <repository> <releases> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> <id>apache.snapshots</id> <url>https://repository.apache.org/snapshots</url> </repository> <repository> <releases> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> </snapshots> <id>apache.snapshots.https</id> <url>https://repository.apache.org/content/repositories/snapshots</url> </repository> </repositories> <distributionManagement> <repository> <id>${distMgmtStagingId}</id> <name>${distMgmtStagingName}</name> <url>${distMgmtStagingUrl}</url> </repository> <snapshotRepository> <id>${distMgmtSnapshotsId}</id> <name>${distMgmtSnapshotsName}</name> <url>${distMgmtSnapshotsUrl}</url> </snapshotRepository> </distributionManagement> <profiles> <profile> <id>dist</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <!-- build javadoc jars per jar for publishing to maven --> <id>module-javadocs</id> <goals> <goal>jar</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <!-- builds source jars and attaches them to the project for publishing --> <id>hadoop-java-sources</id> <goals> <goal>jar-no-fork</goal> <goal>test-jar-no-fork</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>dist-enforce</id> <goals> <goal>enforce</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupId>org.cyclonedx</groupId> <artifactId>cyclonedx-maven-plugin</artifactId> <executions> <execution> <goals> <goal>makeBom</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>sign</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>${maven-gpg-plugin.version}</version> <executions> <execution> <id>sign-artifacts</id> <goals> <goal>sign</goal> </goals> <phase>verify</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>clover</id> <activation> <activeByDefault>false</activeByDefault> <property> <name>clover</name> </property> </activation> <properties> <!-- NB: This additional parametrization is made in order to be able to re-define these properties with "-Dk=v" maven options. By some reason the expressions declared in clover docs like "${maven.clover.generateHtml}" do not work in that way. However, the below properties are confirmed to work: e.g. -DcloverGenHtml=false switches off the Html generation. The default values provided here exactly correspond to Clover defaults, so the behavior is 100% backwards compatible. --> <cloverAlwaysReport>true</cloverAlwaysReport> <cloverDatabase>${project.build.directory}/clover/hadoop-coverage.db</cloverDatabase> <cloverGenHistorical>false</cloverGenHistorical> <cloverGenHtml>true</cloverGenHtml> <cloverGenXml>true</cloverGenXml> <cloverLicenseLocation>${user.home}/.clover.license</cloverLicenseLocation> </properties> <build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <configuration> <includesAllSourceRoots>false</includesAllSourceRoots> <includesTestSourceRoots>true</includesTestSourceRoots> <licenseLocation>${cloverLicenseLocation}</licenseLocation> <cloverDatabase>${cloverDatabase}</cloverDatabase> <targetPercentage>50%</targetPercentage> <outputDirectory>${project.build.directory}/clover</outputDirectory> <alwaysReport>${cloverAlwaysReport}</alwaysReport> <generateHtml>${cloverGenHtml}</generateHtml> <generateXml>${cloverGenXml}</generateXml> <generateHistorical>${cloverGenHistorical}</generateHistorical> <excludes> <exclude>**/examples/**/*.java</exclude> <exclude>**/hamlet/*.java</exclude> <exclude>**/ha/proto/*.java</exclude> <exclude>**/protocol/proto/*.java</exclude> <exclude>**/compiler/generated/*.java</exclude> <exclude>**/protobuf/*.java</exclude> <exclude>**/v2/proto/*.java</exclude> <exclude>**/yarn/proto/*.java</exclude> <exclude>**/security/proto/*.java</exclude> <exclude>**/tools/proto/*.java</exclude> <exclude>**/hs/proto/*.java</exclude> </excludes> </configuration> <executions> <execution> <id>clover-setup</id> <goals> <goal>setup</goal> </goals> <phase>process-sources</phase> </execution> <execution> <id>clover</id> <goals> <goal>clover</goal> </goals> <phase>test</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profiles for specific JDK versions --> <profile> <id>java8</id> <activation> <jdk>[,8]</jdk> </activation> <properties> <maven.compiler.source>${javac.version}</maven.compiler.source> <maven.compiler.target>${javac.version}</maven.compiler.target> </properties> </profile> <profile> <id>java9-or-later</id> <activation> <jdk>[9,]</jdk> </activation> <properties> <!-- supported since Java 9 --> <maven.compiler.release>${javac.version}</maven.compiler.release> </properties> </profile> <profile> <id>go-offline</id> <properties> <maven.javadoc.skip>true</maven.javadoc.skip> <maven.shade.skip>true</maven.shade.skip> <skip.installnodenpm>true</skip.installnodenpm> <skip.npx>true</skip.npx> <skipDocs>true</skipDocs> <test>void</test> </properties> </profile> <profile> <id>skip-frontend</id> <activation> <property> <name>skipRecon</name> </property> </activation> <properties> <skip.installnodenpm>true</skip.installnodenpm> <skip.npx>true</skip.npx> </properties> </profile> <profile> <!-- @Native tests are excluded by default. This profile removes the exclusion if native build is enabled. --> <id>rocks-native-tests</id> <activation> <property> <name>rocks_tools_native</name> </property> </activation> <properties> <excluded-test-groups>unhealthy</excluded-test-groups> </properties> </profile> <!-- The following profiles define test splits for CI --> <profile> <id>test-client</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.ozone.client.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-container</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.hdds.scm.container.**</include> <include>org.apache.hadoop.ozone.container.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-om</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.ozone.om.**</include> </includes> <excludes> <exclude>org.apache.hadoop.ozone.om.snapshot.**</exclude> </excludes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-snapshot</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.ozone.om.snapshot.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-filesystem</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.fs.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-hdds</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.hdds.**</include> </includes> <excludes> <exclude>org.apache.hadoop.hdds.scm.container.**</exclude> </excludes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-ozone</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.ozone.**</include> <include>org.apache.hadoop.ozone.**</include> </includes> <excludes> <exclude>org.apache.hadoop.ozone.client.**</exclude> <exclude>org.apache.hadoop.ozone.container.**</exclude> <exclude>org.apache.hadoop.ozone.debug.**</exclude> <exclude>org.apache.hadoop.ozone.freon.**</exclude> <exclude>org.apache.hadoop.ozone.om.**</exclude> <exclude>org.apache.hadoop.ozone.recon.**</exclude> <exclude>org.apache.hadoop.ozone.shell.**</exclude> </excludes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-recon</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.ozone.recon.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>test-shell</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>org.apache.hadoop.ozone.debug.**</include> <include>org.apache.hadoop.ozone.freon.**</include> <include>org.apache.hadoop.ozone.shell.**</include> </includes> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>stable-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <excludedGroups>${unstable-test-groups}</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <!-- Test split dedicated for running @Flaky tests --> <id>test-flaky</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <groups>flaky</groups> <excludedGroups>native | slow | unhealthy</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <!-- Test split dedicated for running @Native tests --> <id>native-tests</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <groups>native</groups> <excludedGroups>slow | unhealthy</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>