eclipse / buildship

The Eclipse Plug-ins for Gradle project.
528 stars 167 forks source link

Redistributing org.gradle.toolingapi #1308

Open merks opened 1 month ago

merks commented 1 month ago

While investigating

https://github.com/eclipse-simrel/simrel.build/issues/438

I noticed that the org.gradle.toolingapi bundle is wrapping a jar that is also an OSGi bundle:

image

I think this jar is coming from here, right?

https://repo.gradle.org/ui/native/libs-releases/org/gradle/gradle-tooling-api/

It's not in Maven central, but you are aware of that:

https://github.com/gradle/gradle/issues/16683

I suppose I could include this bundle in Orbit, but it not being at Maven Central makes that complicated such that it's probably less work to keep doing what you're doing manually. I suppose that makes this more a question than a request.

Please let me know your thoughts...

donat commented 1 month ago

Hi Ed! Sorry for the late reply, I was offline in the past few weeks. The Tooling API jar is indeed not published to maven central. That the jar we publish to repo.gradle.org does not have the OSGi metadata, that's why we repackage and publish it in the Buildship build. There's quite a bit of code for that in the repository, and because we only use it for Buildship, it was natural to keep everything in the same repository.

Back then we considered publishing the tapi jar to orbit, but we concluded that without consumers outside of Buildship, it does not make sense to maintain a shared bundle. If there's a potential consumer, however, we should change that and publish it. For that the easies solution, as you said, is to use what we have. Generating the OSGi-ified jar is rather simple: