Robert Muir changed the Hudson scripts for the four builds that run "ant 
generate-maven-artifacts" (Lucene-3x, Solr-3x, Lucene-trunk, and Solr-trunk) so 
that the builds would not fail as a result of problems running "ant 
generate-maven-artifacts".  This is a good thing.

A secondary effect of his change, though, is that the output from running "ant 
generate-maven-artifacts" doesn't end up in the console output for the Hudson 
jobs.  It succeeds or fails silently.  This is cool if you find yourself in the 
die-maven-die camp, but not so cool otherwise.

Separately, as things stand right now, there is no way to know if the Maven 
POMs go stale (structural change, upgraded and/or new dependencies, etc.).  
Given several committers' stated intent not to participate in maintenance of 
the Maven POM templates, I want to avoid the bit rot that plagued the previous 
iteration of the Maven POM templates, and I think one way to address some of 
the issues is to use Hudson to run regular Maven builds.  These builds could 
also handle the Maven snapshot artifact generation and publishing, so that this 
functionality could be removed from the four existing builds that currently do 
this.

I plan on setting up two nightly builds on Hudson that do the following, once 
for trunk and once for branch_3x:

1. Check out/update Lucene/Solr source tree
2. Run "ant get-maven-poms"
3. Restore a saved local ~/.m2/repository/ so that maven doesn't have to 
download the entire world, removing org/apache/solr and .../lucene dirs
4. Run "mvn -N -P bootstrap install" to install the non-mavenized dependencies 
into the local repo
5. Run "mvn clean install" to test the Maven POMs (the "test" phase is included 
when you run the "install" phase, and inter-module dependencies are resolved 
through artifacts installed in the local repo)
6. Move ~/.m2/repository/ to a location from which it can be restored in step 
#3 of the next iteration
7. Run "ant clean generate-maven-artifacts"
8. Publish the maven artifacts

I also want to investigate using the ASF's maven snapshot repository instead of 
Hudson to host the generated artifacts.

Steve

Reply via email to