tool/file
CUE v0.18.0
Package file provides file operations for cue tasks.
These are the supported tasks:
Schemas
Append
Append: {
$id: _id
_id: "tool/file.Append"
// filename names the file to append.
//
// Relative names are taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
filename: !=""
// permissions defines the permissions to use if the file does not yet exist.
permissions: int | *0o666
// contents specifies the bytes to be written.
contents: bytes | string
}
Append writes contents to the given file.
Create
Create: {
$id: _id
_id: "tool/file.Create"
// filename names the file to write.
//
// Relative names are taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
filename: !=""
// permissions defines the permissions to use if the file does not yet exist.
permissions: int | *0o666
// contents specifies the bytes to be written.
contents: bytes | string
}
Create writes contents to the given file.
Glob
Glob: {
$id: _id
_id: "tool/file.Glob"
// glob specifies the pattern to match files with.
//
// A relative pattern is taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
glob: !=""
files: [...string]
}
Glob returns a list of files.
Mkdir
Mkdir: {
$id: _id
_id: "tool/file.Mkdir"
// The directory path to create.
// If path is already a directory, Mkdir does nothing.
// If path already exists and is not a directory, Mkdir will return an error.
path: string
// When true any necessary parents are created as well.
createParents: bool | *false
// Directory mode and permission bits (before umask).
permissions: int | *0o777
}Mkdir creates a directory at the specified path.
MkdirAll
MkdirAll: Mkdir & {
createParents: true
}MkdirAll creates a directory at the specified path along with any necessary parents. If path is already a directory, MkdirAll does nothing. If path already exists and is not a directory, MkdirAll will return an error.
MkdirTemp
MkdirTemp: {
$id: _id
_id: "tool/file.MkdirTemp"
// The temporary directory is created in the directory specified by dir.
// If dir is the empty string, MkdirTemp uses the default directory for
// temporary files.
dir: string | *""
// The directory name is generated by adding a random string to the end of pattern.
// If pattern includes a "*", the random string replaces the last "*" instead.
pattern: string | *""
// The absolute path of the created directory.
path: string
}MkdirTemp creates a new temporary directory in the directory dir and sets the pathname of the new directory in path. It is the caller's responsibility to remove the directory when it is no longer needed.
Read
Read: {
$id: _id
_id: "tool/file.Read"
// filename names the file to read.
//
// Relative names are taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
filename: !=""
// contents is the read contents. If the contents are constraint to bytes
// (the default), the file is read as is. If it is constraint to a string,
// the contents are checked to be valid UTF-8.
contents: *bytes | string
}
Read reads the contents of a file.
RemoveAll
RemoveAll: {
$id: _id
_id: "tool/file.RemoveAll"
// The path to remove.
// If the path does not exist, RemoveAll does nothing.
path: string
// success contains the status of the removal.
// If path was removed success is set to true.
// If path didn't exists success is set to false.
success: bool
}RemoveAll removes path and any children it contains. It removes everything it can but returns the first error it encounters.
Symlink
Symlink: {
$id: _id
_id: "tool/file.Symlink"
// filename defines the name of the symlink.
//
// Relative names are taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
filename: !=""
// target names the target file or directory of the symlink.
//
// Relative names are taken relative to the current working directory.
// Slashes are converted to the native OS path separator.
target: !=""
}Symlink creates a symbolic link.