I do agree with "artifactId == bundle symbolic name" (you meant "bundle symbolic name", not "bundle id", right?) but I think there is more to it.

Consider the following four usecase

* Create new Maven artifact from existing eclipse/osgi bundle. This happens when eclipse bundles are deployed into a maven repository, for example.

* Create new eclipse/osgi bundle from existing maven artifact. This happens when eclipse/osgi bundles are built from maven artifacts using Felix/BND or Tycho.

* Reference eclipse/osgi bundle from maven project (i.e. as a dependency in pom.xml). This is trivial if eclipse/osgi bundles have been deployed into maven repository. Becomes slightly more interesting if we want to consume bundles directly from P2 repository or local eclipse install.

* Reference existing maven artifact from eclipse/osgi bundle. This usecase is particular tricky because there is no way I can think of to derive groupId and classifier of the referenced artifact from information available from manifest of this bundle. So we either need to have one-to-one relationship between bundle symbolic name and groupId/artifactId/classifier or instrument repository manager to provide osgi-specific metadata.

Each of these usecase is relatively simple to address individually, but things become more complicated if, for example, somebody wants to create eclipse/osgi bundle from maven project using Tycho, then deploy this bundle(!) into maven repository and reference it from another maven project.

Has anyone looked at making such roundtrip work?


Jason van Zyl wrote:

On 21-May-08, at 8:23 PM, Barrie Treloar wrote:

On Thu, May 22, 2008 at 12:17 PM, Vincent Siveton <[EMAIL PROTECTED]> wrote:
Hi Arnaud and others,

What is the "official" Eclipse repo layout? According [1] and [2], [1]
seems the official. What others thinks?

Jason was meant to get back to the list about this.


It's not very complicated what we discussed. Essentially it's artifactId = symbolic bundle id because you'll never be able to derive the artifactId/groupId pair from a symbolic bundle id because you don't know where to split it. So avoid the complication of the mapping. The groupId would be use for organization in the repository but not important in the creation of the symbolic bundle id. What this means is that you could directly retrieve a bundle into a running osgi container without trying to synthesize the bundle id which is a good thing.

I haven't noticed it yet, but I'm pretty blind when looking through
mail headers :)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to