| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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 |
| |
| https://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. |
| |
| --> |
| <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 https://maven.apache.org/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>30</version> |
| </parent> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-testing</artifactId> |
| <version>4.0.0-SNAPSHOT</version> |
| <name>Apache Accumulo Testing</name> |
| <description>Testing tools for Apache Accumulo</description> |
| <properties> |
| <accumulo.version>4.0.0-SNAPSHOT</accumulo.version> |
| <!-- prevent introduction of new compiler warnings --> |
| <maven.compiler.failOnWarning>true</maven.compiler.failOnWarning> |
| <maven.compiler.release>11</maven.compiler.release> |
| <maven.compiler.source>11</maven.compiler.source> |
| <maven.compiler.target>11</maven.compiler.target> |
| <maven.javadoc.failOnWarnings>true</maven.javadoc.failOnWarnings> |
| <maven.site.deploy.skip>true</maven.site.deploy.skip> |
| <maven.site.skip>true</maven.site.skip> |
| <!-- versions-maven-plugin ignore patterns for snapshots, alpha, beta, milestones, and release candidates --> |
| <maven.version.ignore>.+-SNAPSHOT,(?i).*(alpha|beta)[0-9.-]*,(?i).*[.-](m|rc)[0-9]+</maven.version.ignore> |
| <minimalJavaBuildVersion>11</minimalJavaBuildVersion> |
| <minimalMavenBuildVersion>3.6.0</minimalMavenBuildVersion> |
| <!-- timestamp for reproducible outputs, updated on release by the release plugin --> |
| <project.build.outputTimestamp>2021-12-15T00:00:00Z</project.build.outputTimestamp> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-project</artifactId> |
| <version>${accumulo.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.lmax</groupId> |
| <artifactId>disruptor</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>commons-codec</groupId> |
| <artifactId>commons-codec</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-hadoop-mapreduce</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-math3</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-client-runtime</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j2-impl</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-minicluster</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!-- check for version updates with 'mvn versions:display-plugin-updates' --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.16.1</version> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>4.3</version> |
| <configuration> |
| <licenseSets> |
| <licenseSet> |
| <header>src/build/license-header.txt</header> |
| <excludes> |
| <exclude>**/DEPENDENCIES</exclude> |
| <exclude>**/LICENSE</exclude> |
| <exclude>**/NOTICE</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/lib/data/**</exclude> |
| <!-- template types are in various formats; update manually if needed --> |
| <exclude>**/*.tftpl</exclude> |
| </excludes> |
| </licenseSet> |
| </licenseSets> |
| <mapping> |
| <agitator>SCRIPT_STYLE</agitator> |
| <build>SCRIPT_STYLE</build> |
| <cingest>SCRIPT_STYLE</cingest> |
| <docker-entry>SCRIPT_STYLE</docker-entry> |
| <gcs>SCRIPT_STYLE</gcs> |
| <mapred>SCRIPT_STYLE</mapred> |
| <monitor>SCRIPT_STYLE</monitor> |
| <performance>SCRIPT_STYLE</performance> |
| <readers>SCRIPT_STYLE</readers> |
| <rwalk>SCRIPT_STYLE</rwalk> |
| <writers>SCRIPT_STYLE</writers> |
| <!-- extensions --> |
| <conf>SCRIPT_STYLE</conf> |
| <example>SCRIPT_STYLE</example> |
| <java>SLASHSTAR_STYLE</java> |
| <tf>SCRIPT_STYLE</tf> |
| <uno>SCRIPT_STYLE</uno> |
| </mapping> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <quiet>true</quiet> |
| <doclint>all,-missing</doclint> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <configuration> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>**/Log4j2Plugins.dat</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.ekryd.sortpom</groupId> |
| <artifactId>sortpom-maven-plugin</artifactId> |
| <version>3.3.0</version> |
| <configuration> |
| <createBackupFile>false</createBackupFile> |
| <expandEmptyElements>false</expandEmptyElements> |
| <keepBlankLines>false</keepBlankLines> |
| <lineSeparator>\n</lineSeparator> |
| <nrOfIndentSpace>2</nrOfIndentSpace> |
| <predefinedSortOrder>recommended_2008_06</predefinedSortOrder> |
| <sortDependencies>scope,groupId,artifactId</sortDependencies> |
| <sortProperties>true</sortProperties> |
| <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement> |
| <verifyFail>Stop</verifyFail> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>2.23.0</version> |
| <configuration> |
| <configFile>src/build/eclipse-codestyle.xml</configFile> |
| <lineEnding>LF</lineEnding> |
| <skipCssFormatting>true</skipCssFormatting> |
| <skipHtmlFormatting>true</skipHtmlFormatting> |
| <skipJsFormatting>true</skipJsFormatting> |
| <skipJsonFormatting>true</skipJsonFormatting> |
| <skipXmlFormatting>true</skipXmlFormatting> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <version>1.9.0</version> |
| <configuration> |
| <removeUnused>true</removeUnused> |
| <groups>java.,javax.,jakarta.,org.,com.</groups> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <compilerArgs> |
| <arg>-Xlint:all</arg> |
| <arg>-Xlint:-processing</arg> |
| <!-- suppress try to ignore unused variable in try-with-resources --> |
| <arg>-Xlint:-try</arg> |
| <arg>-Xmaxwarns</arg> |
| <arg>5</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>run-integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- This was added to ensure project only uses public API --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>3.3.0</version> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>10.12.3</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <configLocation>src/build/checkstyle/checkstyle.xml</configLocation> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>test/bench/lib/data/*</exclude> |
| <exclude>test/compat/japi-compliance/exclude_classes.txt</exclude> |
| <exclude>contrib/terraform-testing-infrastructure/**/terraform.tfstate*</exclude> |
| <exclude>contrib/terraform-testing-infrastructure/**/*.tftpl</exclude> |
| <exclude>contrib/terraform-testing-infrastructure/**/.terraform/**</exclude> |
| <exclude>contrib/terraform-testing-infrastructure/**/.terraform*</exclude> |
| <exclude>contrib/terraform-testing-infrastructure/**/*auto.tfvars*</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>verify</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <!-- on by default, but disable with '-P !autoformat' or '-DskipFormat' --> |
| <id>autoformat</id> |
| <activation> |
| <property> |
| <name>!skipFormat</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.ekryd.sortpom</groupId> |
| <artifactId>sortpom-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sort-pom</id> |
| <goals> |
| <goal>sort</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>license-headers</id> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| <phase>process-test-resources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>format-java-source</id> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sort-imports</id> |
| <goals> |
| <goal>sort</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>create-shade-jar</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.edwgiz</groupId> |
| <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId> |
| <version>2.1</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>testing-shade-jar</id> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <phase>package</phase> |
| <configuration> |
| <finalName>${project.artifactId}-shaded</finalName> |
| <shadedArtifactAttached>true</shadedArtifactAttached> |
| <shadedClassifierName>shaded</shadedClassifierName> |
| <artifactSet> |
| <excludes> |
| <exclude>org.apache.accumulo:accumulo-native</exclude> |
| <exclude>org.apache.hadoop:*</exclude> |
| <exclude>log4j:*</exclude> |
| </excludes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>module-info.class</exclude> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| <exclude>META-INF/*.txt</exclude> |
| <exclude>META-INF/*.MF</exclude> |
| <exclude>META-INF/DEPENDENCIES</exclude> |
| <exclude>META-INF/LICENSE</exclude> |
| <exclude>META-INF/NOTICE</exclude> |
| <exclude>META-INF/io.netty.versions.properties</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <transformers> |
| <!-- Hadoop uses service loader to find filesystem impls, without this may not find them --> |
| <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> |
| <!-- New transformer. Provides workaround for 2 bugs. Read README.md for |
| more information at: https://github.com/edwgiz/maven-shaded-log4j-transformer --> |
| <transformer implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer" /> |
| </transformers> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>m2e</id> |
| <activation> |
| <property> |
| <name>m2e.version</name> |
| </property> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| </profiles> |
| </project> |