Skip to main content

[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


Back to the top