On 20-Mar-08, at 11:16 PM, Jason Chaffee wrote:

So, I thought I would share something positive too.  :)

I would consider my company a maven success story. In my time here, we moved from no build system or perl scripts, to ant, to maven 1, and now to maven 2. In my opinion, and the opinion of the people that were here
during these transitions feel it has improved our productivity and
removed a need for a so-called "build engineer".

I have been the lead for the progression as well, so I spend a lot of
time with conversion process, figuring out the issues and implementing
the solutions.  So, more often than not, I do not have the same issues
that other developers have in my company. However, I am the "first line
of defense" when something does go wrong so I do hear about the issues
more than most people as I am expected to either solve the issues or
communicate them back maven dev.

I do think there are ways we use maven, that the maven team didn't
account for and that can get us into trouble sometimes, this includes
the number of projects in the hierarchy and the depth of that hierarchy. The deeper we make the more issues we encounter. I spend a lot of time
"refactoring" our poms and maven usage to make work better and I can
honestly say that we have come a long way and made great strides.

As for the "ground swell", I was careful in my wording as I wanted to
make a point that it was picking up traction, but I am not sure how big
it really has gotten. I am seeing more and more blogs about maven
shortcomings,

I actually think this is due to the large number of people using it and finding things we didn't account for. We certainly didn't get everything right, but we will make another leap forward with the next major release of Maven. This is a essentially the re-implementation of some key pieces in Maven and providing more internal instrumentation and eventing for embedder. Especially IDE use. There are a few key changes that will make life with Maven a lot simpler. We know this as Maven went broad to cover many problems, and we didn't go deep enough in many places and the community is not ever really going to go in there and fix a lot of the deeper issues and those problems will be ours to resolve.

I have attended some conferences where well respected
Architects in the industry have made various negative statements about
maven, and I have been involved in other open-source projects that have
tried to compensate for maven short comings in their product, so this
causes people involved with that project to make disparaging remarks
about maven too.


Sure, but I've heard well respected architect make disparaging remarks about all sorts of things. Maven just happens to be at the bottom of the food chain, and it's an opinionated piece of software, people often come at it from the wrong angle and get themselves into trouble. This is most often from architect type people who could roll their own build system in an afternoon and really want total and free control to do what they want. This is not to excuse some of the inconsistencies and varying quality of some of what are suppose to be our core plugins. Many of these problems will be greatly alleviated by what changes went into our super-POM to lock down versions for people.
-
When I have time, I will try to write up a more comprehensive case study of our maven use and how we migrated, etc. What worked, what was good,
what didn't work, and what was bad.

That would be interesting as for me it generally boils down to 2-3 issues in the core of Maven that can really harpoon you, and a handful of flaky plugins, and the interaction of these flaky plugins that make you want to chew off your own fingers. I know how to work around everything but that doesn't help the typical user which I'm aware of. I really think it's a function of so many people trying to use Maven that we get these stories and the next step in the evolution of Maven is to incorporate this into a dedicated effort to fix the few core issues and create a rock solid set of plugins which make up the default lifecycle. This will happen.






-----Original Message-----
From: Jason van Zyl [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 5:28 PM
To: Maven Users List
Subject: Re: surefire and testng integration issues with surefire-2.4.2


On 20-Mar-08, at 3:39 PM, Jason Chaffee wrote:

Jason van Zyl,

First, let me apologize for the tone of my emails and to anyone I
offended.

I doubt you offended anyone. We're used to it. I sit with clients most
days so I'm fully aware of what's wrong and know people are frustrated.

That was never my intent.  I let my frustration, and the fact
that I am on morphine (from a motorcycle accident) get the best of my
diplomatic writing skills.  :)


We have thick skins, it's not a problem really. I don't get upset and
I don't think anyone else did either.

