On Tue, 2005-09-20 at 14:19 +0100, Ashley Williams wrote:

> 1. Usability from Ant - there are hundreds of Ant targets out there  
> that are useful for me today. I can't justify waiting for them to be  
> rewritten as Maven equivalents not only because I need functionality  
> today, but also because I don't see why I have to abandon my  
> experience with ant.

We are rapidly trying to make Ant functionality available in m2 by
creating a plugin type that allows you to script up plugins using Ant's
familiar XML scripting. If you can't wait and have a pending project
then your stance is understandable. 

For the time being you can take advantage of what we've made available
via Ant tasks.

> 2. Usability from Eclipse - when will I be able to ditch the command  
> line and create and manage projects entirely from eclipse

This is something that is actively being pursued and something will
materialize sooner rather then later. We understand the critical nature
of tool integration. The importance is not lost on us, we understand.

> 3. Need to do a myriad of simple things such as automatically run  
> java command or deploy to tomcat. I used to do this all the time in  
> my ant scripts, ie run my build.xml script and at the end it would  
> run my app on completion. It's a credit to those on this list who  
> reply with ideas and workarounds - however this is kind of related to  
> 2 above, where there are lots of ant tasks out there that are tested  
> to death and that I should be able to use today.

Here our aims are different. We don't want everyone scripting up
everything in their own way. It may be convenient in the short term but
we would prefer to wait for someone to create a coherent, consistent way
to launch an appserver for testing so that it benefits all Maven users.
We feel in the long run this approach serves the community better but
this notion is often at odds with folks who needs to get things done
Right Now(tm). 

> 4. Online documentation. Simple example was trying to get the  
> assembly plugin to work which Daniel Shomer had to look into the  
> source code to advise me of what to do. This is just one example of  
> many.

The documentation is admittedly lacking. I am actually working pretty
much full-time on writing doco for the release so this is not lost on us
either. We know that documentation is critical for successful widespread
adoption.

> 5. Other project structures. Sometimes I will encounter a project  
> where all the source code is in one tree (beginning with com/). I'm  
> not saying its any better than one directory per artifact, but I am  
> saying I encounter such projects in my career and as such I know I  
> wouldn't be able to use maven.

That's a choice you'll have to make. Many people have found making the
switch to our default ways of doing things has numerous benefits. If
it's not something you can do then we understand but we feel coherency,
consistency, and comprehension win out over other concerns. Make a good
plugin and all Maven users benefit. Make a one off script for your own
setup and you've just isolated yourself from a great source of potential
help. Making a decent plugin might take you an extra 20% in time but the
ultimate savings in time has shown itself in our community over and over
again. 

We also know that new projects are starting all the time and this is the
ideal time to try Maven. For people who have different structures, you
will probably also find that their build now works and in these cases I
would never recommend switching from Make or Ant unless you are having
serious problems with maintenance.

> 6. Contribute to the code. I have tried to get a foot in the door in  
> order to fix some of my own critisisms, but the lack of javadocs mean  
> that I really can't do this other than for some simple plugins. That  
> is unless I had lots of time to spare which I don't. In turn that  
> makes me concerned how the project will attract other developers to  
> move things along quickly.

We have actually attracted more developers in the last 6 months then
ever before. We've got 4-5 new developers on the maven project and at
least as many on the Mojo project. So things are actually looking great
in terms of community involvement and I think it's only going to grow as
we approach a final release. There is currently a barrier to entry but
we've managed to overcome that and we're working on making getting
involved easier:

http://maven.apache.org/maven2/developers/development-guide.html

> I realize there may be workarounds for some of the above, but I  
> couldn't stick my neck on the line for a dev team and recommend  
> sharing of eclipse hack scripts etc as a way of working. I'm also  
> putting my selfish hat on and say that I'd like to do the above  
> without defending it - there are a few threads on this list already  
> that deal with the pros and cons.
> 
> ***************************************
> 
> Now I'll turn my attention to Ivy. I've began to look at this product  
> and it seems to offer many of the features of Maven including
> 
> 1. transitive dependencies
> 2. compatibility with the ibiblio repository

But this is a mere fraction of what Maven tries to accomplish. I don't
think you can really compare the two. Ivy provides a very small subset
of Maven's capabilities.

> and in addition
> 
> 1. the online docs are excellent even if they are in broken english

Docs are docs, it's true. But we'll be in better shape for the final
release.

> 2. Can manage projects from with eclipse, since they are just ant  
> projects (with simple projects, haven't tried anything tricky)
> 3. Can manage maven style module directory structures or single  
> source trees. Obviously being Ant, it can manage any structure you  
> like, but these are the only two sane ones I know.

Eclipse support is coming, I promise :-)

As far as allowing any structure, that's just not what Maven is about.
We don't encourage that and never will. We just feel in the long run the
build is not what developers should be focusing on. The build should
apply standard patterns much like all other aspects of software
development and the focus should be on enriching your application.
That's where the value lies.

Anyone who uses Maven can talk to anyone else who uses Maven and
understand much of what the other is talking about because we employ and
encourage these best practices. If you have an entirely isolated setup
your chances of getting help are limited and you will remain isolated.
We try to carry the whole notion of patterns into the build
infrastructure so people save their valuable time by being able to
communicate effectively about specifics of a build.

> Yes there is stuff that it doesn't have such as a built in lifecycle,  
> but with what I've learnt from the maven layout, I feel I could quite  
> easily replicate that in ant in a reusable way. 

We know from painful experience that is not the case. I know of many
attempts to replicate what Maven does in many organizations and very few
of them still live on today. A great deal of consideration went into
m2's lifecycle and I sincerely doubt it could be easily replicated.

> That said I would  
> prefer not to have to. I suppose I'm looking for reassurance as to  
> why Maven is the way to go because there seems to be considerable  
> overlap with Ivy.

Maven and Ivy are not really comparable. Apples and Oranges. Ivy simply
does dependency management and nothing else.

> ****************************************
> 
> I realize that I am being very selfish here, but I have to think very  
> carefully about what I invest my time in. Maven has all the hallmarks  
> of being that software that I felt was missing during my career,  
> which is why I care enough about it to spare the time for these  
> critisisms. I just want to be sure it has a chance of gaining  
> critical mass.

Everyone's time is important and deciding what to spend your time on is
critical. We know that Maven has some shortcomings (just look at our
JIRA!) but issues are being fixed at a breakneck pace. We think that
with the release of 2.0 we're going to have something pretty good. 

> Maybe the gatekeeper/guardian of this project needs to write some  
> sort of Jerry Maguire style memo that says what Maven's purpose is  
> and plans are so that we can all keep focused on that.

What kind of demo do you suggest? I've never seen Jerry Maguire :-)

> Maybe my views aren't representative of a large enough demographic in  
> which case this email will just slip away into obscurity, but either  
> way thanks for reading and please don't take it as a troll

Lots of folks have talked about the things you're talking about here.
Everyone once in a while I respond just to refresh in my own mind why
the project was started. It takes a while to get accustom to the way
Maven works and what its goals are. In a nutshell Maven is an attempt to
apply patterns to a build infrastructure in order to make things easier
for everyone involved in Java (more languages later) software
development.

> -AW
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
-- 
jvz.

Jason van Zyl
jason at maven.org
http://maven.apache.org

Our achievements speak for themselves. What we have to keep track
of are our failures, discouragements and doubts. We tend to forget
the past difficulties, the many false starts, and the painful
groping. We see our past achievements as the end result of a
clean forward thrust, and our present difficulties as
signs of decline and decay.

 -- Eric Hoffer, Reflections on the Human Condition


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

Reply via email to