I think having bundle names such as org.apache.synapse.transport_SNAPSHOT.jar is just a convention, mainly adopted by Eclipse Equinox. Some projects like WSO2 Carbon (http://wso2.org/projects/carbon) have adopted this convention to the extent that even the Maven2 modules/folders have this convention (https://wso2.org/repos/wso2/trunk/carbon), but there is no hard and fast rule to adopt it.


On Tue, Aug 19, 2008 at 6:41 AM, Saminda Abeyruwan <samindaa@gmail.com> wrote:

On Mon, Aug 18, 2008 at 8:35 PM, Ruwan Linton <ruwan.linton@gmail.com> wrote:

I just wanted the OSGi bundles to be in its standard way and it is possible to understand the artifact names that are already there, but if we go with that structure then the bundle names are going to be synapse-core_SNAPSHOT.jar and so on which is not the standard of OSGi.

There is no accepted norm to publish bundles as org.foo.bar_<versio>.jar.  People just do it  for convenience and nothing more. Using bundle names as prior is not a standard of OSGi, merely a convenience way of describing bundle information.


I will try to create two artifacts one as the OSGi bundle and the other as a pure jar file.


On Mon, Aug 18, 2008 at 11:55 PM, Saminda Abeyruwan <samindaa@gmail.com> wrote:
Hi All,

IMHO, Synapse folks can keep the physical names of MVN artifacts as it is. Physical names are opaque and wouldn't reflect much information w.r.t to OSGi standards.

Even the bundle-symbolicName can be anything and doesn't need to follow strict patterns. Normally when we create a bundle, for ex: consider the following example,

if the package structure of a project
+- org
         +- foo
                  +- bar
                            +- internal
                                             +- Activator.jar
                       +- Foo.jar
                             +- car
                                      +-  Foo1.java

We normally select the bundle-symbolicName as "org.foo.bar". As this could be considered as the parent of all other packages. Hence, when a user/developer looking the meta-date of the bundle, one be able to get a good understanding of the packaging structure.

In order to make the life easy for user/developer who use this bundles, the physical name of the bundle also named with the bundle-symbolicName. This is just a convenience factor for users/developers.

If someone adheres to prior way of naming bundles, it's very convenient to distinguish bundles. Ex: org.foo.bar Vs org.foo.bar.ui.

In-order to achieve this we will need to change the names of the artifacts
to the following format.

synapse-transport-SNAPSHOT.jar ==>
synapse-core-SNAPSHOT.jar ==> org.apache.synapse.core-SNAPSHOT.jar

and so on.... WDYT?
Awwww.. I personally don't like the above file names at all.. if OSGi cannot understand them, they should fix it.. can we raise a JIRA against it?

Any OSGi implementation can understand  the previous names.  I believe Ruwan is trying to make the names more self informative and descriptive.
Sometime back we did a lot to be Maven 2 compatible across many projects.. I don't want to change everything now just so that OSGi understands them..


However, if you can generate a build target that generates these OSGi bundles on some profile, as a copy of the existing artifacts - and we upload them to maven 2 etc, - I am totally fine with that.. is that possible?

+1. Since Synapse is quite famous around the community and it's not IMHO time to change the names of the main artifacts. As Asankha has said, it's worth to build the OSGi bundles separately using MVN  semantics  and used by OSGi community.

Thank you!


Ruwan Linton
http://wso2.org - "Oxygenating the Web Services Platform"

Afkham Azeez

GPG Fingerprint: 643F C2AF EB78 F886 40C9 B2A2 4AE2 C887 665E 0760