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

Reply via email to