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

Andreas Sewe wrote:

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.

After some initial research yesterday, I'm having trouble making sense out of this analysis. AFAIK, OSGi is proud of its package-level granularity when it comes to wiring dependencies. If that's right, how does wiring the package org.apache.maven.repository.internal to org.eclipse.m2e.maven.runtime *for com.google.inject* impose a uses constraint *for org.eclipse.aether* packages?

Export-Package: org.apache.maven.repository.internal;
 uses:="com.google.inject,..."

AFAIU, the uses directive here forces that importers of org.apache.maven.repository.internal that also import com.google.inject get wired to the same exporter of com.google.inject as org.eclipse.aether.maven.

I fail to see how this affects the wiring of org.eclipse.aether packages. Wiring the org.eclipse.aether.* imports in org.eclipse.aether.maven to org.eclipse.aether bundles seems like a valid configuration to me from the manifests and OSGi rules, no?


Benjamin


Back to the top