Hello,

Thanks for reporting this bug. It's fixed for now.

The yellow background is used if there is at least one compatibility warning 
found or compatibility rate is between 90 and 100 percents. Orange color is 
used when compatibility rate is between 80 and 90 percents. Red color is used 
when the rate is less than 80 percents and for removed symbols. Blue color is 
used for added symbols.

The rules that are used to determine compatibility problems are taken from 
http://wiki.eclipse.org/Evolving_Java-based_APIs_2

The Clirr tool can't identify at least two compatibility problems:

* if a method became abstract in the class (may lead to InstantiationError 
exception)
* if a method became static/non-static (may lead to NoSuchMethodError exception)

... and two compatibility warnings:

* change of a final field value (e.g. string value from "A" to "B")
* added/removed exceptions of a method

Other differences from Clirr:

* report format
* 4 severity levels (High/Medium/Low/Safe vs ERROR/WARNING/INFO)
* counts affected symbols and compatibility rate
* separates binary- and source-compatibility problems in the report
* shows exact compiler error message, so one can google the report and 
understand that the issue was happened due to incompatibility of versions
* lists added/removed symbols separately from other problems
* has an option to filter annotated/deprecated classes and methods
* detects renamed fields
* and more ...

Thank you.

05.06.2016, 11:31, "sebb":
> On 4 June 2016 at 15:19, Ponomarenko Andrey wrote:
>>  Hello,
>>
>>  I've just prepared the report on backward compatibility for the Commons IO 
>> library (BC — binary compatibility, SC — source compatibility): 
>> http://abi-laboratory.pro/java/tracker/timeline/commons-io/
>
> Thanks for the links.
>
> However I found it difficult to understand the output.
> For example, why are some backgrounds green and some yellow?
>
> Also, what are the rules that are used to determine whether or not a
> change affects compatibility?
> How do these compare with Clirr?
>
> I think there's a bug:
>
> The low level warning here
>
> http://abi-laboratory.pro/java/tracker/compat_report/commons-io/1.4/2.0/8be39/bin_compat_report.html#Type_Problems_Low
>
> says that it was caused by the change:
>
> "Added super-class java.lang.Object."
>
> That's not possible as a change.
>
>>  The report is generated daily by the japi-compliance-checker and 
>> japi-tracker tools:
>>
>>  https://github.com/lvc/japi-compliance-checker (generates individual 
>> reports for particular versions of the library)
>>  https://github.com/lvc/japi-tracker (generates the timeline report)
>>
>>  I can add more libraries to the tracker if somebody is interested (just 
>> reply this Email with the list of library names to add). Current list of 
>> maintained libraries: http://abi-laboratory.pro/java/tracker/
>>
>>  Thank you.
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to