Removing the apache.snapshots repository from your local Rave checkout is
not enough. The Apache snapshots repository can also be configured in the
pom of other Apache projects Rave depends on. You can override repository
locations by their id:
<!-- override apache.snapshots location from other Apache projects with the
MITRE Nexus Snapshots Repository -->
<repository>
<id>apache.snapshots</id>
<name>MITRE Nexus Snapshots Repository</name>
<url>http://ci.mitre.org/nexus/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
This may work unless one of the other projects has used a different id for
the Apache snapshots repository. If you want your custom built
dependencies, it's best to change either the groupId, artifactId or version
of the project/modules you have customised. An artifact should not be "the
right one" based on the repository URL it is downloaded from, but on its
combination of groupId, artifactId, version, packaging and classifier.
Jasha
On 8 August 2013 17:09, Chris Geer <[email protected]> wrote:
> Daniel,
>
> That shouldn't happen. If you've removed the repo from the POM file it
> shouldn't be able to find it. Also, if you setup Nexus as a mirror, all
> requests should go through nexus. Do you have the Apache Snapshots repo
> setup on the Nexus server? If so that would also cause a problem.
>
> Chris
>
>
> On Thu, Aug 8, 2013 at 7:06 AM, Gornstein, Daniel S.
> <[email protected]>wrote:
>
> > Chris,
> >
> > I was wondering if you could describe your approach a bit more.
> >
> > I have tried two things:
> >
> > 1. Removing apache snapshot repository from the master POM file and
> adding
> > our own nexus repository.
> >
> > 2. Leaving the apache snapshot repository in the master POM and setting
> up
> > a mirror in the maven settings, to mirror the apache snapshot repository
> to
> > our nexus repository. [1]
> >
> >
> > For both of the scenarios above:
> >
> > When there is a more recent apache trunk commit, then the last time I
> > deployed to nexus, during the build process I see downloads from both
> > apache repo and nexus repo when downloading sections which are on
> snapshot.
> >
> > I am not sure how this is possible, could it be because the POM files in
> > base rave are still looking at the apache snapshot repo?
> >
> > Thanks in advance,
> > Daniel Gornstein
> >
> >
> > [1] http://maven.apache.org/guides/mini/guide-mirror-settings.html
> >
> > -----Original Message-----
> > From: Chris Geer [mailto:[email protected]]
> > Sent: Wednesday, August 07, 2013 12:55 PM
> > To: dev
> > Subject: Re: Nexus Maven Repo Question
> >
> > That should do it. We do ours a little differently as we use our local
> > Nexus as a proxy for all other nexus servers so I was thinking that
> > approach.
> >
> >
> > On Wed, Aug 7, 2013 at 9:52 AM, Gornstein, Daniel S.
> > <[email protected]>wrote:
> >
> > > Chris,
> > >
> > > In our master POM file of our project we have commented out the apache
> > > snapshots repo and added Nexus:
> > >
> > > <repositories>
> > > <!--
> > > <repository>
> > > <id>apache-snapshots</id>
> > > <name>Apache Software Foundation Snapshots</name>
> > > <url>
> https://repository.apache.org/content/groups/snapshots
> > > </url>
> > > <snapshots>
> > > <enabled>true</enabled>
> > > <updatePolicy>always</updatePolicy>
> > > </snapshots>
> > > </repository>
> > > -->
> > > <repository>
> > > <id>nexus-snapshots</id>
> > > <name>MITRE Nexus Snapshots Repository</name>
> > > <url>
> > http://ci.mitre.org/nexus/content/repositories/snapshots
> > > </url>
> > > <snapshots>
> > > <enabled>true</enabled>
> > > <updatePolicy>always</updatePolicy>
> > > </snapshots>
> > > </repository>
> > > <repository>
> > > <id>EclipseLink</id>
> > > <url>http://download.eclipse.org/rt/eclipselink/maven.repo
> > > </url>
> > > </repository>
> > > </repositories>
> > >
> > > Is this what you mean? Or is there another place I need to remove
> apache
> > > snapshot repo?
> > >
> > > Thanks,
> > > Dan
> > >
> > > -----Original Message-----
> > > From: Chris Geer [mailto:[email protected]]
> > > Sent: Wednesday, August 07, 2013 12:24 PM
> > > To: dev
> > > Subject: Re: Nexus Maven Repo Question
> > >
> > > The only way to do that is not point to the Apache Snapshot repo that I
> > > know of. That's what we do.
> > >
> > > Chris
> > >
> > >
> > > On Wed, Aug 7, 2013 at 9:19 AM, Gornstein, Daniel S.
> > > <[email protected]>wrote:
> > >
> > > > All,
> > > >
> > > > While many of you may not be using Nexus, I thought I would throw out
> > the
> > > > question here see if someone could point me in the right direction.
> > > >
> > > > We are currently using Nexus [1] as a Maven repository to hold the
> > > > revision of rave trunk we want to use as snapshot version.
> > > >
> > > > Since we want some of the features from the current snapshot, but not
> > > all,
> > > > we deploy the version we want to nexus to try and avoid getting the
> > most
> > > up
> > > > to date changes from rave trunk.
> > > >
> > > > This works when I deploy to nexus, more recently than a commit to
> rave
> > > > trunk.
> > > >
> > > > So for example if I push the version I want to nexus, I can mvn clean
> > > > install my project over and over always getting the correct code.
> > > >
> > > > Once there is a push to rave trunk, it seems to start pulling in the
> > > > latest snapshot changes causing errors in my project. It looks like
> it
> > is
> > > > pulling down both from our nexus server and apache snapshot maven
> repo
> > > but
> > > > then using the latest version.
> > > >
> > > > What I want is to always use our nexus repo no matter what.
> > > >
> > > > What I noticed in my .m2 folder is any component of rave which is
> > pulling
> > > > down snapshot has the following file located inside:
> > > > resolver-status.properties
> > > >
> > > > Its contents are as follows:
> > > >
> > > > #NOTE: This is an internal implementation file, its format can be
> > changed
> > > > without prior notice.
> > > > #Wed Aug 07 11:53:24 EDT 2013
> > > > maven-metadata-apache.snapshots.xml.lastUpdated=1375873005173
> > > > maven-metadata-EclipseLink.xml.lastUpdated=1375873004611
> > > > maven-metadata-EclipseLink.xml.error=
> > > > maven-metadata-nexus-snapshots.xml.lastUpdated=1375890804831
> > > >
> > > > What I assume is happening is if apache snapshots have been updated
> > most
> > > > recently it is using those files. This cannot be coming from the
> build
> > of
> > > > our own project, because we completely stripped out the apache
> > snapshots
> > > > repository, but rather, my guess, when base rave is building.
> > > >
> > > > Would anyone know if there is a way to stop getting the latest
> snapshot
> > > > from apaches maven repo and only look at our nexus repo?
> > > >
> > > > Thanks in advance,
> > > > Dan Gornstein
> > > >
> > > >
> > > > [1] http://www.sonatype.org/nexus/
> > > >
> > >
> >
>