Documentation ¶
Overview ¶
Package build houses the core functionality for actually building targets.
Index ¶
- func Build(tid int, state *core.BuildState, label core.BuildLabel)
- func Init(state *core.BuildState)
- func OutputHash(state *core.BuildState, target *core.BuildTarget) ([]byte, error)
- func PrintHashes(state *core.BuildState, target *core.BuildTarget)
- func RemoveOutputs(target *core.BuildTarget) error
- func ReplaceSequences(state *core.BuildState, target *core.BuildTarget, command string) string
- func ReplaceTestSequences(state *core.BuildState, target *core.BuildTarget, command string) string
- func RuleHash(state *core.BuildState, target *core.BuildTarget, runtime, postBuild bool) []byte
- func RuntimeHash(state *core.BuildState, target *core.BuildTarget) ([]byte, error)
- func TestWorkerCommand(state *core.BuildState, target *core.BuildTarget) (string, string, string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Build ¶
func Build(tid int, state *core.BuildState, label core.BuildLabel)
Build implements the core logic for building a single target.
func Init ¶
func Init(state *core.BuildState)
Init initialises common resources for the build package.
func OutputHash ¶
func OutputHash(state *core.BuildState, target *core.BuildTarget) ([]byte, error)
OutputHash calculates the hash of a target's outputs.
func PrintHashes ¶
func PrintHashes(state *core.BuildState, target *core.BuildTarget)
PrintHashes prints the various hashes for a target to stdout. It's used by plz hash --detailed to show a breakdown of the input hashes of a target.
func RemoveOutputs ¶
func RemoveOutputs(target *core.BuildTarget) error
RemoveOutputs removes all generated outputs for a rule.
func ReplaceSequences ¶
func ReplaceSequences(state *core.BuildState, target *core.BuildTarget, command string) string
ReplaceSequences replaces escape sequences in the given string.
func ReplaceTestSequences ¶
func ReplaceTestSequences(state *core.BuildState, target *core.BuildTarget, command string) string
ReplaceTestSequences replaces escape sequences in the given string when running a test.
func RuleHash ¶
func RuleHash(state *core.BuildState, target *core.BuildTarget, runtime, postBuild bool) []byte
RuleHash calculates a hash for the relevant bits of this rule that affect its output. Optionally it can include parts of the rule that affect runtime (most obviously test-time). Note that we have to hash on the declared fields, we obviously can't hash pointers etc. incrementality_test will warn if new fields are added to the struct but not here.
func RuntimeHash ¶
func RuntimeHash(state *core.BuildState, target *core.BuildTarget) ([]byte, error)
RuntimeHash returns the target hash, source hash, config hash & runtime file hash, all rolled into one. Essentially this is one hash needed to determine if the runtime state is consistent.
func TestWorkerCommand ¶
func TestWorkerCommand(state *core.BuildState, target *core.BuildTarget) (string, string, string)
TestWorkerCommand returns the worker & its arguments (if any) for a test, and the command to run for the test itself.
Types ¶
This section is empty.