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