I would like to add that my wording may stem from the frustration I
see
everyday.  I have been the strongest advocate for maven at my
company so
when people have maven problems, I typically take the blame and it
does
cause my performance reviews to be affected because people feel like
my
advocating of maven has hindered their ability to effectively do their
jobs due to time spent debugging maven instead of our code.

This absolutely can happen, but it is almost always a certain set of
conditions which exacerbate an adoption of Maven. I'm always
interested in collecting the stories, and 9 times out of 10 it's the
same set of conditions which result in a failure to adopt Maven. We do
have many success stories as well, but no one really talks much about
that.

I am going to say this and I don't want anyone to take it personally
or
think of it as an attack, in case it comes across that way, that is
not
my intention.


I didn't take it that way. Just pointing out a more practical way to
get your problem solved.

        I work in an open environment where I can see and hear just
about   everything that is said by our developers.  Daily, I
hear
people
cursing maven and making statements such as "I hate maven", etc.
        It reminds me of the many Windows rants you used to hear in the
        work place on a regular basis due to Windows freezing or the
        blue screen of death.


Again, I would be interested in knowing under what conditions you have
made your developers use Maven. What conditions they first had to use
Maven under, did anyone actually show them how it's supposed to work
first, etc. If you made them try to convert and Ant build as their
first project then that almost always results in failure.

I have done my best to defend and even improve maven both for my
company
and the community. At some point though, I have look up and say, "why
am I seeing they same type of problems on an ongoing basis?"  Things
breaking in new versions, things not being fixed for more than a year
despite clamoring for it by the community, etc.  That is the place
from
which my email stemmed, because I am bombarded daily about maven
complaints.


I am too in given environments. I have lots of clients who have
problem, some of which never get passed the assessment phase. But we
do have more cases where things worked given it was introduced
correctly, people saw it coming and it wasn't shoved down developers'
throats and didn't just expect it to be a replacement for a procedural
system.

I was careful not to call out anyone individually because I feel
everyone does do a good job and works hard.  I just felt it was time
for
some "harsh criticism" to make it back to the group for a couple of
reasons 1) awareness, it can't be corrected if there isn't awareness
and
2) I think sometimes that making people aware of things in this way,
it
can provide a so called wake-up call.

I get harsh criticism all the time, it's not like I'm sitting at home
working on this stuff. I am almost always with clients and I get the
story about plugins, repository managers, eclipse integration, the
release plugin, weirdness with snapshots, documentation and whatever
else. I don't think there is anyone more acutely aware of the
potential problems.



I appreciate everyone that has worked on maven and I am still a
supporter. I just want people to be aware that that there is a ground
swell out there that considers maven to be a "build tool from hell",
this a quote I have heard from managers within my company.

I've heard that about every build system I have ever encountered. So
that's not terribly surprising and you'll see that even diatribes like
Howard's on InfoQ results in an equal number of people not having
problems and liking it.

Also, I
mentioned ASF not because Maven makes ASF bad or vice versa, but when
one project starts gathering a ground swell, it can make the parent
(ASF) look bad simply based on association. This has been the case at
least with a couple of people in my company and again, I have to
defend
it.

Not sure how many people you have actually talked to in order to
arrive at "ground swell" but the dissatisfied generally make more
noise. I'm not discounting your problems, and I would actually like to
know what they are really, but I have seen many happy users, and I
have many happy clients. I also doubt any intelligent person will
throw the baby out with the bath water in assume that one bad project
here makes a bad organization.



While it may appear that I am attacking maven and/or ASF, I am really
trying to inform you of what I am seeing out in the "real world" and I
do think the negative views are becoming harder and harder to
debunk, at
least that is what I am experiencing.


I too am in the "real world" on a daily basis, and really the most
severe problem we have is documentation as people tend to go down
rabbit holes. In this regard Tim O'Brien is working pretty hard to
create a free book to keep people from going down the rat holes. I am
also setting a small grid which start a week ago with Hudson running
on a machine to start running CI more consistently and this will also
help. There's also been a ton of work in Archetype, Eclipse
integration, and we're about to release 2.0.9. Dan also did a ton of
work on Surefire and it is most certainly better. Yes there were a
couple gotchas but he poured a lot of time over Surefire and closed
out a huge number of issues. So we're not sitting on our laurels.

