jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-6346) Set baseline plugin comparison version to 1.6.0
Date Tue, 04 Jul 2017 06:24:00 GMT

    [ 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
> 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

View raw message