Hi Ander that makes sense
now i only have <mirrors> <mirror> <id>product-repo</id> <mirrorOf>*,!plugin-central</mirrorOf> <name>Internal Maven Repository Manager</name> <url>http://repos.xxx.com:8081/nexus/content/groups/public</url> </mirror> </mirrors> Also, do i need to redefine 'central' it looks redundant to me Thanks -D On Mon, May 26, 2014 at 10:34 PM, Anders Hammar <and...@hammar.net> wrote: > For my solution on this topic I didn't declare a mirror for > 'plugin-central', i.e. I didn't have the 'plugin-repo' mirror declaration. > I does not add anything as it is only a mirror for one repo. > > /Anders > > > On Sun, May 25, 2014 at 3:00 AM, Dan Tran <dant...@gmail.com> wrote: > > > I got some thing working > > > > 1. at my repo manager, create a proxy, called plugin-central, to host > > another central.maven.org/maven2 > > 2. reconfigure my global settings.xml with the following contents. Please > > help to review this content > > > > <mirrors> > > <mirror> > > <id>product-repo</id> > > <mirrorOf>*,!plugin-central</mirrorOf> > > <name>Internal Maven Repository Manager</name> > > <url>http://repos.xxx.com:8081/nexus/content/groups/public</url> > > </mirror> > > <mirror> > > <id>plugin-repo</id> > > <mirrorOf>plugin-central</mirrorOf> > > <name>Internal Maven Repository Manager for plugin and its > transitive > > dependencies</name> > > <url>http://repos.xxxx.com:8081/nexus/content/groups/plugin-public > > </url> > > </mirror> > > </mirrors> > > > > <profiles> > > <profile> > > <id>redefine-default-repositories</id> > > <repositories> > > <repository> > > <!-- do we really need this?? since it is mirrored any way --> > > <id>central</id> > > <url>http://central</url> > > <releases><enabled>true</enabled></releases> > > <snapshots><enabled>true</enabled></snapshots> > > </repository> > > </repositories> > > <pluginRepositories> > > <!-- this allow use to separate product and plugin dependencies > > into separate mirrors/proxy --> > > <pluginRepository> > > <id>plugin-central</id> <!--must be first in list --> > > <url>http://central</url> > > <releases><enabled>true</enabled></releases> > > <snapshots><enabled>true</enabled></snapshots> > > </pluginRepository> > > <!-- plugin download should never get here since 'central' > already > > cover by another proxy in plugin-central mirror--> > > <pluginRepository> > > <id>central</id> > > <url>http://central</url> > > <releases><enabled>true</enabled></releases> > > <snapshots><enabled>true</enabled></snapshots> > > </pluginRepository> > > </pluginRepositories> > > </profile> > > </profiles> > > > > <activeProfiles> > > <activeProfile>redefine-default-repositories</activeProfile> > > </activeProfiles> > > > > > > Thank you every one for participate in this discussion, specially Anders > > for leading to this solution > > > > > > If you have anything you want to add please chime in > > > > > > -Dan > > > > > > > > On Sat, May 24, 2014 at 1:19 AM, Anders Hammar <and...@hammar.net> > wrote: > > > > > It will if you use the same id, ie 'central'. > > > > > > /Anders (mobile) > > > Den 24 maj 2014 09:36 skrev "Dan Tran" <dant...@gmail.com>: > > > > > > > Anders' suggestion sounds very logical > > > > > > > > however, i found this at super pom > > > > > > > > <repositories> > > > > <repository> > > > > <id>central</id> > > > > <name>Central Repository</name> > > > > <url>http://repo.maven.apache.org/maven2</url> > > > > <layout>default</layout> > > > > <snapshots> > > > > <enabled>false</enabled> > > > > </snapshots> > > > > </repository> > > > > </repositories> > > > > > > > > <pluginRepositories> > > > > <pluginRepository> > > > > <id>central</id> > > > > <name>Central Repository</name> > > > > <url>http://repo.maven.apache.org/maven2</url> > > > > <layout>default</layout> > > > > <snapshots> > > > > <enabled>false</enabled> > > > > </snapshots> > > > > <releases> > > > > <updatePolicy>never</updatePolicy> > > > > </releases> > > > > </pluginRepository> > > > > </pluginRepositories> > > > > > > > > Is there a way to disable/clear out the super pom pluginRepositories? > > > > If I add my own pluginRepositories, will it override the super pom > > > > one? > > > > > > > > > > > > Thanks > > > > > > > > Dan > > > > > > > > > > > > > > > > > > > > On Tue, May 6, 2014 at 6:20 AM, Barrie Treloar <baerr...@gmail.com> > > > wrote: > > > > > > > > > On 6 May 2014 20:23, Anders Hammar <and...@hammar.net> wrote: > > > > > > > > > > > > > > > > > > > Presumably you are trying to separate artifacts used by plugins > > > > during > > > > > > > your build (where you might use e.g. GPL licensed modules) from > > > > > artifacts > > > > > > > used as dependencies in your project proper (where using that > > same > > > > GPL > > > > > > > licensed modules would make your legal department scream) by > > > > separating > > > > > > the > > > > > > > repositories used to provide them. > > > > > > > > > > > > > > As far as I know/understand all artifacts are downloaded to the > > > same > > > > > > local > > > > > > > cache repository (~/.m2/repository), regardless of whether they > > > were > > > > > > > required by some plugin or as a dependency of your project. > > > > > > > > > > > > > > This makes them available for both purposes and thus > obliterates > > > all > > > > > your > > > > > > > efforts of keeping them separate. > > > > > > > > > > > > > > Maven Masters: Please correct me if I'm wrong. > > > > > > > > > > > > > > > > > > > I don't think this is correct with Maven 3. Maven 3 uses Aether > > which > > > > > AFAIK > > > > > > keeps the repository id for the artifact to verify from where it > > was > > > > > > downloaded. Haven't verified for this use case though. > > > > > > > > > > > > So, using Maven 3 it should be possible to specify one repository > > > > > > declaration for your deps and one pluginRepository declaration > > (with > > > a > > > > > > different repo id) for your plugins (incl deps). If you msut use > > > mirror > > > > > > declarations, I would use this for the deps and add exclusions > > (using > > > > > '!') > > > > > > for any pluginRepository. > > > > > > > > > > > > /Anders > > > > > > > > > > > > > > > I don't remember what happens for duplicates. > > > > > I think it used to complain that the artifact doesn't exist (if the > > one > > > > it > > > > > downloaded from is not available, even though its available > > elsewhere). > > > > > > > > > > The GPL example isn't a good one, as the output of running GPL is > not > > > GPL > > > > > itself. > > > > > > > > > > I think Nexus allows you to restrict things by licence so that you > > can > > > > > curate what is available in your repository manager. You'd have to > > look > > > > at > > > > > the docs to find out. > > > > > > > > > > > > > > >