Uploaded image for project: 'Archiva'
  1. Archiva
  2. MRM-1256

providing extension-points for deploy-events

    XMLWordPrintableJSON

Details

    Description

      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

      • getGroupId
      • getArtifactId
      • getVersion
      • get RepoName
        ...

      as well as operation-methods like
      ReleaseRuntime .deleteSnapshots()
      SnapshotRuntime.deletePreviousSnapshots()

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              axismundi Marc Lustig
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: