public interface Workspace
Workspace
provides a layer of indirection between BuildContext and underlying resource
(File) store.Modifier and Type | Interface and Description |
---|---|
static interface |
Workspace.FileVisitor |
static class |
Workspace.Mode |
static class |
Workspace.ResourceStatus |
Modifier and Type | Method and Description |
---|---|
void |
deleteFile(File file) |
Workspace |
escalate() |
Workspace.Mode |
getMode() |
Workspace.ResourceStatus |
getResourceStatus(File file,
long lastModified,
long length) |
boolean |
isDirectory(File file) |
boolean |
isPresent(File file) |
boolean |
isRegularFile(File file) |
OutputStream |
newOutputStream(File file) |
void |
processOutput(File file) |
void |
walk(File basedir,
Workspace.FileVisitor visitor)
Walks a file tree.
|
Workspace.Mode getMode()
Workspace escalate()
boolean isPresent(File file)
boolean isRegularFile(File file)
boolean isDirectory(File file)
void deleteFile(File file) throws IOException
IOException
void processOutput(File file)
OutputStream newOutputStream(File file) throws IOException
IOException
Workspace.ResourceStatus getResourceStatus(File file, long lastModified, long length)
void walk(File basedir, Workspace.FileVisitor visitor) throws IOException
Files visited and their status depends on workspace mode.
NORMAL
all files are visited and all file status is reported as
NEW. BuildContext is expected to calculate actual input resource status.DELTA
only NEW, MODIFIED or REMOVED files are
visited.ESCALATED
all files are visited and all file status is reported as
NEW. This mode is used when the user has explicitly requested full build in IDE. BuildContext
must treat all files as either NEW or MODIFIED.SUPPRESSED
This mode is used during so-called "configuration"
build, when all inputs are assumed up-to-date, no outputs are expected to be created, updated
or removed. The idea is to allow host application to collect build configuration information
(compile source roots, properties, etc) without doing the actual build.IOException
Copyright © 2021. All rights reserved.