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

commandParamNames
const(string)[] commandParamNames()
Undocumented in source. Be warned that the author may not have intended to support it.
execute
string[] execute(string projectPath)
Undocumented in source. Be warned that the author may not have intended to support it.
expandOutputs
auto expandOutputs(string projectPath)

Replace special variables and return a list of outputs thus modified

getCommandParams
string[] getCommandParams(string projectPath, string key, string[] ifNotFound)
Undocumented in source. Be warned that the author may not have intended to support it.
getCommandType
CommandType getCommandType()
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.
hasDefaultCommand
bool hasDefaultCommand()
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, Flag!"dependencies" deps)

returns a command string to be run by the shell

toString
string toString()
Undocumented in source. Be warned that the author may not have intended to support it.

Properties

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.

Static functions

phony
Target phony(string output, string shellCommand, Target[] dependencies, Target[] implicits)
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