hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dima Spivak (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12808) Use Java API Compliance Checker for binary/source compatibility
Date Mon, 12 Jan 2015 20:03:35 GMT

    [ https://issues.apache.org/jira/browse/HBASE-12808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14274075#comment-14274075
] 

Dima Spivak commented on HBASE-12808:
-------------------------------------

[~enis], what if we just had a weekly (or nightly) Jenkins job for each branch that ran this
script between the first release of that branch and the tip? That way, we get away from needing
a unit test that needs to be maintained (and which would only add to how long the CI tests
already go), but still have better granularity when something breaks compatibility than just
checking at release time.

Unfortunately, at the moment, the tool only supports class annotations (if InterfaceAudience.Public
is in the whitelist of annotations to analyze, it will skip any classes that aren't annotated
with that); no exclude list to speak of yet. As for individual methods, my understanding is
that particular methods could be more restrictive than their classes, right? In that case,
we might get false positives (i.e. for methods that are actually InterfaceAudience.Private
within an InterfaceAudience.Public class), but we could filter those out with our own ignore
list in automation. Does that address your concern?



> Use Java API Compliance Checker for binary/source compatibility
> ---------------------------------------------------------------
>
>                 Key: HBASE-12808
>                 URL: https://issues.apache.org/jira/browse/HBASE-12808
>             Project: HBase
>          Issue Type: Improvement
>          Components: test
>            Reporter: Dima Spivak
>            Assignee: Dima Spivak
>         Attachments: HBASE-12808_v1.patch, HBASE-12808_v2.patch, HBASE-12808_v3.patch
>
>
> Following [~busbey]'s suggestion in HBASE-12556, I've spent some time playing with the
[Java API Compliance Checker|http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker]
and think it would be a great addition to /dev-support. I propose that we use it to replace
the JDiff wrappers we currently have there (since it does what JDiff does and more), and look
into putting up automation at builds.apache.org to run the tool regularly (e.g. latest release
of a particular branch vs. latest commit of that same branch).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message