@Extension public static final class FileSystemProvisioner.Default.DescriptorImpl extends FileSystemProvisionerDescriptor
Descriptor.FormException, Descriptor.PropertyType, Descriptor.SelfExtensionPoint.LegacyInstancesAreScopedToHudsonclazz| 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, toMappublic boolean discard(FilePath ws, TaskListener listener) throws IOException, InterruptedException
FileSystemProvisionerDescriptorFileSystemProvisioner.
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 FileSystemProvisionerDescriptors a chance to
discard them.
discard in class FileSystemProvisionerDescriptorws - 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 FileSystemProvisionerDescriptors are asked to
clean up the workspace.IOExceptionInterruptedExceptionpublic String getDisplayName()
DescriptorClass.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 © 2019. All rights reserved.