Target

The core of reggae's D-based DSL for describing build systems. Targets contain outputs, a command to generate those outputs, explicit dependencies and implicit dependencies. All dependencies are themselves Target structs.

The command is given as a string. In this string, certain words have special meaning: $in, $out, $project and builddir.

$in gets expanded to all explicit dependencies. $out gets expanded to all outputs. $project gets expanded to the project directory (i.e. the directory including the source files to build that was given as a command-line argument). This can be useful when build outputs are to be placed in the source directory, such as automatically generated source files. $builddir expands to the build directory (i.e. where reggae was run from).

Constructors

this
this(string output)
Undocumented in source.
this
this(string output, C command, Target dependency, Target[] implicits)
Undocumented in source.
this
this(string output, C command, Target[] dependencies, Target[] implicits)
Undocumented in source.
this
this(string[] outputs, C command, Target[] dependencies, Target[] implicits)
Undocumented in source.

Members

Functions

execute
void execute(string projectPath)
Undocumented in source. Be warned that the author may not have intended to support it.
getLanguage
Language getLanguage()
Undocumented in source. Be warned that the author may not have intended to support it.
isLeaf
bool isLeaf()
Undocumented in source. Be warned that the author may not have intended to support it.
outputsInProjectPath
string[] outputsInProjectPath(string projectPath)
Undocumented in source. Be warned that the author may not have intended to support it.
rawCmdString
string rawCmdString(string projectPath)
Undocumented in source. Be warned that the author may not have intended to support it.
shellCommand
string shellCommand(string projectPath)

returns a command string to be run by the shell

Properties

command
const(Command) command [@property getter]
Undocumented in source. Be warned that the author may not have intended to support it.
dependencyFilesString
string dependencyFilesString [@property setter]
Undocumented in source. Be warned that the author may not have intended to support it.
expandCommand
string expandCommand [@property setter]

replace all special variables with their expansion

implicitFilesString
string implicitFilesString [@property setter]
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

dependencies
const(Target)[] dependencies;
Undocumented in source.
implicits
const(Target)[] implicits;
Undocumented in source.
outputs
const(string)[] outputs;
Undocumented in source.

Meta