|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message providing extension-points for deploy-events
-------------------------------------------- Key: MRM-1256 URL: http://jira.codehaus.org/browse/MRM-1256 Project: Archiva Issue Type: New Feature Components: repository interface, WebDAV interface Affects Versions: 1.2.2 Reporter: Marc Lustig Priority: Critical 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Commented: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=191962#action_191962 ] Marc Lustig commented on MRM-1256: ---------------------------------- I have a few typos in the issue descriptions, but I have no rights to edit it. First, it would be better to have two methods for each repo-type, like - beforeReleaseDeployment - afterReleaseDeployment - beforeSnapshotDeployment - afterSnapshotDeployment I digged a bit into the Archiva-code. The right starting-point to implement this cross-cutting logic would be org.apache.maven.archiva.webdav.RepositoryServlet. It seems that the actual operation is really a plain dav-operation performed by jackrabbit. So, at line #124 the following steps need to be performed: - identify the target repo (name, type) - build the runtime-object based on info from the request as well as from some static archiva-source - create the implementation class - call before___Deployment(runtime) After calling AbstractWebdavServlet.execute(), - the runtime-object should be fed with the result of the request and - the after___Deployment(runtime) called. thoughts? > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Issue Comment Edited: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=191962#action_191962 ] Marc Lustig edited comment on MRM-1256 at 9/23/09 10:10 AM: ------------------------------------------------------------ I have a few typos in the issue descriptions, but I have no rights to edit it. First, it would be better to have two methods for each repo-type, like - beforeReleaseDeployment - afterReleaseDeployment - beforeSnapshotDeployment - afterSnapshotDeployment I digged a bit into the Archiva-code. The right starting-point to implement this cross-cutting logic would be org.apache.maven.archiva.webdav.RepositoryServlet. It seems that the actual operation is really a plain dav-operation performed by jackrabbit. So, at line #124 the following steps need to be performed: - identify the target repo (name, type) from the dav-request - build the runtime-object based on info from the request as well as from some static archiva-source - create the implementation class - call before___Deployment(runtime) After calling AbstractWebdavServlet.execute(), - the runtime-object should be fed with the result of the request and - the after___Deployment(runtime) called. thoughts? was (Author: axismundi): I have a few typos in the issue descriptions, but I have no rights to edit it. First, it would be better to have two methods for each repo-type, like - beforeReleaseDeployment - afterReleaseDeployment - beforeSnapshotDeployment - afterSnapshotDeployment I digged a bit into the Archiva-code. The right starting-point to implement this cross-cutting logic would be org.apache.maven.archiva.webdav.RepositoryServlet. It seems that the actual operation is really a plain dav-operation performed by jackrabbit. So, at line #124 the following steps need to be performed: - identify the target repo (name, type) - build the runtime-object based on info from the request as well as from some static archiva-source - create the implementation class - call before___Deployment(runtime) After calling AbstractWebdavServlet.execute(), - the runtime-object should be fed with the result of the request and - the after___Deployment(runtime) called. thoughts? > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Commented: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=192026#action_192026 ] Brett Porter commented on MRM-1256: ----------------------------------- I think this is best worked together with the event ideas for 1.3. If you did want to start working on a patch we could use that as a starting point. In 1.2 you can already achieve some of the after* functionality by using a consumer which will be called on completion of all deployments (you can inspect the artifact to decide if it is snapshot or release). Would that help? > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Commented: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=192041#action_192041 ] Maria Odea Ching commented on MRM-1256: --------------------------------------- The consumer Brett mentioned in the previous comment is the RepositoryContentConsumer. You might also want to take a look at ArchivaDavResource#addMember(..) as that's where the task for executing the consumer after a deployment is queued.. > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Commented: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=194404#action_194404 ] Marc Lustig commented on MRM-1256: ---------------------------------- I would prefer a generic solution to implement extension-point, in the way I proposed it. This would make Archiva more customizable - and more competetive. > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Issue Comment Edited: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=194404#action_194404 ] Marc Lustig edited comment on MRM-1256 at 10/12/09 8:34 AM: ------------------------------------------------------------ I would prefer a generic solution to implement extension-points, in the way I proposed it. This would make Archiva more customizable - and more competetive. was (Author: axismundi): I would prefer a generic solution to implement extension-point, in the way I proposed it. This would make Archiva more customizable - and more competetive. > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Updated: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brett Porter updated MRM-1256: ------------------------------ Fix Version/s: 1.3 > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > Fix For: 1.3 > > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
|
|
[jira] Commented: (MRM-1256) providing extension-points for deploy-events
by JIRA jira@codehaus.org
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message [ http://jira.codehaus.org/browse/MRM-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=194977#action_194977 ] Marc Lustig commented on MRM-1256: ---------------------------------- I plan to analyze this weekend a possible implementation based on this discussion. http://www.nabble.com/helping-to-implement-MRM-1256-td25855756.html > providing extension-points for deploy-events > -------------------------------------------- > > Key: MRM-1256 > URL: http://jira.codehaus.org/browse/MRM-1256 > Project: Archiva > Issue Type: New Feature > Components: repository interface, WebDAV interface > Affects Versions: 1.2.2 > Reporter: Marc Lustig > Priority: Critical > Fix For: 1.3 > > > 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() -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |
| Free embeddable forum powered by Nabble | Forum Help |