Hello! Hope you all are having nice holidays. let me lob another idea
out there and see if you think I'm crazy...
How do you all feel about changing the directory layout so it plays
nicely with maven? While we are at it, how do you feel about switching
to maven for the primary build system?
My reasons to suggest this are:
1. working with maven artifacts makes plugin/app development loads easier.
2. maintaining multiple build systems simultaneously seems like a pain
(I can't quite figure out how the lucene maven stuff works... it seems
overly complicated though)
3. For SOLR-303, solr-core needs to depend on solrj -- we can do this
with a simple change to build.xml, but it leaves us with a directory
structure that does not reflect the real dependencies. It seems like a
restructuring is called for regardless of the build system.
4. Using maven, we can quickly add other nice build features like
clover, pmd, eclipse, and idea support.
5. Assuming we stick with cwiki for the the site release, we need to
figure out how to include the auto-export in our distribution.
The concerns I have heard about maven are:
1. past experience was awful, lets not go there
2. solr sometimes depends on snapshot builds
#1, I can't really argue with - My past experience with maven (a long
time ago) was terrible too. All my recent work with maven2 has been
incredibly smooth.
#2, with maven, we can still put in hand built jar files, it is just not
the best practice. Currently, the only dependency that we can't pull
from a standard repository is: commons-csv-0.1-SNAPSHOT.jar
In SOLR-19, I just uploaded a proof of concept layout/pom structure with
4 artifacts:
1. solr-common (jar)
2. solr-client (jar)
3. solr-core (jar)
4. solr-server (war)
The one thing that is strange about our dependency graph is that many of
the tests for 'solr-client' depend on 'solr-server' and 'solr-core', so
they would probably be in that package.
Is this something worth pursuing? Would we rather stick with ant and
either have maven build unofficial artifacts or jump through lucene
style hoops?
ryan