Erik Hatcher wrote:

On Jan 7, 2004, at 6:40 PM, Chad Woolley wrote:

Use Maven :).


Ok, so let's see how you'd answer Tom's question using Maven. Please?


Well, I was really responding to Drew, who complained about the lack of a process. In maven, if you want a plain-jane build and deploy for your project, there is a well defined process. You fill out the project info in an XML file (the "POM"), add some properties, and run maven. The properties are a holdover from maven's ant heritage and will eventually be migrated to the XML. No creation of a custom script is required, unless you need to do something fancy. There are predefined templates to help you get started filling out the project info.

Maven also *forces* you to follow some processes (such as project layout), which are usually good things to do anyway.

For Tom's question, or any other custom task, you probably still end up writing some custom logic whether you use Ant or maven. It could either be an Ant task, or some Jelly scripting in maven (No, I've never done jelly, but supposedly it's easy). You could also encapsulate your solution using either approach, via a taskdef or a maven plugin. You can also use your ant taskdefs directly in maven if you want.

So, for fancy stuff *that doesn't have already have a maven plugin or an ant task*, it could be a wash.

There is also tons of fancy stuff maven does very easily out of the box or via plugins, especially the dependency management, site generation and reports. In general, I find the plugins easier to use than Ant taskdefs, mainly because you don't have to explicitly declare them. However, that's not really the topic, and I'm not getting paid to endorse maven :). Look at the plugins list on the maven site if you are interested.

So, bottom line, it offers a lot of added value over plain Ant for a small learning curve, and I can always resort to calling Ant if I really want or need to.

Thanks,
Chad

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to