Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c35f243 authored by Colin Cross's avatar Colin Cross
Browse files

Escape Host*Variable contents

There are tests with "$" in the name, which becomes part of the
path.  Escape Host*Variable so that the path to a host binary
in a test doesn't get treated as a ninja variable.

Test: genrule_test.go
Change-Id: Ie50b13e94d8a30743c70b7f7c28bbab8afa73e5f
parent 24eb8241
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import (
	"strings"

	"github.com/google/blueprint"
	"github.com/google/blueprint/proptools"

	"android/soong/remoteexec"
)
@@ -173,7 +174,7 @@ func (p PackageContext) SourcePathVariableWithEnvOverride(name, path, env string
// package-scoped variable's initialization.
func (p PackageContext) HostBinToolVariable(name, path string) blueprint.Variable {
	return p.VariableFunc(name, func(ctx PackageVarContext) string {
		return ctx.Config().HostToolPath(ctx, path).String()
		return proptools.NinjaAndShellEscape(ctx.Config().HostToolPath(ctx, path).String())
	})
}

@@ -183,7 +184,7 @@ func (p PackageContext) HostBinToolVariable(name, path string) blueprint.Variabl
// package-scoped variable's initialization.
func (p PackageContext) HostJNIToolVariable(name, path string) blueprint.Variable {
	return p.VariableFunc(name, func(ctx PackageVarContext) string {
		return ctx.Config().HostJNIToolPath(ctx, path).String()
		return proptools.NinjaAndShellEscape(ctx.Config().HostJNIToolPath(ctx, path).String())
	})
}

@@ -193,7 +194,7 @@ func (p PackageContext) HostJNIToolVariable(name, path string) blueprint.Variabl
// part of a package-scoped variable's initialization.
func (p PackageContext) HostJavaToolVariable(name, path string) blueprint.Variable {
	return p.VariableFunc(name, func(ctx PackageVarContext) string {
		return ctx.Config().HostJavaToolPath(ctx, path).String()
		return proptools.NinjaAndShellEscape(ctx.Config().HostJavaToolPath(ctx, path).String())
	})
}