Hi again,
It seems every library I want to add that isn’t Apache Commons has this issue. I spent a whole afternoon manually chasing dependencies for com.google.gdata and ended up with the mess in [1] and still the build is failing. I’m wondering if it’s supposed to be this difficult, or if I’m just trying to put extremely complex libraries on Orbit? For example, the library we have in our local repo is in [2] and all I wanted to do is put it on Orbit (so we can delete it from our repo) but I can’t figure out why it’s such a pain, and why I have to manually chase down every single transitive dependency. Any further clarification on the process would be appreciated!
Thanks,
Sina Madani
[1] https://git.eclipse.org/r/c/orbit/orbit-recipes/+/167664
[2] https://git.eclipse.org/c/epsilon/org.eclipse.epsilon.git/tree/plugins/com.google.gdata_1.47.1
On Fri, 2020-08-07 at 15:42 +0100, Sina Madani wrote:
> Hi,
>
> I’ve been trying to add some bundles recently and I’ve noticed the
> build fails because of some supposedly missing dependency. However
> when doing mvn dependency:tree and looking on the project websites,
> mvnrepository.com etc. I find that there are no dependencies, or at
> least they must be included already. The mvn -U clean package
> -DdirtyWorkingTree=warning succeeds, but when building the
> aggregationfeature it fails.
>
> For example, I’m adding PlantUML which supposedly has no
> dependencies, but the build fails with the message:
> “Missing requirement: net.sourceforge.plantuml 1.2019.0.v20200807-
> 1315 requires 'java.package; ch.braincell.viz 0.0.0' but it could not
> be found”
>
> I suspect there must be some setting that ignores files which don’t
> contain the same package name as the bundle? Any clarification would
> be appreciated.
The package ends up in the set of Import-Packages of the generated
bundle and if nothing else provides it, the build will fail.
In this case, the build seems to actually be catching reflection
usage :
net/sourceforge/plantuml/vizjs/VizJsEngine.java: final Class classVizJS = Class.forName("ch.braincell.viz.VizJS");
net/sourceforge/plantuml/vizjs/VizJsEngine.java: final Class classVizJS = Class.forName("ch.braincell.viz.VizJS");
If you're sure this usage would never come up (eg. optional) then you
can add something like '!ch.braincell.viz' to the Import-Package
statement. Otherwise, you'll need to contribute this bundle as well.
Cheers,
--
Roland Grunberg
_______________________________________________
orbit-dev mailing list
orbit-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/orbit-dev