| <?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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>37</version> |
| <relativePath /> |
| </parent> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-classloader-extras</artifactId> |
| <version>1.0.1-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| <name>Apache Accumulo ClassLoader Extras</name> |
| <description>Apache ClassLoader Extras provided by the Apache Accumulo project</description> |
| <url>https://accumulo.apache.org</url> |
| <inceptionYear>2020</inceptionYear> |
| <organization> |
| <name>The Apache Software Foundation</name> |
| <url>https://www.apache.org</url> |
| </organization> |
| <licenses> |
| <license> |
| <name>Apache-2.0</name> |
| <url>https://www.apache.org/licenses/LICENSE-2.0</url> |
| </license> |
| </licenses> |
| <mailingLists> |
| <mailingList> |
| <name>User</name> |
| <subscribe>user-subscribe@accumulo.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@accumulo.apache.org</unsubscribe> |
| <post>user@accumulo.apache.org</post> |
| <archive>https://lists.apache.org/list.html?user@accumulo.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Dev</name> |
| <subscribe>dev-subscribe@accumulo.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@accumulo.apache.org</unsubscribe> |
| <post>dev@accumulo.apache.org</post> |
| <archive>https://lists.apache.org/list.html?dev@accumulo.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Commits</name> |
| <subscribe>commits-subscribe@accumulo.apache.org</subscribe> |
| <unsubscribe>commits-unsubscribe@accumulo.apache.org</unsubscribe> |
| <archive>https://lists.apache.org/list.html?commits@accumulo.apache.org</archive> |
| </mailingList> |
| <mailingList> |
| <name>Notifications</name> |
| <subscribe>notifications-subscribe@accumulo.apache.org</subscribe> |
| <unsubscribe>notifications-unsubscribe@accumulo.apache.org</unsubscribe> |
| <archive>https://lists.apache.org/list.html?notifications@accumulo.apache.org</archive> |
| </mailingList> |
| </mailingLists> |
| <modules> |
| <module>modules/example-iterators-a</module> |
| <module>modules/example-iterators-b</module> |
| <module>modules/caching-classloader</module> |
| <module>modules/hdfs-urlstreamhandler-provider</module> |
| </modules> |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/accumulo-classloaders.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/accumulo-classloaders.git</developerConnection> |
| <tag>HEAD</tag> |
| <url>https://gitbox.apache.org/repos/asf?p=accumulo-classloaders.git</url> |
| </scm> |
| <issueManagement> |
| <system>GitHub Issues</system> |
| <url>https://github.com/apache/accumulo-classloaders/issues</url> |
| </issueManagement> |
| <ciManagement> |
| <system>GitHub Actions</system> |
| <url>https://github.com/apache/accumulo-classloaders/actions</url> |
| </ciManagement> |
| <properties> |
| <accumulo.build.license.header><![CDATA[ |
| 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. |
| ]]></accumulo.build.license.header> |
| <failsafe.failIfNoSpecifiedTests>false</failsafe.failIfNoSpecifiedTests> |
| <javaVersion>11</javaVersion> |
| <!-- prevent introduction of new compiler warnings --> |
| <maven.compiler.failOnWarning>true</maven.compiler.failOnWarning> |
| <maven.javadoc.failOnWarnings>true</maven.javadoc.failOnWarnings> |
| <maven.site.deploy.skip>true</maven.site.deploy.skip> |
| <maven.site.skip>true</maven.site.skip> |
| <!-- surefire/failsafe plugin option --> |
| <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile> |
| <!-- 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>21</minimalJavaBuildVersion> |
| <minimalMavenBuildVersion>3.9</minimalMavenBuildVersion> |
| <modernizer.javaVersion>${javaVersion}</modernizer.javaVersion> |
| <!-- timestamp for reproducible outputs, updated on release by the release plugin --> |
| <project.build.outputTimestamp>2026-02-24T20:09:31Z</project.build.outputTimestamp> |
| <rat.consoleOutput>true</rat.consoleOutput> |
| <sourceReleaseAssemblyDescriptor>source-release-tar</sourceReleaseAssemblyDescriptor> |
| <surefire.failIfNoSpecifiedTests>false</surefire.failIfNoSpecifiedTests> |
| <version.accumulo>2.1.4</version.accumulo> |
| <version.auto-service>1.1.1</version.auto-service> |
| <version.errorprone>2.47.0</version.errorprone> |
| <version.httpclient5>5.6</version.httpclient5> |
| </properties> |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <!-- most dependencies will be provided by the accumulo installation --> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-project</artifactId> |
| <version>${version.accumulo}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.auto.service</groupId> |
| <artifactId>auto-service-annotations</artifactId> |
| <version>${version.auto-service}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>hdfs-urlstreamhandler-provider</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents.client5</groupId> |
| <artifactId>httpclient5</artifactId> |
| <version>${version.httpclient5}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <!-- needed for compile-time annotations only --> |
| <groupId>com.google.auto.service</groupId> |
| <artifactId>auto-service-annotations</artifactId> |
| <optional>true</optional> |
| </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.21.0</version> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>5.0.0</version> |
| <configuration> |
| <licenseSets> |
| <licenseSet> |
| <inlineHeader>${accumulo.build.license.header}</inlineHeader> |
| <includes> |
| <!-- override some of the default exclusions --> |
| <include>**/*.md</include> |
| <include>**/.github</include> |
| <include>**/.github/**</include> |
| </includes> |
| <excludes combine.children="append"> |
| <exclude>**/.github/ISSUE_TEMPLATE/**</exclude> |
| <exclude>**/DEPENDENCIES</exclude> |
| <exclude>**/LICENSE</exclude> |
| <exclude>**/NOTICE</exclude> |
| <exclude>**/target/**</exclude> |
| </excludes> |
| </licenseSet> |
| </licenseSets> |
| <mapping combine.children="append"> |
| <!-- general mappings; module-specific mappings appear in their respective pom --> |
| <HelloWorldTemplate>SLASHSTAR_STYLE</HelloWorldTemplate> |
| <TestTemplate>SLASHSTAR_STYLE</TestTemplate> |
| <java>SLASHSTAR_STYLE</java> |
| <md>XML_STYLE</md> |
| </mapping> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.gaul</groupId> |
| <artifactId>modernizer-maven-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.9.8.2</version> |
| <configuration> |
| <xmlOutput>true</xmlOutput> |
| <effort>Max</effort> |
| <failOnError>true</failOnError> |
| <includeTests>true</includeTests> |
| <maxRank>20</maxRank> |
| <plugins> |
| <plugin> |
| <groupId>com.overstock.findbugs</groupId> |
| <artifactId>library-detectors</artifactId> |
| <version>1.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>com.h3xstream.findsecbugs</groupId> |
| <artifactId>findsecbugs-plugin</artifactId> |
| <version>1.14.0</version> |
| </plugin> |
| </plugins> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.ekryd.sortpom</groupId> |
| <artifactId>sortpom-maven-plugin</artifactId> |
| <version>4.0.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>com.github.koraktor</groupId> |
| <artifactId>mavanagaiata</artifactId> |
| <version>1.1.2</version> |
| <configuration> |
| <skipNoGit>true</skipNoGit> |
| </configuration> |
| </plugin> |
| <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> |
| <arg>-Xmaxwarns</arg> |
| <arg>5</arg> |
| </compilerArgs> |
| <annotationProcessorPaths combine.children="append"> |
| <path> |
| <groupId>com.google.auto.service</groupId> |
| <artifactId>auto-service</artifactId> |
| <version>${version.auto-service}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Automatic-Module-Name>${accumulo.build.module.name}</Automatic-Module-Name> |
| <Implementation-Build>${mvngit.commit.id}</Implementation-Build> |
| <Sealed>true</Sealed> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <quiet>true</quiet> |
| <additionalJOption>-J-Xmx512m</additionalJOption> |
| <doclint>all,-missing</doclint> |
| <legacyMode>true</legacyMode> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <goals>clean deploy</goals> |
| <preparationGoals>clean verify</preparationGoals> |
| <tagNameFormat>rel/@{project.artifactId}-@{project.version}</tagNameFormat> |
| <preparationProfiles>apache-release,accumulo-release,!autoformat,verifyformat</preparationProfiles> |
| <releaseProfiles>apache-release,accumulo-release,!autoformat,verifyformat</releaseProfiles> |
| <useReleaseProfile>false</useReleaseProfile> |
| <pushChanges>false</pushChanges> |
| <localCheckout>true</localCheckout> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.6.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.6.3</version> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>2.29.0</version> |
| <configuration> |
| <compilerCompliance>${javaVersion}</compilerCompliance> |
| <compilerSource>${javaVersion}</compilerSource> |
| <compilerTargetPlatform>${javaVersion}</compilerTargetPlatform> |
| <configFile>${rootlocation}/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>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes combine.children="append"> |
| <exclude>.github/**</exclude> |
| <exclude>**/*.json</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <version>1.13.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-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>analyze</id> |
| <goals> |
| <goal>analyze-only</goal> |
| </goals> |
| <configuration> |
| <failOnWarning>true</failOnWarning> |
| <ignoredUnusedDeclaredDependencies combine.children="append"> |
| <!-- auto-service annotations may or may not be used in each module --> |
| <unused>com.google.auto.service:auto-service-annotations:jar:*</unused> |
| <!-- ignore false positive runtime dependencies --> |
| <unused>org.apache.logging.log4j:log4j-slf4j2-impl:*</unused> |
| <!-- spotbugs annotations may or may not be used in each module --> |
| <unused>com.github.spotbugs:spotbugs-annotations:jar:*</unused> |
| </ignoredUnusedDeclaredDependencies> |
| </configuration> |
| </execution> |
| <execution> |
| <id>analyze-exclusions</id> |
| <goals> |
| <goal>analyze-exclusions</goal> |
| </goals> |
| <configuration> |
| <exclusionFail>true</exclusionFail> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <!-- create property named 'rootlocation' to point to top of multi-module project --> |
| <id>create-rootlocation-property</id> |
| <goals> |
| <goal>rootlocation</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>create-automatic-module-name</id> |
| <goals> |
| <goal>regex-property</goal> |
| </goals> |
| <configuration> |
| <name>accumulo.build.module.name</name> |
| <regex>-</regex> |
| <replacement>.</replacement> |
| <value>org-apache-${project.artifactId}</value> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-accumulo-rules</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <rules> |
| <reactorModuleConvergence /> |
| <banDuplicatePomDependencyVersions /> |
| <dependencyConvergence /> |
| <banDynamicVersions> |
| <ignores> |
| <!-- allow Accumulo snapshots --> |
| <ignore>org.apache.accumulo:*:*-SNAPSHOT</ignore> |
| </ignores> |
| </banDynamicVersions> |
| <bannedDependencies> |
| <excludes> |
| <!-- we redirect logging to log4j2, so we should have those bridges instead --> |
| <!-- commons-logging is allowed because it natively sends to log4j2 or slf4j --> |
| <exclude>ch.qos.logback:*</exclude> |
| <exclude>ch.qos.reload4j:*</exclude> |
| <exclude>log4j:*</exclude> |
| <!-- exclude log4j-slf4j-impl to prefer log4j-slf4j2-impl --> |
| <exclude>org.apache.logging.log4j:log4j-slf4j-impl</exclude> |
| <exclude>org.apache.logging.log4j:log4j-to-slf4j</exclude> |
| <exclude>org.slf4j:*</exclude> |
| </excludes> |
| <includes> |
| <!-- only allow API jar for slf4j, but no other slf4j implementations --> |
| <include>org.slf4j:slf4j-api</include> |
| </includes> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.gaul</groupId> |
| <artifactId>modernizer-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>modernizer</id> |
| <goals> |
| <goal>modernizer</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>13.2.0</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <checkstyleRules> |
| <module name="Checker"> |
| <property name="charset" value="UTF-8" /> |
| <property name="severity" value="warning" /> |
| <!-- Checks for whitespace --> |
| <!-- See https://checkstyle.sourceforge.io/config_whitespace.html --> |
| <module name="FileTabCharacter" /> |
| <module name="TreeWalker"> |
| <module name="OneTopLevelClass" /> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="\s+$" /> |
| <property name="message" value="Line has trailing whitespace." /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="[@]Deprecated([^)]*forRemoval[^)]*)" /> |
| <property name="message" value="forRemoval should not be used." /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="[@]see\s+[{][@]link" /> |
| <property name="message" value="Javadoc @see does not need @link: pick one or the other." /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="jline[.]internal[.]Preconditions" /> |
| <property name="message" value="Please use Guava Preconditions not JLine" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="org[.]apache[.]commons[.]math[.]" /> |
| <property name="message" value="Use commons-math3 (org.apache.commons.math3.*)" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="org[.]junit[.]jupiter[.]api[.]Assertions;" /> |
| <property name="message" value="Use static imports for Assertions.* methods for consistency" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="org[.]junit[.]jupiter[.]api[.]Assumptions;" /> |
| <property name="message" value="Use static imports for Assumptions.* methods for consistency" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="import java[.]nio[.]charset[.]StandardCharsets;" /> |
| <property name="message" value="Use static imports for StandardCharsets.* constants for consistency" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <!-- double escape quotes because checkstyle passes these through another xml parser --> |
| <property name="format" value="&quot; [+] &quot;" /> |
| <property name="message" value="Unnecessary concatenation of string literals" /> |
| </module> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="com[.]google[.]common[.]cache[.]" /> |
| <property name="message" value="Please use Caffeine Cache, not Guava" /> |
| </module> |
| <module name="OuterTypeFilename" /> |
| <module name="AvoidStarImport" /> |
| <module name="NoLineWrap" /> |
| <module name="LeftCurly" /> |
| <module name="RightCurly"> |
| <property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT" /> |
| </module> |
| <module name="SeparatorWrap"> |
| <property name="tokens" value="DOT" /> |
| <property name="option" value="nl" /> |
| </module> |
| <module name="SeparatorWrap"> |
| <property name="tokens" value="COMMA" /> |
| <property name="option" value="EOL" /> |
| </module> |
| <module name="PackageName"> |
| <property name="format" value="^[a-z]+([.][a-z][a-zA-Z0-9]*)*$" /> |
| </module> |
| <module name="MethodTypeParameterName"> |
| <property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)" /> |
| </module> |
| <module name="NonEmptyAtclauseDescription" /> |
| <module name="JavadocMethod"> |
| <property name="allowMissingParamTags" value="true" /> |
| <property name="allowMissingReturnTag" value="true" /> |
| <property name="allowedAnnotations" value="Override,Test,BeforeClass,AfterClass,Before,After,BeforeAll,AfterAll,BeforeEach,AfterEach" /> |
| </module> |
| <module name="MissingOverrideCheck" /> |
| <!--Require braces for all control statements --> |
| <module name="NeedBraces" /> |
| </module> |
| </module> |
| </checkstyleRules> |
| <violationSeverity>warning</violationSeverity> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| </execution> |
| <execution> |
| <id>check-public-api</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <checkstyleRules> |
| <module name="Checker"> |
| <property name="charset" value="UTF-8" /> |
| <property name="severity" value="warning" /> |
| <module name="TreeWalker"> |
| <module name="RegexpSinglelineJava"> |
| <property name="format" value="import\s+org[.]apache[.]accumulo[.](?!(core[.](client|data|iterators|security|spi)|minicluster|hadoop|classloader|start[.]spi[.]KeywordExecutable)[.;]).*" /> |
| <property name="message" value="Found reference to non-public Accumulo API" /> |
| </module> |
| </module> |
| </module> |
| </checkstyleRules> |
| <violationSeverity>warning</violationSeverity> |
| <includeTestSourceDirectory>false</includeTestSourceDirectory> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.koraktor</groupId> |
| <artifactId>mavanagaiata</artifactId> |
| <executions> |
| <execution> |
| <id>git-commit</id> |
| <goals> |
| <goal>commit</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| </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> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>run-spotbugs</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>check-licenses</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>prepare-package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <!-- This profile skips all Quality Assurance checks; activate with -PskipQA OR -DskipQA --> |
| <id>skipQA</id> |
| <activation> |
| <property> |
| <name>skipQA</name> |
| </property> |
| </activation> |
| <properties> |
| <apilyzer.skip>true</apilyzer.skip> |
| <checkstyle.skip>true</checkstyle.skip> |
| <formatter.skip>true</formatter.skip> |
| <impsort.skip>true</impsort.skip> |
| <mdep.analyze.skip>true</mdep.analyze.skip> |
| <modernizer.skip>true</modernizer.skip> |
| <rat.skip>true</rat.skip> |
| <skipITs>true</skipITs> |
| <skipTests>true</skipTests> |
| <sort.skip>true</sort.skip> |
| <spotbugs.skip>true</spotbugs.skip> |
| <warbucks.skip>true</warbucks.skip> |
| </properties> |
| </profile> |
| <profile> |
| <id>accumulo-release</id> |
| <properties> |
| <skipTests>true</skipTests> |
| </properties> |
| </profile> |
| <profile> |
| <!-- off by default, but enable with '-P verifyformat' or '-DverifyFormat' --> |
| <id>verifyformat</id> |
| <activation> |
| <property> |
| <name>verifyFormat</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.ekryd.sortpom</groupId> |
| <artifactId>sortpom-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>verify-sorted-pom</id> |
| <goals> |
| <goal>verify</goal> |
| </goals> |
| <phase>process-resources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>verify-license-headers</id> |
| <goals> |
| <goal>check</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>verify-formatted-java-source</id> |
| <goals> |
| <goal>validate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>impsort-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>verify-sorted-imports</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <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>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-dependency-plugin</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>analyze-only</goal> |
| <goal>copy</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.gaul</groupId> |
| <artifactId>modernizer-maven-plugin</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>modernizer</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>com.github.koraktor</groupId> |
| <artifactId>mavanagaiata</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>commit</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <versionRange>[0,)</versionRange> |
| <goals> |
| <goal>check</goal> |
| <goal>format</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore /> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <!-- This profile uses the Google ErrorProne tool to perform static code analysis at |
| compile time. Auto-generated code is not checked. |
| See: https://errorprone.info/bugpatterns for list of available bug patterns.--> |
| <id>errorprone</id> |
| <activation> |
| <property> |
| <name>errorprone</name> |
| </property> |
| </activation> |
| <properties> |
| <!-- forking is required for -J options to take effect --> |
| <maven.compiler.fork>true</maven.compiler.fork> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <compilerArgs> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-XDaddTypeAnnotationsToSymbol=true</arg> |
| <arg>--should-stop=ifError=FLOW</arg> |
| <arg> |
| -Xplugin:ErrorProne \ |
| <!-- this complains about using LinkedHashSet instead of Set |
| but we need to use that to preserve set order --> |
| -Xep:NonApiType:OFF \ |
| </arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${version.errorprone}</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |