Skip to content

eclipseMavenCentral selects wrong "org.eclipse.help" version #155

@jmini

Description

@jmini

Using this in a gradle file:

apply plugin: 'com.diffplug.eclipse.mavencentral'

eclipseMavenCentral {
    release '4.14.0', {
        implementation 'org.eclipse.ui'
        // ...

        // specify this to add the native jars for this platform
        useNativesForRunningPlatform()

        // specify that0 all transitive dependencies should be from this release
        constrainTransitivesToThisRelease()
    }
}

I get following error:

* What went wrong:
Execution failed for task ':my_project:compileJava'.
> Could not resolve all files for configuration ':my_project:compileClasspath'.
   > Could not find org.eclipse.platform:org.eclipse.help:2.3.0.
     Searched in the following locations:
       - https://dev.unblu.com/nexus/repository/unblu-all/org/eclipse/platform/org.eclipse.help/2.3.0/org.eclipse.help-2.3.0.pom
     If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
     Required by:
         project :my_project > org.eclipse.platform:org.eclipse.ui.ide:3.16.100
         project :my_project > org.eclipse.platform:org.eclipse.ui:3.115.0 > org.eclipse.platform:org.eclipse.ui.workbench:3.117.0

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED

It is correct that org.eclipse.help in version 2.3.0 does not exist on maven central: org.eclipse.help.

If I run ./gradlew dependencies of the project, I get:

compileClasspath - Compile classpath for source set 'main'.
+--- ...
+--- org.eclipse.platform:org.eclipse.ui:3.115.0
|    +--- ...
|    +--- org.eclipse.platform:org.eclipse.ui.workbench:[3.117.0,4.0.0) -> 3.117.0
|    |    +--- ...
|    |    +--- org.eclipse.platform:org.eclipse.help:[3.2.0,4.0.0) -> 2.3.0 FAILED
|    |    +--- ...

Which is consistent with the rest.

How did the eclipseMavenCentral decided to use version 2.3.0?
Is this hard-coded somewhere?


If I run bnd repo --workspace <path to repolist.bndrun file> list command to inspect the content of the P2 Update site, with this repolist.bndrun file:

-standalone true
-plugin.p2 \
      aQute.bnd.repository.p2.provider.P2Repository; \
              url="https://download.eclipse.org/eclipse/updates/4.14/"

(source for this approach: How to programmatically query a p2 repository for information and artifacts? )

I get this entry in the output:

...
org.eclipse.help                         [3.8.600.v20191123-0656]
...

So I would have expected usage of 3.8.600 for org.eclipse.platform:org.eclipse.help which matches the version constraint and which is published on maven central.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions