[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aether-users] Versioning fun with Aether milestones
|
What is it about the "Send" button that things become clearer after you
click it...?
> I wrote:
>> But even that doesn't prevent the dreaded uses conflict from rearing its
>> ugly head:
>>
>>> org.eclipse.recommenders.models [331]
>>> Unresolved requirement: Require-Bundle: org.eclipse.recommenders.utils; bundle-version="2.0.0"
>>> -> Bundle-SymbolicName: org.eclipse.recommenders.utils; bundle-version="2.1.0.v20140320-1514"
>>> org.eclipse.recommenders.utils [333]
>>> Bundle was not resolved because of a uses contraint violation.
>>> org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.utils [osgi.identity; osgi.identity="org.eclipse.recommenders.utils"; type="osgi.bundle"; version:Version="2.1.0.v20140320-1514"] because it is exposed to package 'org.eclipse.aether.artifact' from resources org.eclipse.aether.api [osgi.identity; osgi.identity="org.eclipse.aether.api"; type="osgi.bundle"; version:Version="0.9.0.v20140226"] and org.eclipse.m2e.maven.runtime [osgi.identity; osgi.identity="org.eclipse.m2e.maven.runtime"; type="osgi.bundle"; version:Version="1.5.0.20140319-1741"; singleton:="false"] via two dependency chains.
>>>
>>> Chain 1:
>>> org.eclipse.recommenders.utils [osgi.identity; osgi.identity="org.eclipse.recommenders.utils"; type="osgi.bundle"; version:Version="2.1.0.v20140320-1514"]
>>> import: (&(osgi.wiring.package=org.eclipse.aether.artifact)(&(version>=0.9.0.v20140226)(!(version>=1.0.0))))
>>> |
>>> export: osgi.wiring.package: org.eclipse.aether.artifact
>>> org.eclipse.aether.api [osgi.identity; osgi.identity="org.eclipse.aether.api"; type="osgi.bundle"; version:Version="0.9.0.v20140226"]
>>>
>>> Chain 2:
>>> org.eclipse.recommenders.utils [osgi.identity; osgi.identity="org.eclipse.recommenders.utils"; type="osgi.bundle"; version:Version="2.1.0.v20140320-1514"]
>>> import: (&(osgi.wiring.package=org.eclipse.aether.util.artifact)(&(version>=0.9.0.v20140226)(!(version>=1.0.0))))
>>> |
>>> export: osgi.wiring.package=org.eclipse.aether.util.artifact; uses:=org.eclipse.aether.artifact
>>> org.eclipse.aether.util [osgi.identity; osgi.identity="org.eclipse.aether.util"; type="osgi.bundle"; version:Version="0.9.0.v20140226"]
>>> import: (&(osgi.wiring.package=org.eclipse.aether.artifact)(&(version>=0.9.0)(!(version>=1.0.0))))
>>> |
>>> export: osgi.wiring.package: org.eclipse.aether.artifact
>>> org.eclipse.m2e.maven.runtime [osgi.identity; osgi.identity="org.eclipse.m2e.maven.runtime"; type="osgi.bundle"; version:Version="1.5.0.20140319-1741"; singleton:="false"] Bundle was not resolved because of a uses contraint violation.
>>> org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.models [osgi.identity; osgi.identity="org.eclipse.recommenders.models"; type="osgi.bundle"; version:Version="2.1.0.v20140320-1514"; singleton:="true"] because it is exposed to package 'org.eclipse.aether.impl' from resources org.eclipse.aether.impl [osgi.identity; osgi.identity="org.eclipse.aether.impl"; type="osgi.bundle"; version:Version="0.9.0.v20140226"] and org.eclipse.m2e.maven.runtime [osgi.identity; osgi.identity="org.eclipse.m2e.maven.runtime"; type="osgi.bundle"; version:Version="1.5.0.20140319-1741"; singleton:="false"] via two dependency chains.
OK, the problem are the optional imports of org.eclipse.aether.maven.
For some reason Equinox decides to fulfill them, even if doing so
produces a uses conflict.
In the above, org.eclipse.m2e.maven.runtime is the sole provider of
com.google.inject 1.4, which org.eclipse.aether.maven *optionally*
imports. But wiring org.eclipse.aether.maven to
org.eclipse.m2e.maven.runtime places a uses constraint upon all
importers of org.eclipse.aether.maven's packages: they need to get their
other Aether packages from org.eclipse.m2e.maven.runtime.
Can someone see a way out of this? Benjamin?
Best wishes,
Andreas
--
Codetrails UG (haftungsbeschränkt)
The knowledge transfer company
Robert-Bosch-Str. 7, 64293 Darmstadt
Mobile: +49-170-811-3791
http://www.codetrails.com/
Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940