From 879b3f09f092e7e104728d6c40c0830891be3ad1 Mon Sep 17 00:00:00 2001 From: Ryan Campbell Date: Wed, 14 Dec 2011 20:38:55 -0600 Subject: [PATCH] Expose a new beforeUse callback on WorkspaceListener for performing actions on a workspace before it's used by a build. --- core/src/main/java/hudson/model/AbstractBuild.java | 5 ++++- .../src/main/java/hudson/model/WorkspaceListener.java | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/model/AbstractBuild.java b/core/src/main/java/hudson/model/AbstractBuild.java index fdb5012c58..465705de51 100644 --- a/core/src/main/java/hudson/model/AbstractBuild.java +++ b/core/src/main/java/hudson/model/AbstractBuild.java @@ -452,7 +452,10 @@ public abstract class AbstractBuild

,R extends Abs try { workspace = lease.path.getRemote(); node.getFileSystemProvisioner().prepareWorkspace(AbstractBuild.this,lease.path,listener); - + + for (WorkspaceListener wl : WorkspaceListener.all()) { + wl.beforeUse(AbstractBuild.this, lease.path, listener); + } preCheckout(launcher,listener); checkout(listener); diff --git a/core/src/main/java/hudson/model/WorkspaceListener.java b/core/src/main/java/hudson/model/WorkspaceListener.java index d0a514fc53..69a8578344 100644 --- a/core/src/main/java/hudson/model/WorkspaceListener.java +++ b/core/src/main/java/hudson/model/WorkspaceListener.java @@ -2,6 +2,7 @@ package hudson.model; import hudson.ExtensionList; import hudson.ExtensionPoint; +import hudson.FilePath; public abstract class WorkspaceListener implements ExtensionPoint { @@ -11,6 +12,16 @@ public abstract class WorkspaceListener implements ExtensionPoint { */ public void afterDelete(AbstractProject project) { + } + + /** + * Called before a build uses a workspace. IE, before any SCM checkout. + * @param r + * @param workspace + * @param listener + */ + public void beforeUse(AbstractBuild b, FilePath workspace, BuildListener listener) { + } /** -- GitLab