summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sdk/bp_test.go4
-rw-r--r--sdk/testing.go2
-rw-r--r--sdk/update.go17
3 files changed, 14 insertions, 9 deletions
diff --git a/sdk/bp_test.go b/sdk/bp_test.go
index f89f38c1c..c630c2524 100644
--- a/sdk/bp_test.go
+++ b/sdk/bp_test.go
@@ -57,7 +57,7 @@ func TestTransformRemoveProperty(t *testing.T) {
contents := &generatedContents{}
outputPropertySet(contents, set)
- helper.AssertTrimmedStringEquals("removing property failed", "name: \"name\",\\n", contents.content.String())
+ helper.AssertTrimmedStringEquals("removing property failed", "name: \"name\",\n", contents.content.String())
}
func TestTransformRemovePropertySet(t *testing.T) {
@@ -72,5 +72,5 @@ func TestTransformRemovePropertySet(t *testing.T) {
contents := &generatedContents{}
outputPropertySet(contents, set)
- helper.AssertTrimmedStringEquals("removing property set failed", "name: \"name\",\\n", contents.content.String())
+ helper.AssertTrimmedStringEquals("removing property set failed", "name: \"name\",\n", contents.content.String())
}
diff --git a/sdk/testing.go b/sdk/testing.go
index 14a397c68..436175419 100644
--- a/sdk/testing.go
+++ b/sdk/testing.go
@@ -207,7 +207,7 @@ type testSdkResult struct {
// e.g. find the src/dest pairs from each cp command, the various zip files
// generated, etc.
func (r *testSdkResult) getSdkSnapshotBuildInfo(sdk *sdk) *snapshotBuildInfo {
- androidBpContents := strings.NewReplacer("\\n", "\n").Replace(sdk.GetAndroidBpContentsForTests())
+ androidBpContents := sdk.GetAndroidBpContentsForTests()
info := &snapshotBuildInfo{
r: r,
diff --git a/sdk/update.go b/sdk/update.go
index d43a42d6e..476a4a5ea 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -87,18 +87,23 @@ func (gc *generatedContents) Dedent() {
}
func (gc *generatedContents) Printfln(format string, args ...interface{}) {
- // ninja consumes newline characters in rspfile_content. Prevent it by
- // escaping the backslash in the newline character. The extra backslash
- // is removed when the rspfile is written to the actual script file
- fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format+"\\n", args...)
+ fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format+"\n", args...)
}
func (gf *generatedFile) build(pctx android.PackageContext, ctx android.BuilderContext, implicits android.Paths) {
rb := android.NewRuleBuilder()
- // convert \\n to \n
+
+ content := gf.content.String()
+
+ // ninja consumes newline characters in rspfile_content. Prevent it by
+ // escaping the backslash in the newline character. The extra backslash
+ // is removed when the rspfile is written to the actual script file
+ content = strings.ReplaceAll(content, "\n", "\\n")
+
rb.Command().
Implicits(implicits).
- Text("echo").Text(proptools.ShellEscape(gf.content.String())).
+ Text("echo").Text(proptools.ShellEscape(content)).
+ // convert \\n to \n
Text("| sed 's/\\\\n/\\n/g' >").Output(gf.path)
rb.Command().
Text("chmod a+x").Output(gf.path)