On 12/3/05, Stephen Colebourne <[EMAIL PROTECTED]> wrote: > >>Hate to be an "old fart" here but was ant really all that bad? > > Well it is a question isn't it? I suppose this is a flame thread, but I > have to ask, have we over the last two years or so actually got the > benefits that maven promised? And do we believe that maven2 will help? >
Good question and good time to ask it, as maven 2 has just been released and there is no denying that the current site generation is creaking and painful. > When I think of maven, I see the POM as a good idea, raising the > abstraction level. The problem has always been what it does with the > POM. I have a feeling that maven should have just been a set of ant > tasks that used the POM for info. Anyway, that design wasn't chosen. > Well, one could argue that that is more or less what was implemented in maven 1, with the tasks scripted using jelly. Have a look at the sources for the dist plugin, for example, and you will see lots of ant tasks scripted in jelly. > So what works well with maven? Well the end result site can be quite > reasonable. You still have to put in effort though, to fix > navigation.xml, cvs-usage.xml, issue-tracking.xml, add decent links to > each of the reports, manage the history of javadocs... > This is all true, but we can fairly easily share the results of this effort. Sure, we may need to copy and modify the templates, but if you commit examples to commons-build that will make it easier. The maven community is also *very* open to applying patches to support new requirements - both for maven 2 and maven 1. > Building has always seemed to be a nightmare though. I have no faith > that the jar or dist built by maven is the jar/dist that I want (I > always want something non-standard). And one output jar per project is > just crazy (see collections-testframework for example). And we still > don't have a cast-iron way to build a 1.2 compatible release using maven. You can get multiple jars by creating a multiproject. When it comes to "non-standard" contents, again the answer is that if you want it, probably some others do too, so opening tickets and submitting patches is the right thing to do. That's how we got LICENSE.txt included automatically, for example. Just opening the ticket helps, even if you have no interest in working on the patch. I am now working on three patches to support commons in maven 1 now - crlf fix (sorry for all the noise, will be configurable to just fix the crlf part) - user.name not recognized by the jar plugin - incorrect jdk reported in manifest when maven.compile.executable is used It will be easier if we get these things fixed in maven rather than duplicating the work all over the place in custom ant scripts, IMHO. > > So, are we holding on to maven because we feel we should? Are the > claimed benfits really there? And if I'm already using ant for releases, > why shouldn't we do as Hen suggests and generate our reports outside > maven too? Way too much work, IMHO and a PITA even worse than we currently have to maintain it. To me, maven does a great job handling dependencies, generating reports and web sites, and making release distros. Admittedly, we are still not where we need to be in commons on the last items; but I see less work getting maven to work than starting from scratch with Ant and Velocity / XSLT. I also like the sshDeploy and jar deploy capabilities. I would not recommend a wholesale move to maven 2 at this time, as the plugins are still getting completed and I am afraid the frustration level would actually get worse if we started going there immediately. I think that if we solve a few simple problems with maven 1 and update the docs, we can make things easy enough for RMs and volunteers both. At apachecon, Brett and I are going to work on finding a better way to share navigation structures across sites. The current XML entities approach is going to break in maven 1.1 and is also a bit confusing. All are welcome to join us, or obviously to post ideas on how to do this. Phil --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]