Called to clean up a workspace that may potentially belong to this FileSystemProvisioner
.
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 by FilePath.deleteRecursive()
, then simply
return false to give other FileSystemProvisionerDescriptor
s a chance to
discard them.
- Parameters:
ws
- The workspace directory to be removed.listener
- The status of the operation, error message, etc., should go here.
- Returns:
- true if this
FileSystemProvisionerDescriptor
is responsible for de-alocating the workspace.
false otherwise, in which case the other FileSystemProvisionerDescriptor
s are asked to
clean up the workspace.
- Throws:
IOException
InterruptedException