On Aug 18, 2011, at 9:41 AM, Arnaud Héritier wrote:

>> 
>> 
>> 
>>> Otoh it would require us to go through maven-core and all plugins to
>> change imports. So either way is ok, but we need to know the direction.
>>> 
>> 
>> I wouldn't make client code have to change anything.
>> 
> 
> For any thirdparty lib we are using in core, on Maven APIs
> (org.apache.maven) should be exposed and used by plugins and extensions...
> (or we have a problem ... IMHO)
> 

This has effectively been done with Aether, all but very few of the existing 
Artifact/Repository APIs were broken or removed. That said I think what's more 
important is that anything you choose to expose has a stable API. Aether is 
already available to plugin developers, it allows some very powerful features, 
and I personally don't feel like writing a huge set of wrappers. If someone 
else wants to that's fine, but the notion as someone suggested to cut off 
Aether's availability by blocking its visibility at the classloader level 
serves no real purpose. Even though we had the artifact/repository API people 
still found the need to use Wagon directly. I don't think blocking its use from 
the perspective of  a "purity of API" argument is a valid one.

> Arnaud

Thanks,

Jason

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

A man enjoys his work when he understands the whole and when he
is responsible for the quality of the whole

 -- Christopher Alexander, A Pattern Language



Reply via email to