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

Andrey Ponomarenko commented on FLUME-3184:
-------------------------------------------

Hi,

> Where exactly can we find the breaking changes when the report says 99.9% 
> backwards compatibility?

When clicking on the links you'll see reports on BC (binary compatibility) and 
SC (source compatibility):

https://abi-laboratory.pro/java/tracker/compat_report/flume-ng-core/1.7.0/1.8.0/64931/bin_compat_report.html
https://abi-laboratory.pro/java/tracker/compat_report/flume-ng-core/1.7.0/1.8.0/64931/src_compat_report.html

Compatibility problems are described in the "Problems with Data Types" and 
"Problems with Methods" sections of the reports. Please see 
https://wiki.eclipse.org/Evolving_Java-based_APIs_2 to properly interpret the 
reports.

> Is there an easy way to integrate the tool to the release process? (Ie. "do 
> we have to bump a major version or is the next release still a minor?")

There is no need to plot a whole table in this case. You just need to compare 
two jars:

1. Create API dumps for your jars:

    japi-compliance-checker -l flume-ng-core -dump flume-ng-core-1.7.0.jar 
-dump-path ./API-1.7.dump
    japi-compliance-checker -l flume-ng-core -dump flume-ng-core-1.8.0.jar 
-dump-path ./API-1.8.dump

2. Compare API dumps:

    japi-compliance-checker -l flume-ng-core -old API-1.7.dump -new 
API-1.8.dump -report-path ./compat_report_1.7_vs_1.8.html
    echo $? # 0 — compatible changes, non-zero — non-compatible

You can save API dump for old jar in the source tree and compare it with new 
ones generated for the latest versions of your jar. Update saved API dump if 
intended API changes occur.

Thank you.

> API changes report for Flume NG Core
> ------------------------------------
>
>                 Key: FLUME-3184
>                 URL: https://issues.apache.org/jira/browse/FLUME-3184
>             Project: Flume
>          Issue Type: Test
>            Reporter: Andrey Ponomarenko
>         Attachments: flume-ng-core-1.png, flume-ng-core-2.png
>
>
> Hi,
> I'd like to share my results on API changes analysis of the library: 
> https://abi-laboratory.pro/java/tracker/timeline/flume-ng-core/
> The report is generated by the https://github.com/lvc/japi-compliance-checker 
> tool for jars found at 
> http://central.maven.org/maven2/org/apache/flume/flume-ng-core/ according to 
> https://wiki.eclipse.org/Evolving_Java-based_APIs_2.
> Thank you.
> !flume-ng-core-2.png|API symbols timeline!
> !flume-ng-core-1.png|API changes review!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to