[ 
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)

Reply via email to