@Extension public static final class FileSystemProvisioner.Default.DescriptorImpl extends FileSystemProvisionerDescriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.Self
ExtensionPoint.LegacyInstancesAreScopedToHudson
clazz
Constructor and Description |
---|
DescriptorImpl() |
Modifier and Type | Method and Description |
---|---|
boolean |
discard(FilePath ws,
TaskListener listener)
Called to clean up a workspace that may potentially belong to this
FileSystemProvisioner . |
String |
getDisplayName()
Human readable name of this kind of configurable object.
|
addHelpFileRedirect, calcAutoCompleteSettings, calcFillSettings, configure, configure, doHelp, find, find, findByDescribableClassName, findById, getCheckMethod, getCheckUrl, getConfigFile, getConfigPage, getCurrentDescriptorByNameUrl, getDescriptorFullUrl, getDescriptorUrl, getGlobalConfigPage, getGlobalPropertyType, getHelpFile, getHelpFile, getHelpFile, getId, getJsonSafeClassName, getKlass, getPlugin, getPossibleViewNames, getPropertyType, getPropertyType, getPropertyTypeOrDie, getT, getViewPage, isInstance, isSubTypeOf, load, newInstance, newInstance, newInstancesFromHeteroList, newInstancesFromHeteroList, save, self, toArray, toList, toMap
public boolean discard(FilePath ws, TaskListener listener) throws IOException, InterruptedException
FileSystemProvisionerDescriptor
FileSystemProvisioner
.
Because users may modify the file system behind Hudson, and slaves may come and go when configuration changes happen, 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.
discard
in class FileSystemProvisionerDescriptor
ws
- The workspace directory to be removed.listener
- The status of the operation, error message, etc., should go here.FileSystemProvisionerDescriptor
is responsible for de-alocating the workspace.
false otherwise, in which case the other FileSystemProvisionerDescriptor
s are asked to
clean up the workspace.IOException
InterruptedException
public String getDisplayName()
Descriptor
Class.getSimpleName()
on Descriptor.clazz
, so for example MyThing
from some.pkg.MyThing.DescriptorImpl
.
Historically some implementations returned null as a way of hiding the descriptor from the UI,
but this is generally managed by an explicit method such as isEnabled
or isApplicable
.getDisplayName
in class Descriptor<FileSystemProvisioner>
Copyright © 2016. All rights reserved.