You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Eric Brown <yo...@gmail.com> on 2007/02/16 07:12:49 UTC

Should I fork off 2.0.5 or 2.1?

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?)

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.)
MNG-1412 Dependency sorting in classpath. I updated the patch for  
this already.
MNG-624  Every module must contain version info.
MNG-2653 Using ${version} for subproject dependencies doesn't work.
MNG-1949 Plugin dependencies in inherited plugins are ignored. John's  
comments a bit confusing to me.
MNG-2823 Too many useless warning messages trying to download  
artifacts from all repositories.

Cheers,
Eric


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: Should I fork off 2.0.5 or 2.1?

Posted by Jason van Zyl <ja...@maven.org>.
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: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: Should I fork off 2.0.5 or 2.1?

Posted by Eric Brown <yo...@gmail.com>.
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)...

>> 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...

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. 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. 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...

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.

Cheers,
Eric


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: Should I fork off 2.0.5 or 2.1?

Posted by Jason van Zyl <ja...@maven.org>.
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.

> 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.

> MNG-1412 Dependency sorting in classpath. I updated the patch for  
> this already.

Does it have tests?

> MNG-624  Every module must contain version info.
> MNG-2653 Using ${version} for subproject dependencies doesn't work.
> MNG-1949 Plugin dependencies in inherited plugins are ignored.  
> John's comments a bit confusing to me.
> MNG-2823 Too many useless warning messages trying to download  
> artifacts from all repositories.
>
> Cheers,
> Eric
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: Should I fork off 2.0.5 or 2.1?

Posted by Eric Brown <yo...@gmail.com>.
Hi Brian,

On Feb 16, 2007, at 6:15 AM, Brian E. Fox wrote:

> Rather than just fork in a permanent direction, why not make the  
> patches
> and integration tests and then get them applied to the project? You'll
> essentially have to do it anyway and then you can build upon the  
> work of
> everyone else.

All patches will be submitted. And I'll try to write tests time  
permitting, etc., but I don't know how long my boss will allow me to  
work on maven... :(

No intention of making the fork permanent, but we were spending more  
time trying to work around maven bugs than we thought it would take  
to actually fix them in the first place even if that meant we'd tell  
our users to use our custom-build of maven.

Cheers,
Eric

> -----Original Message-----
> From: Eric Brown [mailto:yogieric.dev@gmail.com]
> Sent: Friday, February 16, 2007 1:13 AM
> To: Maven Developers List
> Subject: Should I fork off 2.0.5 or 2.1?
>
> 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?)
>
> 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.)
> MNG-1412 Dependency sorting in classpath. I updated the patch for
> this already.
> MNG-624  Every module must contain version info.
> MNG-2653 Using ${version} for subproject dependencies doesn't work.
> MNG-1949 Plugin dependencies in inherited plugins are ignored. John's
> comments a bit confusing to me.
> MNG-2823 Too many useless warning messages trying to download
> artifacts from all repositories.
>
> Cheers,
> Eric
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


RE: Should I fork off 2.0.5 or 2.1?

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
Rather than just fork in a permanent direction, why not make the patches
and integration tests and then get them applied to the project? You'll
essentially have to do it anyway and then you can build upon the work of
everyone else.

-----Original Message-----
From: Eric Brown [mailto:yogieric.dev@gmail.com] 
Sent: Friday, February 16, 2007 1:13 AM
To: Maven Developers List
Subject: Should I fork off 2.0.5 or 2.1?

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?)

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.)
MNG-1412 Dependency sorting in classpath. I updated the patch for  
this already.
MNG-624  Every module must contain version info.
MNG-2653 Using ${version} for subproject dependencies doesn't work.
MNG-1949 Plugin dependencies in inherited plugins are ignored. John's  
comments a bit confusing to me.
MNG-2823 Too many useless warning messages trying to download  
artifacts from all repositories.

Cheers,
Eric


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org