(Note: Not a BSF committer, just a generic Jakarta committer; not a
maven committer either, just wanting to try and show why people might
think otherwise)

On 9/25/05, Alan Gutierrez <[EMAIL PROTECTED]> wrote:
>     Once a project goes to Maven, there is an enormous barrier to
>     entry for those developers, like myself, who are not going to
>     put up with it. I don't need a PMD report every time I change a
>     line of code.

When I check a project out and see it uses Ant, I wave my hands in
despair. Yet another custom piece of hackery to wade through before I
understand what is going on. Okay, bombastically said, but it's a
serious point, Maven equals standardisation equals easy-to-understand.

I'm assuming you were taking poetic licence, but you don't get a PMD
report every time you change code. When compiling, all Maven does is
force your unit tests to run every time instead of allowing you to
compile separately.

The speed is definitely a problem, least it is on my antique 400mhz
Powerbook. My P4 2.x ghz server flies along, so I'm guessing it's
something that gets a lot better with raw power.

>     I hereby volunteer to check in the dependencies into Subversion,
>     or write Ant scripts that will put the dependencies via http
>     from the source of your choosing.

www.ibiblio.org/maven  :) With ability to add others. And local
caching in the .maven/repository directory to speed up the builds.

Always surprises me that there's not a dominant Ant.maven project out
there which steals the best Maven ideas (standard commands, managed
dependencies) without having to embrace the mistake of merging the
site with the development reports.

Ivy does look like it handles one part of the Maven idea though, so
there's hope.

>     It should take a day to write. If you must go with Maven, please
>     accept my offer as an alternative.

Just as a counterpoint, it would take less than 30 minutes to Mavenise
BSF (though not talking about the site). That's probably a bit
pessimistic too, you just need to write 3 project.xml files, one at
the top level, one in taglib and one in bsf-3.

>     I simply do not understand why people put up with Maven, why
>     everyone thinks it is such a great idea.

For open-source projects, I think the popular selling point was the
magic website that miraculously appeared and promised to be better
than the current site. Thus Hani's biling that the Maven cookie cutter
site was showing everywhere. That's not why it's good though, just an
early piece of successful marketing.

The site's look and feel is still not bad, it's saved a lot of time
from being wasted on the project sites and brings the lowest level of
graphical design up a few notches. The information architecture of the
site is bad, I hate the hidden Project Reports and Project Info bits,
but with an hours work you can find a minimalism
(http://www.osjava.org/simple-jndi/ though I still think I should kill
the source cross references).

The real first selling point was not having the dependencies in your
source control system. There were a number of projects to solve that
one in Jakarta, Maven was just the one that stayed active and became
prevaylent. This seems to be one of those K&R vs BSD braces issues;
people either hate having jars in their CVS, or love it.

The good reasons are:

1) Standard. We use Maven at my place of employment to keep the build
system very easy to understand. Developer's don't need to know Ant and
write their own build scripts, they just copy a template project.xml,
fill in the gaps and start building.

2) Simplicity for the IDE users; they run 'maven eclipse' (for
example) and are ready to run with all the dependencies setup.

3) Dependencies. Maven effectively gave us a Java CPAN when everyone
else was talking about it and failing to deliver. Adding javadoc and
src.jars is planned I think (unsure).

4) Very good way to discover new projects. Jalopy, PMD, Checkstyle
etc. Least it was early on, stability means that there are less new
plugins in the default installs now.

> It's turning Java land into binary-only land.

Only if you believe Ant is the one true build system. People using
make to compile Java probably claimed the same thing of Ant.

>     This is not a rant. I'm sincerely concerned that Maven will be
>     a productivity drag and retard participation.

It's definitely slower to build than Ant, though I assume the unit
tests should, on a well tested project, be an order of magnitude
larger in time than the build system and so the speed difference in
starting Maven and Ant should be much less noticeable.

No argument on retarding participation; the blog entries you quote
show that there are definitely people with very strong anti-Maven
views. I'd draw an analogy to Java IDEs in the late 90s, most of us
despised them.

I doubt Maven will be the Eclipse of the build tools, but in 5 years
or whatever I'd hope that people aren't still rolling custom build
scripts all the time.

>     * Developer must have Maven installed, cannot simply type "ant".

Circular argument though. Developer has to have Ant installed to type
ant. Admittedly Ant is more common, but there'll be a good %age of
people for whom it's not more common (for example I'd guess I use Ant
on about 2% of the code I have checked out, often because the project
has been inactive for years, I doubt people at my place of work have
it installed).

>     * Maven has an enormous set of dependencies itself.

Yep.

>         http://www.custommonkey.org/words/jeff/2005/02/23/1109162220000.html

No clue what this is on about, Maven is as easy to install as Ant,
Tomcat or Java. Download a tar.gz, unpack it on your filesystem, set
MAVEN_HOME, add to PATH.

Interestingly I feel like I'm in the Ant situation here, I'm guessing
that the author was using jpackage or rpm's or something, a concept I
never really get because it's so much pain to go through when
installing a binary by hand is so easy.

Actually, I bet he's trying to install using some kind of build from
source system (Gentoo etc). I imagine Ant is more painful then too
(the whole bootstrap issue), but have definitely felt the Maven build
itself was complicated.

I'm guessing that Eclipse has a lot of dependencies, the point seems
moot to me. The majority of people don't build their development tools
from source.

-----

Hopefully I've not been too overly amused with myself above, and have
managed to make some points without being rude. Namely:

* Custom Ant scripts are more painful than a project.xml
* Maven sites still need time on the information architecture;
something that the ease of creating them seems to stop happening.
* There are positives to using Maven.

Really you're not arguing against being able to build BSF with Maven,
but as to which system is considered the official build. There's also
the build.xml that Maven can generate for Ant users, but I've no clue
if that's desirable or not. Logically you would think that it should
be much like Ivy.

Slightly off-topic, if applying Maven to an Ant project, I would
recommend trying to simplify your build system/code structure, don't
hack Maven to fit the system you had in place for the Ant project. If
you can't be standard-ish, stay in Ant - it's the right place for lots
of customery.

Sorry I'ved rambled so much,

Hen

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

Reply via email to