[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Integrating with an external build system (Ant, Maven, etc.)


I previously performed such a migration, and I went with PDE Build. It
works, but there are some problems. Here are my main complaints about

- It is not an incremental build - it builds everything every time.
- I found it hard to combine PDE Build into a wider build process that
also includes non-Eclipse/OSGi targets such as J2EE Ears and Wars.
When I can ditch JBoss in favour of a server-side OSGi solution then
this will be less of a problem!
- PDE build is tightly coupled with CVS by default. It assumes that
the code is supposed to be checked out of CVS and then compiled.
That's okay for some situations, but if you want (say) a pre-commit
validation build, or if you use Subversion, then you have to do some
- In general I feel PDE Build is difficult to setup and overly
complicated, making it hard to diagnose when something goes wrong. By
overly complicated, I mean that you run an ANT build which runs a
headless Eclipse application which calls another ANT build which calls
a series of (generated!) ANT build files, which then make calls back
into the ANT build which called them... you get the picture.

I would like to investigate Maven or Ivy, but I have some concerns
about those as well, maybe somebody else on the list can clarify
something for me. When building a bundle, can Maven or Ivy validate
that only the imported packages specified in the
Import-Package/Require-Bundle manifest headers are referenced from the
code of that plugin? How do they resolve those dependencies at compile
time, and how can I be confident that a bundle which cleanly compiled
will not throw CNFEs at runtime?

Thanks and regards,
Neil Bartlett

On 6/9/06, Jeoff Wilks <jeoffwilks@xxxxxxxxx> wrote:
I'd like to migrate a software project from a monolothic Ant build toward
separate Equinox/OSGI bundles, but I'm curious to know how people on this
list manage the external build process. In other words, developers can use
Eclipse to build, but what about Q.A. engineers, consultants, continuous
integration systems, etc.? I'm mainly concerned about how to do a build
without needing to open it up in Eclipse.

Do you use Ant or Maven in parallel? Do you sync it manually, or generate an
Ant build file or a Maven POM? Or vice versa? What are the trends right now?

equinox-dev mailing list

Neil Bartlett
Senior Technical Consultant, Integility Ltd
Tel: +44 (0) 20 7043 8328
Fax: +44 (0) 20 7043 8329

LinkedIn Profile: https://www.linkedin.com/in/neilbartlett