Yes Maven 2.0.x does allow you to configure a mirror for a repo, but that is *not* what I am looking for.

Also, there is no corporate proxy, if I has the luxury of such a proxy for my users then this would not be an issue. The problem is that my users are all of the folks who build Apache Geronimo... and I can't force them all to setup a proxy pointing at some server for all artifacts.

What I need is a way to install/configure a tiny proxy which can follow some simple rules (aka something like DSMP) and have it run automatically *inside* of the Maven JVM w/o the user having to worry about it at all (ie. they still run `mvn install` and it works just the same).

--jason


On Feb 23, 2007, at 2:01 PM, Joakim Erdfelt wrote:

Actually, I believe the current maven 2.0.5 supports setting up a
<mirror> entry like this ....

<mirror>
  <id>corporate.proxy</id>
  <mirrorOf>*</mirrorOf>
  <url>http://my.corporate.proxy/maven/</url>
</mirror>

(typed from memory, parsing errors potential in effect)

This would in effect send all requests to your corporate proxy.

- Joakim

Jason Dillon wrote:
(seems I keep sending these to [EMAIL PROTECTED] instead of [EMAIL PROTECTED])

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to