[
https://issues.apache.org/jira/browse/HBASE-12556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14266893#comment-14266893
]
Dima Spivak commented on HBASE-12556:
-------------------------------------
Hey [~enis], I think passing the golden file generated the patch in this JIRA
(after stripping out the method names and types) would be ideal for using the
Java API Compliance Checker. Since I think the use of such a checker, and not
just analyzing the list in a unit test (for the reasons detailed by [~busbey]
above) is the way to go, would you be open to committing the golden file
generation and then leaving the analysis to done by HBASE-12808? I've
separately reached out to the developer of Java ACC about adding annotation
support, but we could get this online in no time if we had a way to generate a
file with the list of classes to analyze (since that's already a feature of the
tool).
> Create a golden file for testing client API source/binary compatibility
> -----------------------------------------------------------------------
>
> Key: HBASE-12556
> URL: https://issues.apache.org/jira/browse/HBASE-12556
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 2.0.0, 1.1.0
>
> Attachments: hbase-12556-wip.patch
>
>
> [~lhofhansl] had a suggestion (in some other jira I forgot) for doing a
> golden file for the HBase API so that we can compare between releases to
> ensure that we are keeping source and binary compatibility as defined in this
> document :
> https://docs.google.com/document/d/1p5pP7v2OuzSSaomK2S2v7sfKky1Hex6OqwsJO0sZTUY/edit
>
> I think we can generate a file, commit it to the repo, and create a unit test
> to check whether any API's are broken. Adding new InterfaceAudience.Public
> interfaces has to modify this file so that it becomes an explicit decision.
> The downside is that we have to modify the file every time we add a new API,
> but it should be fine since it will force us to think more before committing
> to supporting new interfaces within the same major versions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)