Archiva provides extension-points named consumers that offer flexibility for customizing the repo-scanning-process.
Similarly, there is also a need to extend functionality for the deploy-artifact events (release and snapshot) - both using webdav and web-UI.
Specifically, we have the need to purge
- all snapshots, when a release is deployed (the existing checkbox " Delete Released Snapshots" doesn't operate reliable)
- all previous snapshots of the same version (in case the client has not configured the maven-deploy-plugin properly)
I propose that a (Java) interface is provided that can be used to implement the class that provides the functionality.
This class could be specified in one of the (numerous) Archiva config-files.
There could be a single interface that provides 2 methods
- onReleaseDeployment(ReleaseRuntime obj)
- onSnapshotDeployment(SnapshotRuntime obj)
The SomeRuntime class should provide methods to retrieve all kinds of information concerning the artifact to be deployed, like
- get RepoName
as well as operation-methods like