Affects Version/s: 2.7.2
Fix Version/s: None
Add build promotion repository recursive drop support. The use case flows around CI integration after a testsuite could declare the contents of a promotion repository invalid. Rather than having a CI build request members and perform a scripted recursive drop themselves, it would be a benefit if a single call could be made and let Nexus figure it all out internally.
Given one or staging repositories are promoted to a single promotion repo
or given a promotion repo is promoted to another promotion repo
When the highest order closed promotion repo is dropped
and a recursive drop option is specified
Then recursively mark all member repos and specified container repo as transitioning
and recursively drop all member repos until all are dropped.
In this way, a CI build can specify a single promotion repo and have it's contents completely dropped should some CI job declare the contents do not pass requirements.
Implement staging promotion repository recursive drop option such that invoking the action will drop a promotion repository, then all of it's members.
- drop is expected to be async
- all members should be marked transitioning before drops begin?
- take into account permissions
- if members include other promotion repos, then process these as well
- should be a setting in nexus-staging-maven-plugin:rc-drop goal and Ant task to recursively drop a build promotion
- if a specific drop of a member fails, should this stop the recursive drop?
- choose appropriate http status code if recursive drop fails - is this easy to do?
- UI should also have option to recursively drop
There are probably other edge cases to think about here.