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

Marcel Reutegger commented on OAK-6346:
---------------------------------------

bq. That will depends on for how long we want to keep compatibility. Only 
previous version or longer?

What I mean is, updating the comparison version is crucial when a new branch is 
created because otherwise the baseline plugin will not flag a required version 
update of an exported package anymore. Consider a package P exported with 1.0.0 
in Oak 1.6. For Oak 1.7.1 we add a new method to a provider type interface and 
bump the version to 1.1.0 as indicated by the baseline tool. For 1.7.2 we add 
another method to the same interface. Now the baseline tool will not complain, 
because it uses 1.6 as the basis for the comparison. Compared to 1.6 two 
methods were added, which requires a bump of 1.0.0 to 1.1.0. But this is 
already the case and everything is fine.

The problem starts when we branch for 1.8, release it and don't update the base 
version for comparison in trunk. In this case the baseline tool won't require a 
version bump of P when yet another method is added to the mentioned interface 
in Oak 1.9.1. Code compiled against 1.9.1 and later 1.10 will claim it runs 
fine even with 1.8, which is not true.

> Set baseline plugin comparison version to 1.6.0
> -----------------------------------------------
>
>                 Key: OAK-6346
>                 URL: https://issues.apache.org/jira/browse/OAK-6346
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: parent
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.8
>
>         Attachments: OAK-6346-v1.patch
>
>
> The purpose of baseline plugin is to ensure that any change in api get 
> reflected in exported version of the package. Currently the baseline plugin 
> compares against the immediate previous version. 
> This causes issue with unstable branches where new features are being 
> implemented and which evolve over few minor release on the trunk. In such 
> cases its possible that a new method expose in 1.7.1 gets removed later in 
> 1.7.2 (as happened in OAK-6337).
> It would be better to configure baseline plugin to check against releases 
> from stable branch so that we can ensure that package versions are properly 
> aligned against stable versions



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

Reply via email to