You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Doug Cutting <cu...@apache.org> on 2007/02/15 21:01:49 UTC
Re: Maven builds
There are cultural issues as well as technical issues to adopting Maven.
Most folks involved with Lucene are familiar with using Ant and
maintaining an Ant-based build system. So merely converting Lucene to
be built by Maven will not cause everyone who currently works on Lucene
to become willing and able to to use Maven on a daily basis.
Long-term, we probably should not attempt to maintain two official build
systems. But, short-term, it would be useful for developers to be able
to evaluate Maven, then discussion can begin about whether the project
should switch to Maven as its primary build system.
Doug
karl wettin wrote:
>
> 15 feb 2007 kl. 20.27 skrev Erik Hatcher:
>> On Feb 15, 2007, at 12:10 PM, karl wettin wrote:
>>> I would not mind introducing Maven builds in Lucene. It would solve
>>> /at least/ this problem. And it would merge so great with my other
>>> projects. :) I'd be happy to help out , but there are some wicked
>>> anting going on in a lot of build.xml:s so I would probably need a
>>> lot of help from the contributors understanding whats going on.
>>>
>>> Most of the build scripts could be halfway housed using
>>> maven-antrun-plugin.
>>
>> I'm open to Maven builds, for the record. I'll do what I can to help
>> with understanding any of the wicked anting in there, but I don't know
>> Maven so the best I'll be able to do is explain what is going on.
>> The main complexity we have is the contrib area, oh and JavaCC... the
>> rest is straightforward stuff.
>
> I'll see what I can do this weekend.
>
>
> +++
> ATH
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Yonik Seeley <yo...@apache.org>.
On 2/16/07, Sami Siren <ss...@gmail.com> wrote:
> 2007/2/15, Yonik Seeley <yo...@apache.org>:
> >
> > My first impression of maven:
> > Pretty websites as part of the build system - cool! And it's
> > *great* for starting
> > a new project... unit tests automatically run, website is built,
> > automatic packaging, jar/war build, everything you need!
> > But, it all seems like magic to me... if I want to do something different,
> > even a minor little change, I don't know where to start. If I want to add
> > an
> > additional compile flag, where does that go??? I have no idea. To change
> > the
> > behavior (like using Java5 source) I need to google and find the magic
> > incantation.
>
>
> Are you saying that the first time you tried ant everything was immediately
> clear to you - no need to vistit ant.apache.org ?
I didn't start with my own ant file, but had to modify an existing one.
But, things mapped pretty close from "make"... there were targets and
dependencies,
and the targets had tasks in them. It was easy for me to figure out
how to create some new targets to do some extra stuff.
I did have to google for "what's the name of the task to do x", or
"what parameters does task x accept". That's a bit different from my
first-time experience with maven, which appears more declarative than
procedural, and at a much higher level.
Don't get me wrong, I'm definitely not against maven... just pointing
out that in a nutshell to me, it looked like you got a lot more out of
the box, but the learning curve was steeper (conversely many simple
projects may need to learn less with mvn because it does so much for
them by default.)
-Yonik
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by karl wettin <ka...@gmail.com>.
16 feb 2007 kl. 11.17 skrev Sylvain Wallez:
> Ant + Ivy [1] are as powerful and infinitely more flexible.
If you have the time and knowledge, feel free to do something with
it. Perhaps demonstrate the dependency stuff from Ivy with gdata, the
benchmarker or so. I don't mind evaluating multiple automation tools
as we are at it.
--
karl
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by karl wettin <ka...@gmail.com>.
Just out of curiosity, did you try using Maven for more than
building? As I see it, the killer application is the development
environment intergration combined with release management and
dependency automation. These are the features that I hope will bring
people to the dark side.
I ended up doing other stuff this weekend. Will give it another try
the next.
--
karl
17 feb 2007 kl. 00.31 skrev Chris Hostetter:
>
> My investigations into maven2 have led me to similar conclusions that
> other's seem to have expressed: great tool, looks perfect for people
> starting from scratch - solves lots of problems, most of which we've
> already solved other ways ... training users to use the maven ways
> instead
> of our existing ways probably isn't worth what little benefit is left.
>
> I think the best idea might be to start by pursuing the maven Antlib
> Michael Wechner mentioned, to deal with the fetching dependencies
> needed
> by contribs and publishing release jars to the maven repository --
> using a
> new pom.xml to declare the project metadata and dependencies (which
> according to the docs can be accessed from the build.xml as
> properties)
>
> that sounds like it would be a good starting point towrads "fixing"
> some
> of the biggest percieved advantages to using maven -- and might
> serve as a
> good gateway to migrating the whole build process later.
>
> : very much agreed, whereas as an alternative one might want to use
> :
> : ant + http://maven.apache.org/ant-tasks.html
> : (maven-artifact-ant-2.0.4-dep.jar)
>
>
>
>
> -Hoss
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Chris Hostetter <ho...@fucit.org>.
My investigations into maven2 have led me to similar conclusions that
other's seem to have expressed: great tool, looks perfect for people
starting from scratch - solves lots of problems, most of which we've
already solved other ways ... training users to use the maven ways instead
of our existing ways probably isn't worth what little benefit is left.
I think the best idea might be to start by pursuing the maven Antlib
Michael Wechner mentioned, to deal with the fetching dependencies needed
by contribs and publishing release jars to the maven repository -- using a
new pom.xml to declare the project metadata and dependencies (which
according to the docs can be accessed from the build.xml as properties)
that sounds like it would be a good starting point towrads "fixing" some
of the biggest percieved advantages to using maven -- and might serve as a
good gateway to migrating the whole build process later.
: very much agreed, whereas as an alternative one might want to use
:
: ant + http://maven.apache.org/ant-tasks.html
: (maven-artifact-ant-2.0.4-dep.jar)
-Hoss
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Michael Wechner <mi...@wyona.com>.
Sylvain Wallez wrote:
>Sami Siren wrote:
>
>
>>2007/2/15, Yonik Seeley <yo...@apache.org>:
>>
>>
>>>My first impression of maven:
>>> Pretty websites as part of the build system - cool! And it's
>>>*great* for starting
>>>a new project... unit tests automatically run, website is built,
>>>automatic packaging, jar/war build, everything you need!
>>>But, it all seems like magic to me... if I want to do something
>>>different,
>>>even a minor little change, I don't know where to start. If I want
>>>to add
>>>an
>>>additional compile flag, where does that go??? I have no idea. To
>>>change
>>>the
>>>behavior (like using Java5 source) I need to google and find the magic
>>>incantation.
>>>
>>>
>>Are you saying that the first time you tried ant everything was
>>immediately
>>clear to you - no need to vistit ant.apache.org ?
>>
>>
>
>[chiming in as one of those that were hurt badly trying to setup a
>complex project with Maven]
>
>Actually that's the exact truth. If you ever were in contact with a
>build system that has "targets" (e.g. Make), Ant seems very natural, and
>understanding a simple build.xml is quite straightforward. Of course,
>when you write your own Ant files you have to look a the docs. But then
>again, it's quite straightforward.
>
>Maven is black magic. Very nice when it works, but so head-banging when
>it doesn't or when you want to do something that doesn't fit in the
>"maven way".
>
>Maven repositories are a nice thing, but you don't have to change your
>build to Maven to produce Maven artifacts, nor to use the repositories.
>Unfortunately, people often think that one cannot come without the other.
>
>Ant + Ivy [1] are as powerful and infinitely more flexible.
>
>
very much agreed, whereas as an alternative one might want to use
ant + http://maven.apache.org/ant-tasks.html
(maven-artifact-ant-2.0.4-dep.jar)
HTH
Michi
>My 0.02 euros
>
>Sylvain
>
>[1] http://incubator.apache.org/ivy/
>
>
>
--
Michael Wechner
Wyona - Open Source Content Management - Apache Lenya
http://www.wyona.com http://lenya.apache.org
michael.wechner@wyona.com michi@apache.org
+41 44 272 91 61
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Sylvain Wallez <sy...@apache.org>.
Sami Siren wrote:
> 2007/2/15, Yonik Seeley <yo...@apache.org>:
>>
>> My first impression of maven:
>> Pretty websites as part of the build system - cool! And it's
>> *great* for starting
>> a new project... unit tests automatically run, website is built,
>> automatic packaging, jar/war build, everything you need!
>> But, it all seems like magic to me... if I want to do something
>> different,
>> even a minor little change, I don't know where to start. If I want
>> to add
>> an
>> additional compile flag, where does that go??? I have no idea. To
>> change
>> the
>> behavior (like using Java5 source) I need to google and find the magic
>> incantation.
>
>
> Are you saying that the first time you tried ant everything was
> immediately
> clear to you - no need to vistit ant.apache.org ?
[chiming in as one of those that were hurt badly trying to setup a
complex project with Maven]
Actually that's the exact truth. If you ever were in contact with a
build system that has "targets" (e.g. Make), Ant seems very natural, and
understanding a simple build.xml is quite straightforward. Of course,
when you write your own Ant files you have to look a the docs. But then
again, it's quite straightforward.
Maven is black magic. Very nice when it works, but so head-banging when
it doesn't or when you want to do something that doesn't fit in the
"maven way".
Maven repositories are a nice thing, but you don't have to change your
build to Maven to produce Maven artifacts, nor to use the repositories.
Unfortunately, people often think that one cannot come without the other.
Ant + Ivy [1] are as powerful and infinitely more flexible.
My 0.02 euros
Sylvain
[1] http://incubator.apache.org/ivy/
--
Sylvain Wallez - http://bluxte.net
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Sami Siren <ss...@gmail.com>.
2007/2/15, Yonik Seeley <yo...@apache.org>:
>
> My first impression of maven:
> Pretty websites as part of the build system - cool! And it's
> *great* for starting
> a new project... unit tests automatically run, website is built,
> automatic packaging, jar/war build, everything you need!
> But, it all seems like magic to me... if I want to do something different,
> even a minor little change, I don't know where to start. If I want to add
> an
> additional compile flag, where does that go??? I have no idea. To change
> the
> behavior (like using Java5 source) I need to google and find the magic
> incantation.
Are you saying that the first time you tried ant everything was immediately
clear to you - no need to vistit ant.apache.org ?
Maybe the benefits of maven pay off over the long run, but as one
> casual/newbie user, it just seemed like too much of a black box that I
> can't quickly hack to get it to do what I want.
I have been "forced" to use m2 for the past year or so, but at this point I
have to say
thath I kind of like it (pervert me).
Even my spine seems to like it, more than once I have tried to build various
Lucene projects
with mvn install or run unit tests with mvn clean test ;)
--
Sami Siren
Re: Maven builds
Posted by Grant Ingersoll <gs...@apache.org>.
I think a POM for Lucene core and demo is pretty trivial, since there
are no dependencies, although I haven't tried Maven 2 yet. Contrib
modules w/ dependencies is a little bit harder and getting them all
to work together is a bit more on top of that.
We made the switch to Maven 1 at CNLP over two years ago and I can't
say I've ever wanted to go back to writing ANT build files. We have
completely automated our build/release mechanism (which includes
compilation, jar, SVN tagging, Unit testing, etc., email
announcements, updating bugzilla versions, site publication, etc.)
and I think it is safe to say the whole process would be a lot harder
to do in ANT (not that it couldn't be done). Just like Solr removes
much of the messiness of setting up Lucene and puts it into config
files, so does Maven when it comes to project mgmt. For the most
part, the magic is pretty well documented and straightforward to find
(but not always)
So, I'm +1 for seeing experimenting, as Doug suggested.
On Feb 15, 2007, at 4:20 PM, karl wettin wrote:
>
> 15 feb 2007 kl. 21.24 skrev Yonik Seeley:
>
>> But, it all seems like magic to me... if I want to do something
>> different,
>> even a minor little change, I don't know where to start. If I
>> want to add an
>> additional compile flag, where does that go??? I have no idea. To
>> change the
>> behavior (like using Java5 source) I need to google and find the
>> magic
>> incantation.
>
> I felt the same way until I registred the POM schema in my editor.
> As always
> there was a threadshold to pass before getting used to it. Now my
> general
> opinion is that maven(2) is a very mature and highly configurable
> but still
> easy to use build system that takes care of everything for me. I'm
> especially
> fond of the surefire test plugin, the in depth dependency handling
> and how
> it creates the project in my development environment.
>
>
> --
> karl
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>
--------------------------
Grant Ingersoll
Center for Natural Language Processing
http://www.cnlp.org
Read the Lucene Java FAQ at http://wiki.apache.org/jakarta-lucene/
LuceneFAQ
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by karl wettin <ka...@gmail.com>.
15 feb 2007 kl. 21.24 skrev Yonik Seeley:
> But, it all seems like magic to me... if I want to do something
> different,
> even a minor little change, I don't know where to start. If I want
> to add an
> additional compile flag, where does that go??? I have no idea. To
> change the
> behavior (like using Java5 source) I need to google and find the magic
> incantation.
I felt the same way until I registred the POM schema in my editor. As
always
there was a threadshold to pass before getting used to it. Now my
general
opinion is that maven(2) is a very mature and highly configurable but
still
easy to use build system that takes care of everything for me. I'm
especially
fond of the surefire test plugin, the in depth dependency handling
and how
it creates the project in my development environment.
--
karl
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
Re: Maven builds
Posted by Yonik Seeley <yo...@apache.org>.
My first impression of ant:
Ok, the syntax is a little funky, and I can't re-use my knowledge of command
line options to tools w/o doing an exec... I need to learn the "ant" parameters
for all the different tasks now. I can look at a build.xml and tweak/fix it
because there isn't too much "magic" involved... it's fairly straight
forward do-this
then do-that, specified in portable XML.
My first impression of maven:
Pretty websites as part of the build system - cool! And it's
*great* for starting
a new project... unit tests automatically run, website is built,
automatic packaging, jar/war build, everything you need!
But, it all seems like magic to me... if I want to do something different,
even a minor little change, I don't know where to start. If I want to add an
additional compile flag, where does that go??? I have no idea. To change the
behavior (like using Java5 source) I need to google and find the magic
incantation.
Maybe the benefits of maven pay off over the long run, but as one
casual/newbie user, it just seemed like too much of a black box that I
can't quickly hack to get it to do what I want.
-Yonik
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org