uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marshall Schor <...@schor.com>
Subject new Maven Align system checked in
Date Wed, 12 May 2010 15:41:04 GMT
I just checked in all the outstanding changes for the new Maven build
system.  Most of this recent checkin was for the sandbox projects.

Highlights -

New top level SVN node: "build" - holds parent poms, build resources,
and a build-helper plugin.  These won't be part of normal "distr"
releases, but will be released anyways, individually.  They have
versions numbering conventions like other build tooling in Apache -
e.g., they are called "1-SNAPSHOT".

Sandbox projects are set up as "single-release" style of builds -
enabling releasing them individually.  We can decide if it also makes
sense to bundle a bunch of them together, as well.

The single-release style has 2 binary forms: the PEAR, and a simple
zip/tar format.  Both are similar, but the PEAR includes a main
descriptor, and is set up as an installable PEAR file.

No more docbook tools.  docbook building done by using the docbkx maven
plugin.  Olinks handled by accumulating olink database info in an olink
project - checked in to the Snapshot repo.  We may from time to time
also make a real release of this thing, but it's not really needed - if
it gets wiped out (infra has been known to erase all snapshots), it can
be regenerated by doing multiple builds of the docbooks.

No more cross project checkout location dependencies (I hope) except for:
1) aggregation poms - these build multiple things and use the relative
path in the <modules> for this
2) -distr poms - these assemble multiple things using relative paths. 
Currently only 2: uimaj-distr and uima-as-distr

POMs follow Maven 3 conventions, use proerties in the right way (I think
:-) )

I've been using m2eclipse, seems to work well except for one bug that's
fixed but not yet released - workaround is to build from command line
for those cases where it hits - this is the one where part of the build
is building source files for other parts to use.

How To:

1) check out uimaj (branch) - all projects - into some local working dir.
2) use m2eclipse import existing projects (you don't need to use maven
projects, sometimes that helps - more learning curve needed here)
3) individual projects should build using mvn install.
4) sets of projects should build using mvn install on aggregate-xxxx
5) -distr projects should build using mvn install to build distributions
6) eclipse update site build should work using mvn install
7) mvn deploy should work after you set up for deploying to the
repository - you have to configure your .settings file, set up
passwords, etc.  Please use encryption on your passwords.  (See earlier
note on this).

I'm sure lots of (hopefully small) things are broken, but it's time now
for others to start pounding on this.  If there are no objections, I'll
merge back into trunk in maybe 3 days or so...

Cheers. -Marshall

View raw message