Merge remote-tracking branch 'upstream/master' into update-upstream am: 1e649618d2

Original change: https://android-review.googlesource.com/c/platform/build/blueprint/+/1466244

Change-Id: I7ad672d2b2be7d02b561925271805ab2950a4597
This commit is contained in:
Jingwen Chen 2020-10-20 01:57:15 +00:00 committed by Automerger Merge Worker
commit bc2659ab68
2 changed files with 27 additions and 9 deletions

1
CODEOWNERS Normal file
View file

@ -0,0 +1 @@
* @google/blueprint

View file

@ -65,6 +65,7 @@ type RuleParams struct {
Restat bool // Whether Ninja should re-stat the rule's outputs.
Rspfile string // The response file.
RspfileContent string // The response file content.
SymlinkOutputs []string // The list of Outputs or ImplicitOutputs that are symlinks.
// These fields are used internally in Blueprint
CommandDeps []string // Command-specific implicit dependencies to prepend to builds
@ -84,6 +85,7 @@ type BuildParams struct {
Rule Rule // The rule to invoke.
Outputs []string // The list of explicit output targets.
ImplicitOutputs []string // The list of implicit output targets.
SymlinkOutputs []string // The list of Outputs or ImplicitOutputs that are symlinks.
Inputs []string // The list of explicit input dependencies.
Implicits []string // The list of implicit input dependencies.
OrderOnly []string // The list of order-only dependencies.
@ -205,6 +207,15 @@ func parseRuleParams(scope scope, params *RuleParams) (*ruleDef,
r.Variables["rspfile_content"] = value
}
if len(params.SymlinkOutputs) > 0 {
value, err = parseNinjaString(scope, strings.Join(params.SymlinkOutputs, " "))
if err != nil {
return nil, fmt.Errorf("error parsing SymlinkOutputs param: %s",
err)
}
r.Variables["symlink_outputs"] = value
}
r.CommandDeps, err = parseNinjaStrings(scope, params.CommandDeps)
if err != nil {
return nil, fmt.Errorf("error parsing CommandDeps param: %s", err)
@ -343,6 +354,12 @@ func parseBuildParams(scope scope, params *BuildParams) (*buildDef,
setVariable("description", value)
}
if len(params.SymlinkOutputs) > 0 {
setVariable(
"symlink_outputs",
simpleNinjaString(strings.Join(params.SymlinkOutputs, " ")))
}
argNameScope := rule.scope()
if len(params.Args) > 0 {