Nexus has a REST api:

http://blog.sonatype.com/2012/07/learning-the-nexus-rest-api-read-the-docs-or-fire-up-a-browser/#.Va8oFhOqpBc

It allows deleting files and folders, it will even reconstruct the
metadata. I've done a few CURL to delete file on the past.

Anyway, maven provides an offline mode, if the problem is only testing if
it's not getting dependencies from outside the reactor. Or you can use
versions:set and set something completely arbitrary

Other option is not deploy snapshots at all.
http://developer-blog.cloudbees.com/2012/12/should-you-deploy-snapshots.html
Or deploy to a repo that your CI won't fetch.

But no, it's not really a common need. Deleting non-unique and released
snapshots is the mainstream feature, and that's all I've seen being used.



On 22 July 2015 at 15:11, David Hoffer <dhoff...@gmail.com> wrote:

> Apparently our communication has broken down, it seems your not
> understanding the issue/question.
>
> I did find that Nexus does have an API we can use for this...I sure wish
> there was a more 'packaged' solution but I've discussed it with our IT
> department and between us I think we can solve this issue using that
> approach.  If anyone knows of a better solution please let me know.
>
> -Dave
>
> On Tue, Jul 21, 2015 at 10:32 PM, Ron Wheeler <
> rwhee...@artifact-software.com> wrote:
>
> > If you have SNAPSHOTs specified, you will get SNAPSHOTs in the build.
> > When you remove the SNAPSHOT from the parent, there should not be any way
> > for a SNAPSHOT to be included.
> >
> >
> > I am not sure where the SNAPSHOTS are being brought in to a x.x.x release
> > unless you are allowing modules to specify the versions of their
> > dependencies.
> > Stop that.
> > Modules should have no versions on an dependency unless it is a reference
> > to a property in the parent.
> > Modules should have no references to a version on a dependency that is
> one
> > of the modules that your wrote - <version>${project.version}</version>
> >
> > Ron
> >
> >
> > On 21/07/2015 11:40 PM, David Hoffer wrote:
> >
> >> I didn't say x.x.x is the only version in the parent.  I said it is a
> >> SNAPSHOT.  The version varies (of course) but in my prior example I said
> >> it
> >> was 1.0-SNAPSHOT.
> >>
> >> -Dave
> >>
> >> On Tue, Jul 21, 2015 at 9:36 PM, Ron Wheeler <
> >> rwhee...@artifact-software.com
> >>
> >>> wrote:
> >>> Where are the possible SNAPSHOT versions creeping into the build if
> x.x.x
> >>> is the only versions in your parent and the dependencies do not have
> any
> >>> versions (as I suggested).
> >>>
> >>> Ron
> >>>
> >>>
> >>> On 21/07/2015 10:54 PM, David Hoffer wrote:
> >>>
> >>>  Yes we use one version for all modules...comes from top level.  What I
> >>>> mean
> >>>> is this is a non-release build so by maven definition is a snapshot.
> >>>> E.g.
> >>>> x.x.x is built only once at release, x.x.x-SNAPSHOT is built on every
> CI
> >>>> build.
> >>>>
> >>>> -Dave
> >>>>
> >>>> On Tue, Jul 21, 2015 at 8:38 PM, Ron Wheeler <
> >>>> rwhee...@artifact-software.com
> >>>>
> >>>>  wrote:
> >>>>> On 21/07/2015 5:53 PM, David Hoffer wrote:
> >>>>>
> >>>>>   I'm not sure I understand your reply.  We use dependency management
> >>>>> to
> >>>>>
> >>>>>> specify versions (for both external & project dependencies), however
> >>>>>> that's
> >>>>>> not the issue, we have no problem specifying the version to use for
> >>>>>> both
> >>>>>> of
> >>>>>> those.  What is only in view here are the multi-module project
> >>>>>> dependencies
> >>>>>> and by definition they are all SNAPSHOTS as we have not released
> yet.
> >>>>>>
> >>>>>>   What do you mean "by definition"?
> >>>>>>
> >>>>> If the modules use the parent version as their version, they will be
> >>>>> SNAPSHOTS or releases depending on the parent pom having a version of
> >>>>> x.x.x-SNAPSHOT or x.x.x.
> >>>>> i.e. the module version is missing so that the parent's version is
> the
> >>>>> version of the module.
> >>>>> Any dependency in another module that is part of the project is set
> to
> >>>>> <version>${project.version}</version>
> >>>>>            <dependency>
> >>>>>               <groupId>com.example</groupId>
> >>>>>               <artifactId>anything-core</artifactId>
> >>>>>               <version>${project.version}</version>
> >>>>>               <scope>provided</scope>
> >>>>>           </dependency>
> >>>>>
> >>>>> Ron
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>   Let me give an example that might help.  The multi-module project
> is
> >>>>>
> >>>>>> large
> >>>>>> and is growing...you start out with these modules (all the versions
> >>>>>> are
> >>>>>> 1.0-SNAPSHOT).
> >>>>>>
> >>>>>> groupId=com.mycompany.myproject
> >>>>>> artifactId=artifactA, artifactB, artifactC, artifact1, artifact2,
> >>>>>> artifact3
> >>>>>>
> >>>>>> This has been building with your CI system for 1 month when you
> >>>>>> realize
> >>>>>> you
> >>>>>> really want these modules.
> >>>>>>
> >>>>>> groupId=com.mycompany.myproject
> >>>>>> artifactId=app-parent
> >>>>>>
> >>>>>> groupId=com.mycompany.myproject.service
> >>>>>> artifactId=artifactA, artifactB, artifactC
> >>>>>>
> >>>>>> groupId=com.mycompany.myproject.transform
> >>>>>> artifactId=artifact1, artifact2, artifact3
> >>>>>>
> >>>>>> This too builds fine, however in reality somewhere in this new build
> >>>>>> is
> >>>>>> a
> >>>>>> reference to
> com.mycompany.myproject:artifactA:1.0-SNAPSHOT...perhaps
> >>>>>> for
> >>>>>> an unpack goal.  The build is fine as Nexus will always have this
> >>>>>> artifact
> >>>>>> although it was removed from the build during the refactor.
> >>>>>>
> >>>>>> We want to purge all com.mycompany.myproject.* snapshots from Nexus
> so
> >>>>>> the
> >>>>>> CI build will fail until the build is correct.
> >>>>>>
> >>>>>> -Dave
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Tue, Jul 21, 2015 at 3:20 PM, Ron Wheeler <
> >>>>>> rwhee...@artifact-software.com
> >>>>>>
> >>>>>>   wrote:
> >>>>>>
> >>>>>>> Using the parent pom to specify the versions of dependencies solves
> >>>>>>> this
> >>>>>>> problem for most people.
> >>>>>>>
> >>>>>>> If there are no SNAPSHOTS in the parent's properties and the parent
> >>>>>>> poms
> >>>>>>> version is not a SNAPSHOT, then your project is not being built
> with
> >>>>>>> SNAPSHOTS.
> >>>>>>>
> >>>>>>> We never worry about the SNAPSHOTs in the repo.
> >>>>>>>
> >>>>>>> Ron
> >>>>>>>
> >>>>>>>
> >>>>>>> On 21/07/2015 2:42 PM, David Hoffer wrote:
> >>>>>>>
> >>>>>>>    Yeah it appears our IT group is right...Nexus doesn't have a
> >>>>>>> UI/feature
> >>>>>>>
> >>>>>>>  to
> >>>>>>>> do what we want.  What other options are there?
> >>>>>>>>
> >>>>>>>> This would seem a common need, major project does a refactor of
> >>>>>>>> Maven
> >>>>>>>> GA
> >>>>>>>> and want to delete all SNAPSHOTS used by the project to verify the
> >>>>>>>> refactor
> >>>>>>>> is 100% complete.  We have had too many cases where the build is
> >>>>>>>> still
> >>>>>>>> pointing to an old artifact that isn't part of the build anymore
> yet
> >>>>>>>> the
> >>>>>>>> build is happy because old artifacts are still in Nexus.
> >>>>>>>>
> >>>>>>>> -Dave
> >>>>>>>>
> >>>>>>>> On Tue, Jul 21, 2015 at 12:36 PM, Karl Heinz Marbaise <
> >>>>>>>> khmarba...@gmx.de>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>     Hi David,
> >>>>>>>>
> >>>>>>>>   On 7/21/15 6:03 PM, David Hoffer wrote:
> >>>>>>>>
> >>>>>>>>>     We use Nexus as our corporate Maven repository and would like
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>>   periodically delete certain SNAPSHOT artifacts.  We need to be
> >>>>>>>>> able
> >>>>>>>>>
> >>>>>>>>>> to
> >>>>>>>>>> filter/select by groupId and by version...so delete all where
> >>>>>>>>>> groupId=com.mycomp.mygroupid.* and version=X.SNAPSHOT.
> >>>>>>>>>>
> >>>>>>>>>>     You can only delete all kind of SNAPSHOT's in Nexus based
> on a
> >>>>>>>>>> time
> >>>>>>>>>>
> >>>>>>>>>>   frame
> >>>>>>>>>>
> >>>>>>>>> for example delete all SNAPSHOT's which are older than 30 days
> >>>>>>>>> etc..
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>     Our use case is that when we refactor part of the build to
> use
> >>>>>>>>> new
> >>>>>>>>>
> >>>>>>>>>   groupIds
> >>>>>>>>>
> >>>>>>>>>> the old ones are not valid anymore however sometimes there is a
> >>>>>>>>>> lingering
> >>>>>>>>>> reference to the old groupId, if we can delete all the old
> >>>>>>>>>> SNAPSHOTS
> >>>>>>>>>> we
> >>>>>>>>>> could find those errors now instead of when we release.
> >>>>>>>>>>
> >>>>>>>>>> Any ideas on how to do this are much appreciated.
> >>>>>>>>>>
> >>>>>>>>>> -Dave
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>     Kind regards
> >>>>>>>>>>
> >>>>>>>>>>   Karl Heinz Marbaise
> >>>>>>>>>>
> >>>>>>>>>
> > --
> > Ron Wheeler
> > President
> > Artifact Software Inc
> > email: rwhee...@artifact-software.com
> > skype: ronaldmwheeler
> > phone: 866-970-2435, ext 102
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> > For additional commands, e-mail: users-h...@maven.apache.org
> >
> >
>



-- 
-------
Sent from TARDIS. Typos might be a timey whyney thingy.
Enviado da TARDIS, podem existir erros devido à diferenças de espaço-tempo.

Cintia Del Rio

Reply via email to