public abstract class FileSystemProvisionerDescriptor extends Descriptor<FileSystemProvisioner> implements ExtensionPoint
|Constructor and Description|
|Modifier and Type||Method and Description|
Called to clean up a workspace that may potentially belong to this
addHelpFileRedirect, calcAutoCompleteSettings, calcFillSettings, configure, configure, doHelp, find, find, getCheckUrl, getConfigFile, getConfigPage, getDescriptorUrl, getDisplayName, getGlobalConfigPage, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getPlugin, getPropertyType, getPropertyType, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, toArray, toList, toMap
public abstract boolean discard(FilePath ws, TaskListener listener) throws IOException, InterruptedException
Because users may modify the file system behind Hudson, and slaves may come and go when configuration changes hapen, in general case Hudson is unable to keep track of which jobs have workspaces in which slaves.
So instead we rey on a garbage collection mechanism, to look at workspaces left in the file system without the contextual information of the owner project, and try to clean that up.
This method is called to do this, after Hudson determines that the
workspace should be deleted to reclaim disk space. The implementation of
this method is expected to sniff the contents of the workspace, and if it
looks like the one created by
FileSystemProvisioner.prepareWorkspace(AbstractBuild, FilePath, TaskListener),
perform the necessary deletion operation, and return true.
If the workspace isn't the one created by this
FileSystemProvisioner, or if the workspace can be simply deleted
FilePath.deleteRecursive(), then simply return false
to give other
FileSystemProvisionerDescriptors a chance to
ws- The workspace directory to be removed.
listener- The status of the operation, error message, etc., should go here.
FileSystemProvisionerDescriptoris responsible for de-alocating the workspace. false otherwise, in which case the other
FileSystemProvisionerDescriptors are asked to clean up the workspace.
Copyright © 2004-2015 Hudson. All Rights Reserved.