This is an automated email from the ASF dual-hosted git repository. jmark99 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push: new 4dc8d3e Add errorpone profile to main Accumulo pom. (#2447) 4dc8d3e is described below commit 4dc8d3effc9eeccd514317b3028bc10e1cf71c22 Author: Mark Owens <jmar...@apache.org> AuthorDate: Mon Feb 14 10:55:32 2022 -0500 Add errorpone profile to main Accumulo pom. (#2447) Added a new profile, errorprone, to the pom.xml file. Use of the profile allows the Google ErrorProne static analysis tool to examine the Accumulo codebase and flag errors/warnings. See https://errorprone.info for additional info and https://errorprone.info/bugpatterns for a list of bug patterns available. Users withing to use the tool can examine the bug pattern list and add items of interest specifically to the profile. Any patterns or warnings that should always be flagged can then be permanently added to the profile as needed. Co-authored-by: Christopher Tubbs <ctubb...@apache.org> Co-authored-by: Dom G. <domgargu...@apache.org> --- pom.xml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/pom.xml b/pom.xml index c1e8f00..e1e3ae2 100644 --- a/pom.xml +++ b/pom.xml @@ -122,6 +122,7 @@ <curator.version>5.1.0</curator.version> <!-- relative path for Eclipse format; should override in child modules if necessary --> <eclipseFormatterStyle>${project.parent.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml</eclipseFormatterStyle> + <errorprone.version>2.11.0</errorprone.version> <!-- avoid error shutting down built-in ForkJoinPool.commonPool() during exec:java tasks --> <exec.cleanupDaemonThreads>false</exec.cleanupDaemonThreads> <failsafe.excludedGroups /> @@ -1623,5 +1624,64 @@ <surefire.reuseForks>${reuseForks}</surefire.reuseForks> </properties> </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> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <compilerArgs> + <arg>-XDcompilePolicy=simple</arg> + <arg> + -Xplugin:ErrorProne \ + -XepExcludedPaths:.*/(proto|thrift|generated-sources)/.* \ + -XepDisableWarningsInGeneratedCode \ + -XepDisableAllWarnings \ + <!-- error/warning patterns to ignore --> + -Xep:Incomparable:OFF \ + -Xep:CheckReturnValue:OFF \ + -Xep:MustBeClosedChecker:OFF \ + -Xep:ReturnValueIgnored:OFF \ + -Xep:UnicodeInCode:OFF \ + <!-- error/warning patterns to specifically check --> + -Xep:ExpectedExceptionChecker \ + -Xep:MissingOverride \ + <!-- Items containing 'OFF' are currently 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>${errorprone.version}</version> + </path> + <path> + <groupId>com.google.auto.service</groupId> + <artifactId>auto-service</artifactId> + <version>1.0</version> + </path> + </annotationProcessorPaths> + </configuration> + </plugin> + </plugins> + </build> + </profile> </profiles> </project>