[
https://issues.apache.org/jira/browse/HBASE-16241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15383231#comment-15383231
]
Dima Spivak commented on HBASE-16241:
-------------------------------------
[~stack], skipping most of the output for brevity, running with just the
{{IA.Public}} classes being checked:
{noformat}
dspivak-MBP:hbase dspivak$ ./dev-support/check_compatibility.sh
--annotation-list=org.apache.hadoop.hbase.classification.InterfaceAudience.Public
branch-1.2 master
...
Running the Java API Compliance Checker...
using Java 1.7.0_71
reading classes branch-1.2/4098045 ...
WARNING: skip "impl" packages (use --keep-internal option to check them)
reading classes master/c9925bc ...
WARNING: skip "impl" packages
comparing classes ...
creating compatibility report ...
binary compatibility: 74.6%
source compatibility: 70.9%
total binary compatibility problems: 320, warnings: 37
total source compatibility problems: 342, warnings: 5
report:
./dev-support/target/compatibility/report/branch-1.2_master_compat_report.html
{noformat}
Rerunning, this time with {{IA.LimitedPrivate}} being checked:
{noformat}
dspivak-MBP:hbase dspivak$ ./dev-support/check_compatibility.sh
--annotation-list=org.apache.hadoop.hbase.classification.InterfaceAudience.LimitedPrivate
-n branch-1.2 master
...
Running the Java API Compliance Checker...
using Java 1.7.0_71
reading classes branch-1.2 ...
WARNING: skip "impl" packages (use --keep-internal option to check them)
reading classes master ...
WARNING: skip "impl" packages
comparing classes ...
creating compatibility report ...
binary compatibility: 57.5%
source compatibility: 52.9%
total binary compatibility problems: 181, warnings: 23
total source compatibility problems: 241, warnings: 2
report:
./dev-support/target/compatibility/report/branch-1.2_master_compat_report.html
{noformat}
Rerunning one last time, where I leave off the restriction of annotations (i.e.
defaults to IA.Public and IA.LimitedPrivate):
{noformat}
dspivak-MBP:hbase dspivak$ ./dev-support/check_compatibility.sh -n branch-1.2
master
...
Running the Java API Compliance Checker...
using Java 1.7.0_71
reading classes branch-1.2 ...
WARNING: skip "impl" packages (use --keep-internal option to check them)
reading classes master ...
WARNING: skip "impl" packages
comparing classes ...
creating compatibility report ...
binary compatibility: 68%
source compatibility: 64%
total binary compatibility problems: 492, warnings: 58
total source compatibility problems: 571, warnings: 7
report:
./dev-support/target/compatibility/report/branch-1.2_master_compat_report.html
{noformat}
Note that # of {{IA.Public}} problems + # of {{IA.LimitedPrivate}} problems
actually adds up to slightly more the number of problems seen if running the
report tool with {{"IA.Public,IA.LimitedPrivate"}}, which I'm assuming has to
do with the way we nest annotations.
As for the {{tr}}, it should be pretty portable. I've got it working on my Mac
with OS X El Capitan and have also confirmed it on a CentOS 6.4 and Ubuntu
14.04 box.
> Allow specification of annotations to use when running check_compatibility.sh
> -----------------------------------------------------------------------------
>
> Key: HBASE-16241
> URL: https://issues.apache.org/jira/browse/HBASE-16241
> Project: HBase
> Issue Type: Improvement
> Components: scripts
> Reporter: Dima Spivak
> Assignee: Dima Spivak
> Attachments: HBASE-16241.patch
>
>
> We already have a {{\-\-all}} option that doesn't include annotations at all,
> so we might as well have the ability to provide a list of annotations to
> override the defaults of {{InterfaceAudience.Public}} and
> {{InterfaceAudience.LimitedPrivate}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)