lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ken Krugler <>
Subject Re: maven + solr
Date Fri, 28 Dec 2007 22:50:16 GMT
>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 
>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?

My input on this...

* Providing a Maven2 build would be useful for us. Currently when we 
modify Solr, we do an Ant build and then manually push the resulting 
jar to our in-house Maven repo, which works but isn't all that clean.

* So I'd be in favor of changing the directory layout, but only for 
my own selfish reasons :)

* I wouldn't be in favor of changing the build to rely on Maven2. We 
use Maven internally at Krugle, and sometimes it works well, and 
other times it's a royal pain in the butt. So having it as an option 
would be nice, and handy for me personally, but I'd hate to foist 
Maven on everybody else.

-- Ken
Ken Krugler
Krugle, Inc.
+1 530-210-6378
"If you can't find it, you can't fix it"

View raw message