I work on a pretty large project that uses Ant for builds. We're doing some
research on converting to Maven.  I'd like to describe some of the elements
of our situation, hopefully to find some conceptual "cookbook" strategies
for those aspects.

The "application" consists of the aggregation of several (10-20) separate
SVN/Eclipse projects on a particular branch.  Sometimes a project is used on
the branch, sometimes on the trunk.  The "build", when spawned from one of
those projects expects the other projects to exist with expected names in
peer directories (like "../module"). In order to complete a build of the
entire application, a developer has to check out all of the projects
required for the build, even if they only do work in one of them.  The plans
for a particular release define which projects will be on the branch, and
which on the trunk.

Although the deployment unit of the application is an EAR, the present build
process uses a vendor-specific assembly mechanism to produce the EAR
modules.  We're examining how/whether we can simplify that part to be more
conventional, but we may have to just figure out how to integrate more
closely with that mechanism so we can control it, instead of replacing it.

Developers use Eclipse on Windows, although the official build and
deployment is on Unix/Solaris.  Developers would likely use the m2eclipse
plugin in Eclipse.

One thing that I'm particularly looking forward to is the ability to just
have to check out a single project from SVN in order to build the entire
application, as I'm hoping it can somehow know to pull subproject builds
from the repo instead of expecting to build the source locally.  I'm not
certain exactly how that will work, but I believe that should be an expected
benefit of this conversion.

I know I've left out a lot of specific details of our environment, but can
you enumerate specific strategies and steps we should be examining?

Reply via email to