public interface WorkspaceDir
ModuleVersion
checked out by a tool.
- System workspace directory: Directory that is created by the system,
generally a plugin, for its own use. Such a directory is generally hidden to
the user. The lifecycle of such a directory is controlled by the system or
plugins. System workspace directories can be private to a specific plugin or
shared among multiple plugins. A typical exemple is a directory that contains
a Git clone of a module repository that is required by a plugin to inspect the
module's files, but has not been requested by the user.
Only one marker interface is used for all types of workspace directories,
despite the two categories mentioned above as each class is handled
specifically anyways. However, classes marked by this interface can include in
their name the work "user" or "system" to make things easier for developers.
Plugins can manipulate workspace directories as required. System workspace
directories can be converted or copied to user workspace directories to avoid
useless server accesses.
The different types of workspace directories, as represented by the different
classes marked by this interface, can and should be known to workspace
implementations. If a workspace directory class is not known to a workspace
implementation, the workspace can implement a generic behavior.
TODO: Maybe the workspace dir class could help in implementing such a default behavior (random vs fixed directory for instance).
Maybe have predefined methods in this interface.Copyright © 2015–2017 AZYVA INC.. All rights reserved.