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 projects 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
