On 16 Feb 07, at 4:48 PM 16 Feb 07, Eric Brown wrote:
Hi Jason,
On Feb 16, 2007, at 5:27 AM, Jason van Zyl wrote:
On 16 Feb 07, at 1:12 AM 16 Feb 07, Eric Brown wrote:
My project's decided to continue using maven and patch it as
necessary to fix bugs in maven that we're no longer willing to
live with. I tried for an hour or two to get my project to build
under 2.1, but gave up and figured it was under too much active
development anyway. What is the time frame for 2.1 anyway? (3-
months, 6-months, 2-years?)
It has actually been working just fine other then a problem
introduced a few days ago which I haven't fixed yet. Wagon
extensions don't work but other then that several of us have been
using it and it's being used in production at a client of mine and
is also working fine there.
Oh. I probably hit that. I only tried on Tuesday or Wednesday. And
it seemed like some issue downloading something... If there's an
issue I can watch to know when to try again, let me know.
But if the focus is on 2.0.6 for a while, I'm still not precisely
sure which version to work with. It is not just 5 or 6 maven
issues, I've got a few plugins whose bugs screw us up too... that I
need to work on. And I've only got so much time (unfortunately)...
Join the club :-)
But I'm noticing that several of the bugs I have to patch in
2.0.5 are actually scheduled for 2.1 and some discuss
architectural issues of maven that I'm not quite familiar with
yet. Thus my question...
These are the bugs I'm in the process of patching (on my
project's fork of 2.0.5):
MNG-1994 Execution order of child plugins is arbitrary if
inheritance is involved. (Somebody should close this. It is fixed
in 2.0.5.)
Someone just mentioned that this wasn't fixed on the list
yesterday, if there is no test project then it's not confirmed.
I see a message on 2/15, but it refers to MNG-2784 which I think is
a different issue. (Though I suspect that the patch in MNG-1412
might fix it.) Maybe it is a different message you're referring to...
If there is a person reporting MNG-1994 is still broken, they
should write a test. If I do discover in my own projects that it is
still broken, however, I will eat the words I put in the comment
about it being fixed in r425921 and immediately write a test. :)
(Maybe making it brain-dead simple for people on maven-users to
write tests would help?)
MNG-1412 Dependency sorting in classpath. I updated the patch for
this already.
Does it have tests?
Are there architecture documents to describe what is going on in
the maven-project, maven-artifact and maven-artifact-manager
components? Or even a few more javadocs and/or package level
documentation? I know we're all hard-up for time to write code,
write docs, etc for the projects we love to use, but while it is
fairly easy to see what individual classes are doing, the big
picture is hard to see. And this bug involves passing a lot of
stuff around inside components and between them. I'm struggling to
understand sometimes...
I don't think this is something you're easily going to get into and
it will just involve reading the code. We have been chatting that we
are going to refactor some of the larger classes and I doubt it would
be a good use of your time unless because we are just going to start
fixing.
The patch in MNG-1412 simply converts HashMap to LinkedHashMap and
HashSet to LinkedHashSet in a few places where it seemed ordering
made sense but was being trashed. I actually think it does more
than it needs to do to fix this specific issue.
I'll look toward writing tests... but I'd rather work initially
toward fixing the bugs in my fork (and submitting patches) instead
of writing tests and waiting for someone else to fix the issues on
their schedule.
If you create tests in the form of the example I provided and they
work we will be able to absorb the much easier. Basically when we get
a big garble of comments and patches by several people a lot of the
times it's like starting from scratch and lot of times we take ideas
and just recode a good chunk of it.
Almost 1-year between 2.0.4 and 2.0.5 has created a trust issue on
my team that has its own set of work to do.
Fair enough, but that's life in open source. Many things happened
over the course of the year and none of us are anyone's personal
support desk. We do our best but you get what you get and we make no
apologies.
I'll try to write tests too time permitting, but more developer-
level documentation (especially architecture level) from the maven
team would be wonderful too. If it already exists, point me toward
it...
We barely have good enough user-level documentation but we are going
to try and spec things out more consistently for 2.1 so that we can
write developer level documentation. For example we have no real spec
for inheritance/interpolation behavior, none for artifact management
and the code is really the spec which is something I would like to
change for 2.1.
BTW, I don't mean to be too harsh on maven. I realize it is open
source. We're sticking with it despite seriously considering
migrating to ant or gant.
After many years of doing this there really isn't any you could say
that would ruffle my feathers. I have a very thick skin. I have
always advocated that if you have a more effective way of doing
something for your team then by all means. Maven is not a panacea. I
just like to think it will be at some point in the future.
Jason.
Cheers,
Eric
---------------------------------------------------------------------
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]