Temporarily add method to get java binary tool

cc binaries are moving from out/soong/host/linux-x86/bin to
out/host/linux-86/bin first, to be followed by java binaries.
Temporarily add a method that gets the java binary path while
it is different from the cc binary path.

Bug: 204136549
Test: m checkbuild
Change-Id: I04a7e741436da6be68078f23d074870413a5bb5e
This commit is contained in:
Colin Cross
2021-11-04 10:22:51 -07:00
parent ed7cc80be2
commit 3e3eda6eb6
3 changed files with 17 additions and 2 deletions

View File

@@ -585,6 +585,11 @@ func (c *config) HostJavaToolPath(ctx PathContext, path string) Path {
return PathForOutput(ctx, "host", c.PrebuiltOS(), "framework", path) return PathForOutput(ctx, "host", c.PrebuiltOS(), "framework", path)
} }
func (c *config) HostJavaBinToolPath(ctx PathContext, tool string) Path {
path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false, tool)
return path
}
// PrebuiltOS returns the name of the host OS used in prebuilts directories. // PrebuiltOS returns the name of the host OS used in prebuilts directories.
func (c *config) PrebuiltOS() string { func (c *config) PrebuiltOS() string {
switch runtime.GOOS { switch runtime.GOOS {

View File

@@ -177,6 +177,16 @@ func (p PackageContext) HostBinToolVariable(name, path string) blueprint.Variabl
}) })
} }
// HostJavaBinToolVariable returns a Variable whose value is the path to a host java tool
// in the bin directory for host java targets. It may only be called during a Go
// package's initialization - either from the init() function or as part of a
// package-scoped variable's initialization.
func (p PackageContext) HostJavaBinToolVariable(name, path string) blueprint.Variable {
return p.VariableFunc(name, func(ctx PackageVarContext) string {
return ctx.Config().HostJavaBinToolPath(ctx, path).String()
})
}
// HostJNIToolVariable returns a Variable whose value is the path to a host tool // HostJNIToolVariable returns a Variable whose value is the path to a host tool
// in the lib directory for host targets. It may only be called during a Go // in the lib directory for host targets. It may only be called during a Go
// package's initialization - either from the init() function or as part of a // package's initialization - either from the init() function or as part of a

View File

@@ -124,8 +124,8 @@ func init() {
pctx.HostBinToolVariable("Zip2ZipCmd", "zip2zip") pctx.HostBinToolVariable("Zip2ZipCmd", "zip2zip")
pctx.HostBinToolVariable("ZipSyncCmd", "zipsync") pctx.HostBinToolVariable("ZipSyncCmd", "zipsync")
pctx.HostBinToolVariable("ApiCheckCmd", "apicheck") pctx.HostBinToolVariable("ApiCheckCmd", "apicheck")
pctx.HostBinToolVariable("D8Cmd", "d8") pctx.HostJavaBinToolVariable("D8Cmd", "d8")
pctx.HostBinToolVariable("R8Cmd", "r8-compat-proguard") pctx.HostJavaBinToolVariable("R8Cmd", "r8-compat-proguard")
pctx.HostBinToolVariable("HiddenAPICmd", "hiddenapi") pctx.HostBinToolVariable("HiddenAPICmd", "hiddenapi")
pctx.HostBinToolVariable("ExtractApksCmd", "extract_apks") pctx.HostBinToolVariable("ExtractApksCmd", "extract_apks")
pctx.VariableFunc("TurbineJar", func(ctx android.PackageVarContext) string { pctx.VariableFunc("TurbineJar", func(ctx android.PackageVarContext) string {