Merge "Simplify commandString" into main am: 8aca5be771

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2801933

Change-Id: I6eb1292e2e8fcd6f3a125ab88b74e5beaf0c2513
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-10-24 20:32:16 +00:00
committed by Automerger Merge Worker

View File

@@ -443,26 +443,21 @@ func (a *aqueryArtifactHandler) depsetContentHashes(inputDepsetIds []uint32) ([]
// escapes the args received from aquery and creates a command string // escapes the args received from aquery and creates a command string
func commandString(actionEntry *analysis_v2_proto.Action) string { func commandString(actionEntry *analysis_v2_proto.Action) string {
switch actionEntry.Mnemonic { argsEscaped := make([]string, len(actionEntry.Arguments))
case "GoCompilePkg", "GoStdlib": for i, arg := range actionEntry.Arguments {
argsEscaped := []string{} if arg == "" {
for _, arg := range actionEntry.Arguments { // If this is an empty string, add ''
if arg == "" { // And not
// If this is an empty string, add '' // 1. (literal empty)
// And not // 2. `''\'''\'''` (escaped version of '')
// 1. (literal empty) //
// 2. `''\'''\'''` (escaped version of '') // If we had used (1), then this would appear as a whitespace when we strings.Join
// argsEscaped[i] = "''"
// If we had used (1), then this would appear as a whitespace when we strings.Join } else {
argsEscaped = append(argsEscaped, "''") argsEscaped[i] = proptools.ShellEscapeIncludingSpaces(arg)
} else {
argsEscaped = append(argsEscaped, proptools.ShellEscapeIncludingSpaces(arg))
}
} }
return strings.Join(argsEscaped, " ")
default:
return strings.Join(proptools.ShellEscapeListIncludingSpaces(actionEntry.Arguments), " ")
} }
return strings.Join(argsEscaped, " ")
} }
func (a *aqueryArtifactHandler) normalActionBuildStatement(actionEntry *analysis_v2_proto.Action) (*BuildStatement, error) { func (a *aqueryArtifactHandler) normalActionBuildStatement(actionEntry *analysis_v2_proto.Action) (*BuildStatement, error) {