Search code examples
eclipsemavenmaven-2osgiosgi-bundle

org.eclipse.core dependency to org.eclipse.runtime suddenly changed


We compile an Adobe CQ project (services, taglib, view, content, etc.) with maven. At some point in time, we introduced the following dependencies:

        <dependency>
            <groupId>org.eclipse.core</groupId>
            <artifactId>resources</artifactId>
            <version>3.3.0-v20070604</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.equinox</groupId>
            <artifactId>registry</artifactId>
            <version>3.3.0-v20070522</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.core</groupId>
            <artifactId>jobs</artifactId>
            <version>3.3.0-v20070423</version>
        </dependency>

This resulted in the following dependencies e.g. for org.eclipse.resources (extracted with mvn dependency:tree -Dverbose ):

[INFO] +- org.eclipse.core:resources:jar:3.3.0-v20070604:compile
[INFO] |  +- org.eclipse.core:expressions:jar:3.3.0-v20070606-0010:compile
[INFO] |  |  \- (org.eclipse.core:runtime:jar:3.3.100-v20070530:compile - omitted for duplicate)
[INFO] |  +- org.eclipse.core:filesystem:jar:1.1.0-v20070606:compile
[INFO] |  |  +- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |  |  +- (org.eclipse.equinox:registry:jar:3.3.0-v20070522:compile - omitted for duplicate)
[INFO] |  |  \- (org.eclipse:osgi:jar:3.3.0-v20070530:compile - omitted for duplicate)
[INFO] |  \- org.eclipse.core:runtime:jar:3.3.100-v20070530:compile
[INFO] |     +- (org.eclipse:osgi:jar:3.8.2.v20130124-134944:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.core:jobs:jar:3.3.0-v20070423:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |     +- org.eclipse.equinox:preferences:jar:3.2.100-v20070522:compile
[INFO] |     |  \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     +- org.eclipse.core:contenttype:jar:3.2.100-v20070319:compile
[INFO] |     |  +- (org.eclipse.equinox:preferences:jar:3.2.100-v20070522:compile - omitted for duplicate)
[INFO] |     |  +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |     |  \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     \- org.eclipse.equinox:app:jar:1.0.0-v20070606:compile
[INFO] |        +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |        \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)

Then, from Monday 19th of August 2013 to the 20th of August, the org.eclipse:osgi dependency suddenly changed from 3.3.0-something to 3.8.2-something without any apparent reason (This broke our build quite nastily):

[INFO] +- org.eclipse.core:resources:jar:3.3.0-v20070604:compile
[INFO] |  +- org.eclipse.core:expressions:jar:3.3.0-v20070606-0010:compile
[INFO] |  |  \- (org.eclipse.core:runtime:jar:3.3.100-v20070530:compile - omitted for duplicate)
[INFO] |  +- org.eclipse.core:filesystem:jar:1.1.0-v20070606:compile
[INFO] |  |  +- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |  |  +- (org.eclipse.equinox:registry:jar:3.3.0-v20070522:compile - omitted for duplicate)
[INFO] |  |  \- org.eclipse:osgi:jar:3.8.2.v20130124-134944:compile
[INFO] |  \- org.eclipse.core:runtime:jar:3.3.100-v20070530:compile
[INFO] |     +- (org.eclipse:osgi:jar:3.8.2.v20130124-134944:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.core:jobs:jar:3.3.0-v20070423:compile - omitted for duplicate)
[INFO] |     +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |     +- org.eclipse.equinox:preferences:jar:3.2.100-v20070522:compile
[INFO] |     |  \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     +- org.eclipse.core:contenttype:jar:3.2.100-v20070319:compile
[INFO] |     |  +- (org.eclipse.equinox:preferences:jar:3.2.100-v20070522:compile - omitted for duplicate)
[INFO] |     |  +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |     |  \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)
[INFO] |     \- org.eclipse.equinox:app:jar:1.0.0-v20070606:compile
[INFO] |        +- (org.eclipse.equinox:registry:jar:3.3.1:compile - omitted for duplicate)
[INFO] |        \- (org.eclipse.equinox:common:jar:3.3.0-v20070426:compile - omitted for duplicate)

We were able to resolve this by adding the dependency explicitely:

    <dependency>
        <groupId>org.eclipse</groupId>
        <artifactId>osgi</artifactId>
        <version>3.3.0-v20070530</version>
    </dependency>

But still, we do not have any clue, why the dependency changed. Does anybody know the reason or experienced the same issue?


Solution

  • After digging through pom files, .m2/repository/repository.xml and several maven-metadata.xml files, I found the root cause.

    The maven-metadata.xml file in Maven repository http://repo.adobe.com for org.eclipse.osgi seems to have been changed on 20th August. For some reason the date of this file was reset now to 11th of July, but the change remains:

    The metadata file changed from

    <metadata>
    <groupId>org.eclipse</groupId>
    <artifactId>osgi</artifactId>
    <version>3.3.0-v20070530</version>
    <versioning>
    <versions>
    ...
    </versions>
    <lastUpdated>20071127073207</lastUpdated>
    </versioning>
    </metadata>
    

    to

    <metadata modelVersion="1.1.0">
    <groupId>org.eclipse</groupId>
    <artifactId>osgi</artifactId>
    <version>3.3.0-v20070530</version>
    <versioning>
    <latest>3.8.2.v20130124-134944</latest>
    <release>3.8.2.v20130124-134944</release>
    <versions>
    ...
    </versions>
    <lastUpdated>20130711152942</lastUpdated>
    </versioning>
    </metadata>
    

    Obviously, the latest version was provided after the change, which is now 3.8.2 and not 3.3.0 anymore.