| <?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>31</version> |
| </parent> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-access</artifactId> |
| <version>1.0.0-SNAPSHOT</version> |
| <name>Apache Accumulo Access Project</name> |
| <description>Apache Accumulo Access is a library that provides the same functionality, semantics, and syntax |
| as the Apache Accumulo ColumnVisibility and VisibilityEvaluator classes. This functionality is provided in a |
| standalong Java library that has no runtime dependencies.</description> |
| <url>https://accumulo.apache.org</url> |
| <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> |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/accumulo-access.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/accumulo-access.git</developerConnection> |
| <tag>HEAD</tag> |
| <url>https://gitbox.apache.org/repos/asf?p=accumulo-access.git</url> |
| </scm> |
| <issueManagement> |
| <system>GitHub Issues</system> |
| <url>https://github.com/apache/accumulo-access/issues</url> |
| </issueManagement> |
| <ciManagement> |
| <system>GitHub Actions</system> |
| <url>https://github.com/apache/accumulo-access/actions</url> |
| </ciManagement> |
| <properties> |
| <extraTestArgs>--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.management/java.lang.management=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED</extraTestArgs> |
| <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> |
| <!-- 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>17</minimalJavaBuildVersion> |
| <!-- timestamp for reproducible outputs, updated on release by the release plugin --> |
| <project.build.outputTimestamp>2024-02-14T14:21:53Z</project.build.outputTimestamp> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <rat.consoleOutput>true</rat.consoleOutput> |
| <sourceReleaseAssemblyDescriptor>source-release-tar</sourceReleaseAssemblyDescriptor> |
| <version.errorprone>2.24.1</version.errorprone> |
| <version.gson>2.10.1</version.gson> |
| <version.jmh>1.37</version.jmh> |
| <version.junit>5.10.2</version.junit> |
| </properties> |
| <dependencies> |
| <dependency> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-annotations</artifactId> |
| <version>4.8.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>${version.gson}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.accumulo</groupId> |
| <artifactId>accumulo-core</artifactId> |
| <version>3.0.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${version.junit}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-core</artifactId> |
| <version>${version.jmh}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.openjdk.jmh</groupId> |
| <artifactId>jmh-generator-annprocess</artifactId> |
| <version>${version.jmh}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <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>src/it/antlr4-example/src/main/antlr4/Abnf.g4</exclude> |
| <exclude>**/DEPENDENCIES</exclude> |
| <exclude>**/LICENSE</exclude> |
| <exclude>**/NOTICE</exclude> |
| <exclude>**/target/**</exclude> |
| </excludes> |
| </licenseSet> |
| </licenseSets> |
| <mapping> |
| <!-- general mappings; module-specific mappings appear in their respective pom --> |
| <abnf>SEMICOLON_STYLE</abnf> |
| <g4>SLASHSTAR_STYLE</g4> |
| <java>SLASHSTAR_STYLE</java> |
| </mapping> |
| </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> |
| <executions> |
| <execution> |
| <id>sort-pom</id> |
| <goals> |
| <goal>sort</goal> |
| </goals> |
| <phase>process-sources</phase> |
| </execution> |
| </executions> |
| </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> |
| <executions> |
| <execution> |
| <id>sort-imports</id> |
| <goals> |
| <goal>sort</goal> |
| </goals> |
| </execution> |
| </executions> |
| </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> |
| <executions> |
| <execution> |
| <id>format-java-source</id> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code</groupId> |
| <artifactId>apilyzer-maven-plugin</artifactId> |
| <version>1.3.0</version> |
| <executions> |
| <execution> |
| <id>apilyzer</id> |
| <goals> |
| <goal>analyze</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>org[.]apache[.]accumulo[.]access[.]InvalidAccessExpressionException</include> |
| <include>org[.]apache[.]accumulo[.]access[.]AccessExpression</include> |
| <include>org[.]apache[.]accumulo[.]access[.]AccessEvaluator</include> |
| <include>org[.]apache[.]accumulo[.]access[.]Authorizations</include> |
| <include>org[.]apache[.]accumulo[.]access[.]ParsedAccessExpression</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.gaul</groupId> |
| <artifactId>modernizer-maven-plugin</artifactId> |
| <version>2.7.0</version> |
| <configuration> |
| <javaVersion>${maven.compiler.target}</javaVersion> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.github.koraktor</groupId> |
| <artifactId>mavanagaiata</artifactId> |
| <version>1.0.1</version> |
| <executions> |
| <execution> |
| <id>git-commit</id> |
| <goals> |
| <goal>commit</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <skipNoGit>true</skipNoGit> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.spotbugs</groupId> |
| <artifactId>spotbugs-maven-plugin</artifactId> |
| <version>4.8.3.1</version> |
| <configuration> |
| <excludeFilterFile>src/build/ci/spotbugs-exclude.xml</excludeFilterFile> |
| <xmlOutput>true</xmlOutput> |
| <effort>Max</effort> |
| <failOnError>true</failOnError> |
| <includeTests>true</includeTests> |
| <maxRank>20</maxRank> |
| <plugins> |
| <plugin> |
| <groupId>com.h3xstream.findsecbugs</groupId> |
| <artifactId>findsecbugs-plugin</artifactId> |
| <version>1.12.0</version> |
| </plugin> |
| </plugins> |
| </configuration> |
| <executions> |
| <execution> |
| <id>run-spotbugs</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <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> |
| <!-- ignore runtime test dependency for benchmark --> |
| <unused>org.openjdk.jmh:jmh-generator-annprocess:jar:*</unused> |
| </ignoredUnusedDeclaredDependencies> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <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="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> |
| <excludes>**/jmh_generated/</excludes> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>10.13.0</version> |
| </dependency> |
| </dependencies> |
| <executions> |
| <execution> |
| <id>check-style</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </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> |
| <!-- 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-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Automatic-Module-Name>${accumulo.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-invoker-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>invoked-integration-tests</id> |
| <goals> |
| <goal>install</goal> |
| <goal>run</goal> |
| </goals> |
| <configuration> |
| <cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo> |
| <localRepositoryPath>${project.build.directory}/it-repo</localRepositoryPath> |
| <settingsFile>src/it/settings.xml</settingsFile> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <arguments>-P !autoformat,verifyformat -DskipTests</arguments> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <goals>clean deploy</goals> |
| <preparationGoals>clean package</preparationGoals> |
| <tagNameFormat>rel/@{project.version}</tagNameFormat> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <useReleaseProfile>false</useReleaseProfile> |
| <pushChanges>false</pushChanges> |
| <localCheckout>true</localCheckout> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>src/it/antlr4-example/src/main/antlr4/Abnf.g4</exclude> |
| <exclude>src/test/resources/testdata.json</exclude> |
| <exclude>.github/**</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <id>check-licenses</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <phase>prepare-package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.5.0</version> |
| <executions> |
| <execution> |
| <id>create-automatic-module-name</id> |
| <goals> |
| <goal>regex-property</goal> |
| </goals> |
| <configuration> |
| <name>accumulo.module.name</name> |
| <regex>-</regex> |
| <replacement>.</replacement> |
| <value>org-apache-${project.artifactId}</value> |
| </configuration> |
| </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> |
| </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> |
| <!-- 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> |
| <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> |
| -Xplugin:ErrorProne \ |
| -XepExcludedPaths:.*/(src/test)/.* \ |
| -XepDisableWarningsInGeneratedCode \ |
| -XepDisableAllWarnings \ |
| <!-- ERROR patterns to specifically ignore --> |
| -Xep:MustBeClosedChecker:OFF \ |
| -Xep:UnicodeInCode:OFF \ |
| <!-- WARNING patterns to specifically check --> |
| -Xep:ExpectedExceptionChecker \ |
| <!-- treat following warning as an error --> |
| -Xep:FutureReturnValueIgnored:ERROR \ |
| -Xep:MissingOverride \ |
| <!--WARN if braces are missing for control statements --> |
| -Xep:MissingBraces:WARN \ |
| <!-- Items containing 'OFF' are currently Errors flagged by ErrorProne. The 'OFF' |
| can be removed and the project recompiled to discover location of errors for |
| further analysis. @SuppressWarnings can be used to ignore errors if desired. --> |
| </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> |
| <profile> |
| <id>benchmark</id> |
| <activation> |
| <property> |
| <name>benchmark</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>3.3.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <phase>verify</phase> |
| <configuration> |
| <classpathScope>test</classpathScope> |
| <executable>java</executable> |
| <arguments> |
| <argument>-classpath</argument> |
| <classpath /> |
| <argument>org.apache.accumulo.access.AccessExpressionBenchmark</argument> |
| </arguments> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |