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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
> wrote:
> >
> > > It will if you use the same id, ie 'central'.
> > >
> > > /Anders (mobile)
> > > Den 24 maj 2014 09:36 skrev "Dan Tran" <[email protected]>:
> > >
> > > > 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 <[email protected]>
> > > wrote:
> > > >
> > > > > On 6 May 2014 20:23, Anders Hammar <[email protected]> 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.
> > > > >
> > > >
> > >
> >
>