alluxio-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.alluxio</groupId> <artifactId>alluxio-parent</artifactId> <version>313</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- The Alluxio Open Foundation licenses this work under the Apache License, version 2.0 (the "License"). You may not use this work except in compliance with the License, which is available at www.apache.org/licenses/LICENSE-2.0 This software is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, as more fully set forth in the License. See the NOTICE file distributed with this work for information regarding copyright ownership. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.sonatype.oss</groupId> <artifactId>oss-parent</artifactId> <version>7</version> </parent> <groupId>org.alluxio</groupId> <artifactId>alluxio-parent</artifactId> <version>313</version> <packaging>pom</packaging> <name>Alluxio Parent</name> <description>Parent POM of Alluxio project: a Memory-Speed Virtual Distributed Storage System</description> <url>https://www.alluxio.io/</url> <licenses> <license> <name>Apache License</name> <url>https://github.com/alluxio/alluxio/blob/master/LICENSE</url> <distribution>repo</distribution> </license> </licenses> <scm> <connection>scm:git:git@github.com:alluxio/alluxio.git</connection> <developerConnection>scm:git:git@github.com:alluxio/alluxio.git</developerConnection> <tag>alluxio-parent-313</tag> <url>scm:git:git@github.com:alluxio/alluxio.git</url> </scm> <issueManagement> <system>jira</system> <url>https://alluxio.atlassian.net</url> </issueManagement> <developers> <developer> <id>haoyuan</id> <name>Haoyuan Li</name> <email>haoyuan@alluxio.com</email> <url>http://www.cs.berkeley.edu/~haoyuan</url> <organization>Alluxio Open Foundation</organization> <organizationUrl>https://alluxio.io/</organizationUrl> </developer> </developers> <repositories> <repository> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution --> <name>Maven Repository</name> <url>https://repo1.maven.org/maven2</url> </repository> <repository> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>apache-repo</id> <name>Apache Repository</name> <url>https://repository.apache.org/content/repositories/releases</url> </repository> <repository> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>cloudera-repo</id> <name>Cloudera Repository</name> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> </repository> <repository> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>HDPReleases</id> <name>HDP Releases</name> <url>https://repo.hortonworks.com/content/repositories/releases/</url> <layout>default</layout> </repository> <repository> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <id>bintray-repo</id> <name>bintray</name> <url>https://jcenter.bintray.com</url> </repository> <repository> <id>alluxio.artifacts</id> <url>http://alluxio.artifacts.s3-website-us-east-1.amazonaws.com/release</url> </repository> </repositories> <properties> <apache.curator.version>4.2.0</apache.curator.version> <argLine /> <aws.amazonaws.version>1.11.815</aws.amazonaws.version> <awssdk.version>2.20.56</awssdk.version> <build.path>build</build.path> <caffeine.version>3.1.6</caffeine.version> <catalyst.version>1.2.1</catalyst.version> <cephfs-hadoop.version>0.0.1</cephfs-hadoop.version> <cos_api.version>5.6.19</cos_api.version> <create.dependency.reduced.pom>false</create.dependency.reduced.pom> <fastutil.version>8.5.9</fastutil.version> <findbugs.skip>false</findbugs.skip> <grpc.version>1.54.1</grpc.version> <gson.version>2.8.9</gson.version> <guava.version>31.0.1-jre</guava.version> <guice.version>5.1.0</guice.version> <hadoop-cos.version>3.1.0-5.8.5</hadoop-cos.version> <hadoop.version>3.3.1</hadoop.version> <hive-metastore.version>3.1.2</hive-metastore.version> <jackson.version>2.13.5</jackson.version> <jacoco.version>0.8.5</jacoco.version> <java.version>1.8</java.version> <jaxb.version>2.3.3</jaxb.version> <jersey.version>2.34</jersey.version> <jetty.version>9.4.46.v20220331</jetty.version> <jnr-fuse.version>0.5.5</jnr-fuse.version> <junit.version>4.13.1</junit.version> <jupiter.version>5.9.2</jupiter.version> <kerby.version>1.0.1</kerby.version> <libcephfs.version>0.0.1</libcephfs.version> <log4j.version>2.17.1</log4j.version> <maven.version>3.8.6</maven.version> <metrics.version>4.1.11</metrics.version> <mockito.version>3.4.4</mockito.version> <netty.version>4.1.87.Final</netty.version> <orc.version>1.6.3</orc.version> <oshi.version>5.3.5</oshi.version> <parquet.version>1.11.0</parquet.version> <powermock.version>2.0.7</powermock.version> <project.build.outputTimestamp>${git.commit.time}</project.build.outputTimestamp> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <prometheus.client.version>1.0.0</prometheus.client.version> <prometheus.version>0.8.0</prometheus.version> <protobuf.version>3.19.6</protobuf.version> <ratis.version>2.5.1</ratis.version> <rocksdb.version>7.0.3</rocksdb.version> <s3proxy.version>2.0.0</s3proxy.version> <slf4j.version>1.7.30</slf4j.version> <stateless4j.version>2.6.0</stateless4j.version> <surefire.excludesFile>slow-tests</surefire.excludesFile> <surefire.forkCount>2</surefire.forkCount> <surefire.rerunFailingTestsCount>1</surefire.rerunFailingTestsCount> <surefire.useSystemClassLoader>true</surefire.useSystemClassLoader> <test.output.redirect>true</test.output.redirect> <testcontainers.version>1.18.3</testcontainers.version> <update.check.auth.string>YWxsdXhpbzp0YWNoeW9u</update.check.auth.string> <update.check.configurable>true</update.check.configurable> <update.check.enabled>true</update.check.enabled> <update.check.host>https://diagnostics.alluxio.io</update.check.host> </properties> <modules> <module>assembly</module> <module>common</module> <module>dora</module> <module>webui</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>${awssdk.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Compile scope --> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.7.0</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-core</artifactId> <version>${aws.amazonaws.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>${aws.amazonaws.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-sts</artifactId> <version>${aws.amazonaws.version}</version> </dependency> <dependency> <groupId>com.beust</groupId> <artifactId>jcommander</artifactId> <version>1.78</version> </dependency> <dependency> <groupId>com.esotericsoftware</groupId> <artifactId>kryo</artifactId> <version>4.0.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-json-provider</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>2.9.3</version> </dependency> <dependency> <groupId>com.github.serceman</groupId> <artifactId>jnr-fuse</artifactId> <version>${jnr-fuse.version}</version> </dependency> <dependency> <groupId>com.github.stateless4j</groupId> <artifactId>stateless4j</artifactId> <version>${stateless4j.version}</version> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-storage</artifactId> <version>1.79.0</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <version>${guice.version}</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>${protobuf.version}</version> <exclusions> <exclusion> <groupId>com.google.code.findbugs</groupId> <artifactId>annotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.hubspot.jackson</groupId> <artifactId>jackson-datatype-protobuf</artifactId> <version>0.9.12</version> </dependency> <dependency> <groupId>com.jamesmurty.utils</groupId> <artifactId>java-xmlbuilder</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>com.qcloud</groupId> <artifactId>cos_api</artifactId> <version>5.6.28</version> </dependency> <dependency> <groupId>com.qcloud</groupId> <artifactId>cos_api-bundle</artifactId> <version>${cos_api.version}</version> </dependency> <dependency> <groupId>com.qcloud.cos</groupId> <artifactId>hadoop-cos</artifactId> <version>${hadoop-cos.version}</version> </dependency> <dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.17</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>${jaxb.version}</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.7</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>io.atomix.catalyst</groupId> <artifactId>catalyst-transport</artifactId> <version>${catalyst.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-core</artifactId> <version>${metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-graphite</artifactId> <version>${metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jmx</artifactId> <version>${metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-json</artifactId> <version>${metrics.version}</version> </dependency> <dependency> <groupId>io.dropwizard.metrics</groupId> <artifactId>metrics-jvm</artifactId> <version>${metrics.version}</version> </dependency> <dependency> <groupId>io.etcd</groupId> <artifactId>jetcd-core</artifactId> <version>0.7.5</version> </dependency> <dependency> <groupId>io.github.opendataio</groupId> <artifactId>cephfs-hadoop</artifactId> <version>${cephfs-hadoop.version}</version> </dependency> <dependency> <groupId>io.github.opendataio</groupId> <artifactId>libcephfs</artifactId> <version>${libcephfs.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-api</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-core</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> <version>${grpc.version}</version> <exclusions> <exclusion> <groupId>io.netty</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> <version>${grpc.version}</version> <exclusions> <exclusion> <groupId>com.google.api.grpc</groupId> <artifactId>proto-google-common-protos</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-services</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> <version>${grpc.version}</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>${netty.version}</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-tcnative-boringssl-static</artifactId> <version>2.0.56.Final</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>prometheus-metrics-core</artifactId> <version>${prometheus.client.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>prometheus-metrics-exporter-servlet-jakarta</artifactId> <version>${prometheus.client.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>prometheus-metrics-instrumentation-jvm</artifactId> <version>${prometheus.client.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient</artifactId> <version>${prometheus.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_dropwizard</artifactId> <version>${prometheus.version}</version> </dependency> <dependency> <groupId>io.prometheus</groupId> <artifactId>simpleclient_servlet</artifactId> <version>${prometheus.version}</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>1.6.2</version> </dependency> <dependency> <groupId>it.unimi.dsi</groupId> <artifactId>fastutil-core</artifactId> <version>${fastutil.version}</version> </dependency> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>5.0.0</version> </dependency> <dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>2.1.6</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>net.java.dev.jets3t</groupId> <artifactId>jets3t</artifactId> <version>0.8.1</version> </dependency> <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna-jpms</artifactId> <version>5.13.0</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.21</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-client</artifactId> <version>${apache.curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>${apache.curator.version}</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>${apache.curator.version}</version> </dependency> <!-- We do not use dependent management for hadoop-common, hadoop-hdfs, as it is unavailable in hadoop-1 --> <!-- We do not use dependent management for hadoop-core, as it is unavailable in hadoop-2.x --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> <exclusions> <!-- Excluded to avoid implementation conflict with javax.servlet:servlet-api --> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-minicluster</artifactId> <version>${hadoop.version}</version> <exclusions> <!-- Excluded to avoid implementation conflict with org.glassfish.jersey.core:jersey-server --> <exclusion> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> </exclusion> <!-- Excluded to avoid implementation conflict with javax.servlet:javax.servlet-api --> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-2.1</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-api-2.1</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-runtime</artifactId> </exclusion> <!-- Excluded to avoid issues with the web UI --> <exclusion> <groupId>tomcat</groupId> <artifactId>jasper-compiler</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-metastore</artifactId> <version>${hive-metastore.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.13</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>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.apache.orc</groupId> <artifactId>orc-core</artifactId> <version>${orc.version}</version> </dependency> <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-avro</artifactId> <version>${parquet.version}</version> </dependency> <dependency> <groupId>org.apache.parquet</groupId> <artifactId>parquet-cli</artifactId> <version>${parquet.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-server</artifactId> <version>${ratis.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.5</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </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-webapp</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-server</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.hdrhistogram</groupId> <artifactId>HdrHistogram</artifactId> <version>2.1.12</version> </dependency> <dependency> <groupId>org.javaswift</groupId> <artifactId>joss</artifactId> <version>0.10.4</version> </dependency> <dependency> <groupId>org.jline</groupId> <artifactId>jline</artifactId> <version>3.16.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.15.3</version> </dependency> <dependency> <groupId>org.lz4</groupId> <artifactId>lz4-java</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.12</version> </dependency> <dependency> <groupId>org.rocksdb</groupId> <artifactId>rocksdbjni</artifactId> <version>${rocksdb.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>netty-nio-client</artifactId> <version>${awssdk.version}</version> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>${awssdk.version}</version> </dependency> <!-- Test scope --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava-testlib</artifactId> <version>${guava.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.20</version> <scope>test</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-testing</artifactId> <version>${grpc.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-test</artifactId> <version>${apache.curator.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-test</artifactId> <version>${hadoop.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.gaul</groupId> <artifactId>s3proxy</artifactId> <version>${s3proxy.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>2.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${jupiter.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-inline</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-classloading-xstream</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-core</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4-rule</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-reflect</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>testcontainers</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.testcontainers</groupId> <artifactId>toxiproxy</artifactId> <version>${testcontainers.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement> <!-- Dependencies to add to all projects. --> <dependencies> <!-- Dependencies in the compile scope. --> <!-- System logging. --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <!-- Dependencies in the test scope. --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava-testlib</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-classloading-xstream</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4-rule</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-reflect</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>com.coderplus.maven.plugins</groupId> <artifactId>copy-rename-maven-plugin</artifactId> <version>1.0</version> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>4.2</version> </plugin> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>4.0.5</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>3.2.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>UTF-8</encoding> <maxmem>1024m</maxmem> <compilerArgs> <arg>-Xlint:none</arg> </compilerArgs> <forceJavacCompilerUse>true</forceJavacCompilerUse> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.0.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.3.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <excludes> <exclude>**/log4j.properties</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.9</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <!-- Needs to be 2.4.2 or later to prevent MSHADE-148 --> <version>3.2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0</version> <configuration> <skipTests>true</skipTests> <argLine>@{argLine} -Djava.net.preferIPv4Stack=true</argLine> <excludesFile>${build.path}/surefire/${surefire.excludesFile}</excludesFile> <forkCount>${surefire.forkCount}</forkCount> <rerunFailingTestsCount>${surefire.rerunFailingTestsCount}</rerunFailingTestsCount> <redirectTestOutputToFile>${test.output.redirect}</redirectTestOutputToFile> <reuseForks>false</reuseForks> <runOrder>alphabetical</runOrder> <forkedProcessExitTimeoutInSeconds>180</forkedProcessExitTimeoutInSeconds> <systemPropertyVariables> <alluxio.test.mode>true</alluxio.test.mode> <jacoco-agent.append>true</jacoco-agent.append> <jacoco-agent.destfile>${build.path}/../target/jacoco-combined.exec</jacoco-agent.destfile> </systemPropertyVariables> <trimStackTrace>false</trimStackTrace> <useSystemClassLoader>${surefire.useSystemClassLoader}</useSystemClassLoader> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.10</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.4.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.7</version> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.0.4</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.1.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>templating-maven-plugin</artifactId> <version>1.0.0</version> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <version>3.0.1</version> </plugin> <!-- REST Documentation plugin --> <plugin> <groupId>com.github.kongchen</groupId> <artifactId>swagger-maven-plugin</artifactId> <version>3.1.7</version> <dependencies> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.1</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>generate</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> <plugin> <groupId>org.questdb</groupId> <artifactId>rust-maven-plugin</artifactId> <version>1.1.1</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <configuration> <skipAssembly>true</skipAssembly> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Javadoc --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <additionalparam>-Xdoclint:none</additionalparam> </configuration> <executions> <execution> <id>aggregate</id> <goals> <goal>aggregate</goal> </goals> </execution> <execution> <id>attach-javadoc</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Enforce versions --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <!-- hardcode the version here because maven failed to pick up the dependency-managed version of maven-enforcer-plugin --> <version>3.3.0</version> <executions> <execution> <id>enforce-versions</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>${maven.version}</version> </requireMavenVersion> <requireJavaVersion> <version>[1.8, 1.9)</version> </requireJavaVersion> </rules> </configuration> </execution> <execution> <id>no-duplicate-dependencies</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <!-- checks for duplicate dependencies in the "dependencies" and "dependencyManagement" sections. --> <!-- dependencies are considered duplicate if they have the same groupId, artifactId, type, and classifier properties --> <banDuplicatePomDependencyVersions /> </rules> </configuration> </execution> </executions> </plugin> <!-- Use commit time for reproducible builds - https://maven.apache.org/guides/mini/guide-reproducible-builds.html --> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <configuration> <generateGitPropertiesFile>true</generateGitPropertiesFile> <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename> <dateFormat>yyyy-MM-dd'T'HH:mm:ss'Z'</dateFormat> <includeOnlyProperties> <includeOnlyProperty>git.commit.time</includeOnlyProperty> <includeOnlyProperty>git.build.version</includeOnlyProperty> <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> </includeOnlyProperties> <commitIdGenerationMode>full</commitIdGenerationMode> </configuration> <executions> <execution> <id>get-the-git-infos</id> <goals> <goal>revision</goal> </goals> <phase>initialize</phase> </execution> </executions> </plugin> <!-- SpotBugs --> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <configuration> <excludeFilterFile>${build.path}/findbugs/findbugs-exclude.xml</excludeFilterFile> <!-- Enables analysis which takes more memory but finds more bugs. If you run out of memory, changes the value of the effort element to 'Low'. --> <effort>Max</effort> <skip>${findbugs.skip}</skip> <failOnError>true</failOnError> <threshold>Low</threshold> <spotbugsXmlOutput>true</spotbugsXmlOutput> <xmlOutput>true</xmlOutput> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>compile</phase> </execution> </executions> </plugin> <!-- Checkstyle --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>3.1.2</version> <configuration> <configLocation>${build.path}/checkstyle/alluxio_checks.xml</configLocation> <suppressionsLocation>${build.path}/checkstyle/suppressions.xml</suppressionsLocation> <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression> <!-- Ensure generated source files are not style-checked --> <sourceDirectories> <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory> </sourceDirectories> <includeTestSourceDirectory>true</includeTestSourceDirectory> <excludes>**/org/apache/jsp/**,**/alluxio/concurrent/jsr/**,**/alluxio/jnifuse/**</excludes> <encoding>UTF-8</encoding> <consoleOutput>true</consoleOutput> <failsOnError>true</failsOnError> <linkXRef>false</linkXRef> </configuration> <dependencies> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>9.0.1</version> </dependency> </dependencies> <executions> <execution> <id>checkstyle</id> <goals> <goal>check</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <!-- License Plugin --> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <configuration> <aggregate>false</aggregate> <failIfMissing>true</failIfMissing> <licenseSets> <licenseSet> <header>${build.path}/license/HEADER.txt</header> <excludes> <!-- Code Exclusions --> <exclude>**/src/main/java/alluxio/concurrent/jsr/**</exclude> <exclude>**/src/main/resources/*</exclude> <exclude>**/src/proto/**</exclude> <exclude>**/src/deb/**/*</exclude> <exclude>**/src/test/resources/**</exclude> <exclude>**/\?/.java/**/*</exclude> <!-- Build and Packaging Exclusions --> <exclude>webui/node_modules/*</exclude> <exclude>build/**/*</exclude> <exclude>conf/alluxio-env.sh</exclude> <exclude>conf/alluxio-site.properties</exclude> <exclude>conf/masters</exclude> <exclude>conf/tiered_identity.sh</exclude> <exclude>conf/workers</exclude> <exclude>dev/scripts/src/alluxio.org/go.mod</exclude> <exclude>dev/scripts/src/alluxio.org/go.sum</exclude> <exclude>dev/scripts/tarballs/**/*</exclude> <exclude>dev/scripts/workdir/**/*</exclude> <exclude>generated/**</exclude> <exclude>libexec/version.sh</exclude> <exclude>**/.checkstyle</exclude> <exclude>**/src/main/assembly/*</exclude> <exclude>**/.idea/**</exclude> <exclude>webui/**/.nvmrc</exclude> <exclude>webui/**/*.svg</exclude> <exclude>webui/**/.env*</exclude> <exclude>webui/**/node/**</exclude> <exclude>webui/**/node_modules/**</exclude> <exclude>webui/**/src/**/*.css</exclude> <exclude>webui/**/build/**</exclude> <!-- Documentation Exclusions --> <exclude>docs/**/*</exclude> <exclude>LICENSE</exclude> <exclude>NOTICE</exclude> <exclude>templates/*</exclude> <!-- Default Local File System Exclusions --> <exclude>logs/**/*</exclude> <exclude>journal/**/*</exclude> <exclude>metastore/**/*</exclude> <exclude>underFSStorage/**/*</exclude> </excludes> </licenseSet> </licenseSets> <mapping> <alluxio>SCRIPT_STYLE</alluxio> <cc>SLASHSTAR_STYLE</cc> <go>SLASHSTAR_STYLE</go> <h>SLASHSTAR_STYLE</h> <java>SLASHSTAR_STYLE</java> <properties.template>SCRIPT_STYLE</properties.template> <scss>SLASHSTAR_STYLE</scss> <sh.template>SCRIPT_STYLE</sh.template> <tsx>SLASHSTAR_STYLE</tsx> <workers>SCRIPT_STYLE</workers> <xml.template>XML_STYLE</xml.template> </mapping> <useDefaultMapping>true</useDefaultMapping> <strictCheck>true</strictCheck> </configuration> <executions> <execution> <goals> <goal>check</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <inherited>false</inherited> <executions> <!-- Prevent Windows line endings --> <execution> <id>Check that there are no Windows line endings</id> <goals> <goal>exec</goal> </goals> <phase>compile</phase> <configuration> <executable>${build.path}/style/check_no_windows_line_endings.sh</executable> </configuration> </execution> <!-- Create libexec/version.sh --> <execution> <id>Write version string in generated packaged script</id> <goals> <goal>exec</goal> </goals> <phase>compile</phase> <configuration> <executable>${build.path}/version/write_version.sh</executable> <arguments>${project.version}</arguments> </configuration> </execution> </executions> </plugin> <plugin> <groupId>com.github.ekryd.sortpom</groupId> <artifactId>sortpom-maven-plugin</artifactId> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <expandEmptyElements>false</expandEmptyElements> <keepBlankLines>true</keepBlankLines> <lineSeparator>\n</lineSeparator> <sortOrderFile>${build.path}/sortpom/alluxio_pom.xml</sortOrderFile> <sortDependencies>scope,groupId,artifactId</sortDependencies> <sortProperties>true</sortProperties> </configuration> <executions> <execution> <!-- validate if a pom file is sorted, fail the build if it is not sorted --> <id>default-cli</id> <goals> <goal>verify</goal> </goals> <phase>validate</phase> <configuration> <verifyFail>warn</verifyFail> <verifyFailOn>strict</verifyFailOn> <violationFilename>target/sortpom_reports/violation.xml</violationFilename> </configuration> </execution> <execution> <!-- sort a pom file in place, note this will modify the pom file --> <id>manual-sort</id> <goals> <goal>sort</goal> </goals> <!-- Empty phase to skip automatically running this as part of a build process --> <!-- Still invokable by running `mvn sortpom:sort@manual-sort` from the command line --> <phase /> <configuration> <createBackupFile>true</createBackupFile> </configuration> </execution> </executions> </plugin> </plugins> <extensions> <extension> <groupId>org.apache.maven.archetype</groupId> <artifactId>archetype-packaging</artifactId> <version>3.2.1</version> </extension> </extensions> </build> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <show>public</show> </configuration> </plugin> </plugins> </reporting> <profiles> <profile> <id>runAllTests</id> <properties> <surefire.excludesFile>no-excludes</surefire.excludesFile> </properties> </profile> <profile> <id>contractTest</id> <properties> <hadoop.version>2.6.5</hadoop.version> </properties> </profile> <profile> <id>hadoop-1</id> <properties> <hadoop.version>1.0.4</hadoop.version> </properties> </profile> <profile> <id>hadoop-2</id> <properties> <hadoop.version>2.7.3</hadoop.version> </properties> </profile> <profile> <id>hadoop-3</id> <properties> <hadoop.version>3.3.1</hadoop.version> </properties> </profile> <!-- Requires hadoop.version to be 2.4.0 or later --> <profile> <id>java11</id> <activation> <jdk>11</jdk> </activation> <properties> <java.version>1.8</java.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <source>11</source> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>--add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens java.xml/jdk.xml.internal=ALL-UNNAMED</argLine> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>generateDocs</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <inherited>false</inherited> <executions> <execution> <id>Generate documentation</id> <goals> <goal>exec</goal> </goals> <phase>compile</phase> <configuration> <executable>jekyll</executable> <arguments> <argument>build</argument> <argument>--source</argument> <argument>docs</argument> <argument>--destination</argument> <argument>docs/_site</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jacoco</id> <dependencies> <dependency> <!-- to use instrument, jacoco must be on the classpath --> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.agent</artifactId> <version>${jacoco.version}</version> <classifier>runtime</classifier> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <configuration> <!-- Append all coverage data into a single .exec file, so the reports include integration test results. The report generation should happen in a separate, later stage, so the coverage data is complete with the results of all the tests in the project. --> <append>true</append> <destFile>${build.path}/../target/jacoco-combined.exec</destFile> </configuration> <executions> <execution> <!-- offline instrumentation is required, for jacoco to work with powermock tests --> <id>jacoco-unit-instrument-classes</id> <goals> <goal>instrument</goal> </goals> </execution> <execution> <!-- offline instrumentation is required, for jacoco to work with powermock tests --> <id>jacoco-unit-restore-instrumented-classes</id> <goals> <goal>restore-instrumented-classes</goal> </goals> <phase>test</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>jacocoReport</id> <!-- This profile depends on the generated coverage data from the jacoco profile (test phase). This should be run as a separate step, since the generated coverage data should include the results from all the tests in the project. --> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <executions> <execution> <id>jacoco-coverage-report</id> <goals> <goal>report</goal> </goals> <configuration> <dataFile>${build.path}/../target/jacoco-combined.exec</dataFile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release</id> <properties> <!-- The maven shade plugin has a bug where enabling the `createDependencyReducedPom` property causes maven to go into an infinite loop (MSHADE-148). This is only an issue for the Alluxio build if the maven version is 3.3.x or newer. However, since disabling this property has the side effect of not resolving variables in the released pom files, we need to enable this during releases. --> <create.dependency.reduced.pom>true</create.dependency.reduced.pom> </properties> <build> <plugins> <!-- Precompile golang binaries for CLI --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <executions> <execution> <id>Build Golang CLI</id> <goals> <goal>exec</goal> </goals> <phase>compile</phase> <configuration> <executable>${build.path}/cli/build-cli.sh</executable> <arguments> <argument>-a</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>native-components</id> <modules> <module>native</module> </modules> </profile> </profiles> </project>