[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] bundle builds using Maven

Hi Aaron,

On 15/05/07, Aaron Siri <Aaron.Siri@xxxxxxx> wrote:

My organization has been attempting to use the Maven build process as described in the "Building Eclipse Plugins with Maven 2" by the Princeton Softech guys to build a set of Equinox/OSGi bundles (not Eclipse plugins.) I've successfully gotten a single bundle to build but am having problems with cross-bundle dependencies. I have an aggregator/super-pom that contains two modules – A and B. B, as defined in the manifest, depends on A. A builds fine, but when B attempts to build it can't find A to build against. Is this situation supposed to work?

I've made a slight modification to the Princeton Softech Maven plugin that
uses the bundle package "prefix" as the group Id (i.e.
com.company.product.bundle would use "com.companyu.product" as the group
id.)  When the build errors out due to failed dependency resolution it is
looking for the artifact that I would expect it to (group id and artifact id
look correct.)

I haven't used the PST plugin myself, but you might want to check the manifest has a version for module B, and also that module B has been correctly installed in the Maven repository.

The compilation can resolve the Equinox (3.3M7) bundles from the manifest (using the group id change described above) and can find the artifacts in the repo without issue. It is just this cross-module building issue that I'm having.

A related question I have is what is the common method of building equinox
bundles?  Do most people just use the PDE tools included in Eclipse?

A lot of people just use the PDE tooling, but there are other options like Peter Kriens' BND tool which can be used as an Eclipse plugin (see http://www.aqute.biz/Code/Bnd) and is also available in Maven using the maven-bundle-plugin from the Apache Felix project.

Personally, I use my own set of scripts to simplify creating bundles
(see http://wiki.ops4j.org/confluence/display/ops4j/Pax+Construct).

These scripts take a different approach to PST, in that dependencies
must be specified in the Maven poms and the manifest is generated
from the code and the BND directives. Eclipse integration is minimal
at the moment, but is being actively improved.

-Aaron _______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/equinox-dev

Cheers, Stuart