Documentation ¶
Overview ¶
The build package houses the core functionality for actually building targets.
Index ¶
- func Build(tid int, state *core.BuildState, label core.BuildLabel)
- func OutputHash(target *core.BuildTarget) ([]byte, error)
- func RemoveOutputs(target *core.BuildTarget) error
- func ReplaceSequences(target *core.BuildTarget, command string) string
- func ReplaceTestSequences(target *core.BuildTarget, command string) string
- func RuleHash(target *core.BuildTarget, runtime, postBuild bool) []byte
- func RuntimeHash(state *core.BuildState, target *core.BuildTarget) ([]byte, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Build ¶
func Build(tid int, state *core.BuildState, label core.BuildLabel)
func OutputHash ¶
func OutputHash(target *core.BuildTarget) ([]byte, error)
OutputHash calculates the hash of a target's outputs.
func RemoveOutputs ¶
func RemoveOutputs(target *core.BuildTarget) error
RemoveOutputs removes all generated outputs for a rule.
func ReplaceSequences ¶
func ReplaceSequences(target *core.BuildTarget, command string) string
Replace escape sequences in the given string.
func ReplaceTestSequences ¶
func ReplaceTestSequences(target *core.BuildTarget, command string) string
Replace escape sequences in the given string when running a test.
func RuleHash ¶
func RuleHash(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.
Types ¶
This section is empty.