Skip to main content

[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


Back to the top