directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre-Arnaud Marcelot ...@marcelot.net>
Subject [ApacheDS][API] OSGI, MANIFEST.MF files and Bundle-SymbolicName
Date Tue, 18 Oct 2011 12:31:20 GMT
Hi guys,

A quick follow up on the work currently being done on ApacheDS around OSGI.

Göktürk is doing a really good job in moving ApacheDS code base towards OSGI.

Unfortunately, at the moment, Studio is broken (code base still compiles but it can't be launched)
due to the recent changes.
The cause of this issue is a change in the way we name our OSGI bundles (the 'Bundle-SymbolicName'
property in the 'MANIFEST.MF' file).

When we moved the LDAP API (Shared) to OSGI a few months back with Alex, at first, we used
a concatenation of the groupId and the artifactId:
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>

That generated for example the following bundle symbolic name: org.apache.directory.shared.shared-asn1-api

We decided quickly to change the policy for two reasons:
- get rid of the duplicated 'shared' keyword
- follow the current naming policy of Apache Directory Studio (inherited from Eclipse) which
does not use any '-' character (but a '.' instead).

In the end, it gave the following bundle symbolic name for the same example: org.apache.directory.shared.asn1.api.
Something that we thought was shorter, clearer and shared across both our projects (Studio
and LDAP API).

Recent modifications brought back the concatenation naming scheme and that's what has broken
Studio.
I currently have a fix in my workspace about that (which reverts the bundle symbolic name
to what was previously used), but I'd rather have a common discussion about what naming scheme
the community as a whole decides to use, before committing it.

What's your take on this?

Also, one other thing. In order to be able to run ApacheDS projects from the workspace inside
a launched Eclipse instance (especially when running Studio within Eclipse), we need to have
the 'MANIFEST.MF' file generated inside a 'META-INF' folder at the root of each ApacheDS module
(this 'META-INF' folder being added to svn:ignore of course).

This is what we had done when we moved the LDAP API (Shared) to OSGI a few months back with
Alex, and it has been working very fine since then, especially the integration with Studio.

So, all LDAP API modules are fine about that and I'd like to do the same thing for all ApacheDS
modules.

Is there any objection to that?

Regards,
Pierre-Arnaud
Mime
View raw message