geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <>
Subject Re: Extension to install custom proxy muck in Maven?
Date Fri, 23 Feb 2007 21:37:37 GMT
Yes... dang it!  ;-)


On Feb 23, 2007, at 6:05 AM, Sachin Patel wrote:

> Did you intend for this to go to the geronimo or maven list?
> -sachin
> On Feb 23, 2007, at 4:47 AM, Jason Dillon wrote:
>> Is it possible to install a Maven extension which can configure  
>> Maven's proxy handling?
>> I'm wondering if with little work, that it might be possible to  
>> create some kinda of plugin to Maven, which would embed a simply  
>> proxy server (kinda like DSMP) directly into Maven, and then  
>> configure Maven to use that server as a proxy.
>> I really need a way to control what repos our projects use, and  
>> since we use artifacts which list other repos, there is no easy  
>> way (that I know of) to limit this behavior except for configuring  
>> a proxy and putting the controls in the proxy process.
>> The problem with this technique is that it...
>> a) requires users' to configure maven to use the proxy
>> b) requires users to start a proxy process and/or point at a  
>> remote server, in which case you need a remote server and  
>> bandwidth to effectively use.
>> Both of these end up becoming blockers to actually making this a  
>> reality.  But, Maven is a Plexus application, and its easy enough  
>> to write a Plexus component which implements this proxy, so why  
>> not have the one Maven process boot up the proxy, and then  
>> configure Maven to use that proxy?  This seems to me the best way,  
>> short of major changes to Maven, to get real concrete control over  
>> how Maven uses remote repositories.
>> For the case at hand, what I really want is to, no matter what  
>> repos are configured (by the project or by dependencies of the  
>> project), only grab artifacts from one repository... and to help  
>> populate/maintain that repository, flip a switch on the proxy  
>> component to all it to pass-through to all configure urls for  
>> artifacts.
>> There are a few other use cases I can think of... I'd like to  
>> install a listener into the proxy component which will simply  
>> catalog all artifact requests and at the end of a build simply  
>> dump a list of all artifacts which were used.  Another, is that  
>> for some automated builds, I need to keep the "cache" of artifacts  
>> separate from the set of artifacts which are actually used by a  
>> project.  This isn't' really possible now, but with a proxy layer,  
>> I can easily separate cached artifacts from artifacts used in a  
>> project.
>>  * * *
>> Anyways... I really think that having this extra proxy component  
>> in the Maven process would be a massive help to solve some of the  
>> more complicated repository issues which we (Geronimo) are facing  
>> with using Maven.  I think that if I could get a proxy component  
>> into the Maven bootstrap, and provide some ability for the project  
>> to configure it, that it would really help improve the quality of  
>> our builds with Maven.
>> I also don't think its that difficult to implement... the major  
>> issue is... how does one install such a bootstrap component into  
>> Maven?  Is it possible?  Or does one need to provide a separate  
>> assembly with extra libs and extra components.xml or something  
>> along those lines?
>> --jason

View raw message