[
https://issues.apache.org/jira/browse/HBASE-11912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14126275#comment-14126275
]
Andrew Purtell commented on HBASE-11912:
----------------------------------------
This would have been a nice idea but as usual I find Maven completely fucking
broken.
We have to exclude **/generated/*.java files because protobuf classes trigger
StaticAccessedFromInstance, which is an error.
Attached patch attempts to do this by creating to compiler invocations
following the recipe here:
https://maven.apache.org/guides/mini/guide-default-execution-ids.html#Example:_Configuring_compile_to_run_twice
This works nicely for the hbase-protocol module.
This inexplicably does not work for the hbase-server module. The excludes
directive on default-compile is simply ignored no matter what I do, even
pasting the build profile changes into the hbase-server pom.
So fuck it
> Catch some bad practices at compile time with error-prone
> ---------------------------------------------------------
>
> Key: HBASE-11912
> URL: https://issues.apache.org/jira/browse/HBASE-11912
> Project: HBase
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Attachments: HBASE-11912.patch
>
>
> Google's error-prone (https://code.google.com/p/error-prone/) wraps javac
> with some additional static analysis that will generate additional warnings
> or errors at compile time if certain bug patterns
> (https://code.google.com/p/error-prone/wiki/BugPatterns) are detected. What's
> nice about this approach, as opposed to findbugs, is the compile time
> detection and erroring out prevent the detected problems from getting into
> the codebase up front.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)