FilesysIO

Filesystem I/O from the backend.

TODO: rename outputDir to workdir. It is the terminology used in git.

The implementation of the interface shall: ensure all SafeOutput objects are inside the _output directory_.

The design is intended to create a clear distinction between output and input. It is to make it easier to do code review and reason about where filesystem output is created.

Members

Functions

dup
FilesysIO dup()

Duplicate the instance,

getDevNull
File getDevNull()
Undocumented in source.
getOutputDir
AbsolutePath getOutputDir()

File output is restricted to this directory

getStdin
File getStdin()
Undocumented in source.
makeInput
Blob makeInput(AbsolutePath p)
makeOutput
SafeOutput makeOutput(AbsolutePath p)
putFile
void putFile(AbsolutePath fname, const(ubyte)[] data)
Undocumented in source.
toAbsoluteRoot
AbsolutePath toAbsoluteRoot(Path p)

Convert a path to an absolute path relative to the root.

toRelativeRoot
Path toRelativeRoot(Path p)

Convert a path to be relative to the root of the filesystem.

Meta