maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason van Zyl <ja...@tesla.io>
Subject Re: The next major release of Maven: 4.0.0
Date Mon, 04 Mar 2013 01:17:03 GMT
To me I would like to roll in all of it, I think the bump in major version is appropriate but
if we call that 3.1.0 that's fine. It really does work almost the same, there are some plugins
that will get need some rework but that's not the end of the world. To me a plugin that works
in 3.0.x but not in another later versions is a major breakage. We can define it however we
like and call the version whatever we like.

I think the major rub is adopting Aether as the Artifact API we're going to expose. My opinion
is that it already is. It's out there because people ducked around to get at Aether but we
also allowed the RepositorySystem and RepositorySystemSession to be pushed into plugins. Some
people moaned but no one stopped it and that is public plugin API as far as I'm concerned.
With those two classes exposed you have access to all of Aether and that's been sitting there
for 2 years. So the cat is out of the bag and another Artifact API is such a futile value-less
effort given Aether's existence. If someone had jumped up and made the bridge a year ago and
kept in sync with Eclipse Aether that would be different. But as I noted it's hard, time consuming
work. Unless someone commits to do full-time work on this I don't see a bridge, or shim, or
new API being made before I'm elderly.

If we roll the combo of JSR330, SLF4J and Eclipse Aether things will work for most and we
can probably update the rest of the plugins before anyone switches. The code will also be
smaller, the dependency plugins using Aether, for example, would probably shed 2/3 of the
code.

On Mar 3, 2013, at 7:58 PM, Benson Margulies <bimargulies@gmail.com> wrote: 

> On Sun, Mar 3, 2013 at 4:29 PM, Jason van Zyl <jason@tesla.io> wrote:
>> 
>> On Mar 3, 2013, at 5:41 PM, Benson Margulies <bimargulies@gmail.com> wrote:
>> 
>>> As I see it, you are using the version number to communicate with the
>>> tiny number of people who have made plugins that depend on Aether.
>>> 
>> 
>> Any JSR330 discrepancies, SLF4J being used for logging and the Aether changes. 4.0.0
says "we did our best to make everything work, but you may have issues."
>> 
>>> I would rather see us use the version number to communicate with the
>>> vast number of people who use Maven.
>>> 
>> 
>> How do you see this as not communicating with everyone. JSR330, SLF4J, and Eclipse
Aether are not insignificant.
> 
> Let's consider three audiences:
> 
> 1. end users
> 2. most plugin developers
> 3. core devs and the devs of the small inventory of very
> dependency-sensitve plugins
> 
> I think that all of these things you are citing are good things. But I
> think that they are mostly in categories 2 and 3, and in the case of
> Aether, entirely in 3. Thus my view about version numbers. if I'm
> missing something and picking up a new Aether has benefits for
> category 1, great.
> 
> I also want to write now that I'm not on a campaign here. I'd rather
> see all this happen as '4.0.0' than not happen at all, even if my
> preference is as expressed.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder & CTO, Sonatype
Founder,  Apache Maven
http://twitter.com/jvanzyl
---------------------------------------------------------

The modern conservative is engaged in one of man's oldest exercises in moral philosophy; that
is, 
the search for a superior moral justification for selfishness.

 -- John Kenneth Galbraith






Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message