So, I hope that this dialogue will only help the Maven team think of
these things as they make decisions because sometimes doing
something in
only a slightly different manner or communicating in a slightly
different manner can change the perception and thus remove some of the
negative thoughts people currently have about maven.


That's a fair assessment, and the truth is the majority of the things
we do we don't communicate well. As shown by our website which
honestly doesn't leave many with a great impression. So I can only
agree with you there.

I apologize for not writing something like this in the first place and
instead writing something that seems to be laced with venom.


I wouldn't characterize your initial email as laced with venom. It was
just if you were looking for a technical answer and we were just
pointing out how to get one.

-----Original Message-----
From: Jason van Zyl [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 12:10 PM
To: Maven Users List
Subject: Re: surefire and testng integration issues with
surefire-2.4.2


On 20-Mar-08, at 10:47 AM, Jason Chaffee wrote:

I am simply glad that it got someone's attention and I feel that in
no
way was the tone of that email blasting anyone, it was informing the
maven community of the perception that is developing around maven and
ASF in the java community and our frustration.  I did not call out
any
one person individually nor did I attack anyone.  Perhaps this is
part
of the problem, the over sensitive response when people do provide
critical feedback.  It feels like there is an instant defense
mechanism
and it just leads fosters the perceptions and frustrations I
mentioned
previously.


Reacting to you floating the notion that the whole project lacks
quality while siting your specific problem with Surefire I believe is
justified. Brian was only making a counter to your implied assertion
that we're not doing anything to improve the quality of the project.

So I would agree that it's not an overt blasting, but it was a subtle
tactic to illicit a response to your particular problem. Brian simply
pointing out that it's not appreciated using an argument of community
discontent to get attention. JIRA, patches, and siting the problem at
hand will also work.

I have been defending maven for a long time, I just have reached a
point
that I feel enough is enough.  If you have to continue to defend
something for what some people perceive as the same mistakes over and
over again, it is time to speak up.


Sure, but the first visible entry point for a dialog should be trying
to work with developers like Dan to work through the problem. Not use
your argument to gain an entry point to the discussion -- though this
seemed to work for you.

Anyway, I will refrain from speaking up again as "I feel" like it
isn't
worth the trouble.


If an exchange of a few emails with Brian where he is trying to show a
better path to get solutions make you feel like it's not worth
communicating further then I would say the overreaction is more on
your part. You made reasonable requests, albeit laden with assertions
irrelevant to getting a solution, and Brian made reasonable responses.
It also looks like people are trying to help you sort out your issues
on the dev list. So don't give up so easily, I think you'll get where
you want get.

-----Original Message-----
From: Brian E. Fox [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 10:30 AM
To: Maven Users List
Subject: RE: surefire and testng integration issues with
surefire-2.4.2

In the meantime, perhaps a Jira would be good so we don't lose the
time
you invested so far.

FYI: We are working hard to stabilize the Maven 2.0.x branch by
increasing the test coverage and IT coverage. We rely on volunteer
effort to help fix these things as they come up. We appreciate the
effort you put in here but blasting the team about instability
doesn't
really help solve anything. We know there are issues and want to fix
them, it's not like we enjoy volunteering to intentionally make
something that annoys you. I've recently done polls to find out the
pain
points for people upgrading and we are addressing those in 2.0.9 and
2.0.10. Hopefully we will start to see some gains in the next
releases.

As far as TestNG support goes, this is still new and I think the
users
are in the minority, so I guess I'm not really surprised that it's
not
perfect yet.

-----Original Message-----
From: Jason Chaffee [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 1:17 PM
To: Maven Users List
Subject: RE: surefire and testng integration issues with
surefire-2.4.2

I will look into creating something as soon as I have time to make
sure
it is well tested.

-----Original Message-----
From: Brian E. Fox [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 10:11 AM
To: Maven Users List
Subject: RE: surefire and testng integration issues with
surefire-2.4.2

We are listening. Can you make a patch for surefire?

-----Original Message-----
From: Jason Chaffee [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 12:57 PM
To: Maven Developers List; Maven Users List
Subject: RE: surefire and testng integration issues with
surefire-2.4.2

Yeah, I have no problem writing my own.  However, if this is to be
expected of TestNG users to get similar output as previous versions
of
surefire, then it should be WELL documented as such.

My issue is that the behavior changed between surefire versions.
This
caused all kinds of confusion for developers at my company, they
needed
the latest version of testng to support some functionality, but they
had
to use the latest surefire to use the latest testng and all of a
sudden
the output completely disappeared. The frustrating part is the maven
developers who worked on surefire claimed it was because of the way
testng worked and that there was nothing they could do about it.
With
very little effort, by reading the TestNG JavaDoc and looking at the
surefire code to see that they simply didn't implement the methods
that
would have kept the behavior the same.

This frustrates me and everyone at my company to no end. Slowly, but
surely Maven and the ASF are being looked at as software lacking in
quality, both within my company and in the Java community as well, as
top respected people in the community (who shall remain nameless in
this
post) "rant" about the errors with maven implementation quite often
and
speak about how the concept is good, but the implementation has been
anything but good and this leads to other conclusions about the way
ASF
and the Maven project are being run as a whole.

This is most unfortunate.

This has turn into a "rant" from me, but I think it is worthwhile to
have the maven developers hear critical feedback from time to tome.

-----Original Message-----
From: P'Simer, Dana (Matrix) [mailto:Dana.P'[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 6:39 AM
To: Maven Users List; Maven Developers List
Subject: RE: surefire and testng integration issues with
surefire-2.4.2

I have recently been dealing with a similar issue.  I wanted Junit
style
reports and did not want to use ant run to run the JunitConverter
task,
so I added reportng as a test scoped dependency and configured a
listener.

As an interim solution, you could write a listener that does what you
want.  It could just be in your src/test/java dir as classes there
will
be available to TestNG when it is running so there is no need to
create
a separate jar, unless you want to.  To configure it you would do
something like this:

...
 <plugin>
   <artifactId>maven-surefire-plugin</artifactId>
   ...
   <configuration>
     ...
     <properties>
       <name>listener</name>
       <value>x.y.z.MyNiftyProgressOutputter</value>
     </properties>
     ...
   </configuration>
   ...
 </plugin>
...

The listener properties's value can be a comma separated list of
classes
so if you have more than one, you can do that.

Good Luck,

Dana H. P'Simer
Dana.P'[EMAIL PROTECTED]

-----Original Message-----
From: Jason Chaffee [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 20, 2008 5:32 AM
To: Maven Developers List
Cc: Maven Users List
Subject: surefire and testng integration issues with surefire-2.4.2

I brought this up in the past the maven guys were adamant that they
were
not able to get per test information to output on the console unless
testng changed.  I felt all along that this was not correct and I
finally had a chance to look into it.  Surefire could simply
register a
listener to get call backs during the execution and could output the
results.  TestNG does support this functionality with the
ITestListener.
For example, onStart() will give the start of running a particular
class
configuration and test methods and onFinish() will be called after
all
of the configuration and test methods have been run.  I took a look
at
the Surefire code and there is a TestNGReporter that does implement
the
ITestListener, but it does not implement these methods, they are all
no-ops.  So, it seems like these could be implemented and then we
could
see progress output on the console.





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


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


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


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


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


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

We know what we are, but know not what we may be.

-- Shakespeare



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


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


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

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]


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


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

We all have problems. How we deal with them is a measure of our worth.

-- Unknown



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

Reply via email to