Move java module installation into Soong
Move java module installation rules into Soong by overriding InstallBypassMake. Update the locations that find host java tools to look in the Make installation directory instead of the Soong installation directory, which will no longer be used. Bug: 204136549 Test: m checkbuild Change-Id: I5af6d764c97e7ddb5ee121fc9830166c25d831b1
This commit is contained in:
@@ -593,11 +593,17 @@ func (c *config) HostJNIToolPath(ctx PathContext, lib string) Path {
|
||||
|
||||
func (c *config) HostJavaToolPath(ctx PathContext, tool string) Path {
|
||||
path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "framework", false, tool)
|
||||
if ctx.Config().KatiEnabled() {
|
||||
path = path.ToMakePath()
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
func (c *config) HostJavaBinToolPath(ctx PathContext, tool string) Path {
|
||||
path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false, tool)
|
||||
if ctx.Config().KatiEnabled() {
|
||||
path = path.ToMakePath()
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
||||
|
@@ -285,11 +285,6 @@ func (binary *Binary) AndroidMkEntries() []android.AndroidMkEntries {
|
||||
}}
|
||||
} else {
|
||||
outputFile := binary.wrapperFile
|
||||
// Have Make installation trigger Soong installation by using Soong's install path as
|
||||
// the output file.
|
||||
if binary.Host() {
|
||||
outputFile = binary.binaryFile
|
||||
}
|
||||
|
||||
return []android.AndroidMkEntries{android.AndroidMkEntries{
|
||||
Class: "EXECUTABLES",
|
||||
|
@@ -108,6 +108,8 @@ func (a *AndroidAppImport) IsInstallable() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (a *AndroidAppImport) InstallBypassMake() bool { return true }
|
||||
|
||||
// Updates properties with variant-specific values.
|
||||
func (a *AndroidAppImport) processVariants(ctx android.LoadHookContext) {
|
||||
config := ctx.Config()
|
||||
|
16
java/java.go
16
java/java.go
@@ -265,6 +265,8 @@ func (j *Module) XrefJavaFiles() android.Paths {
|
||||
return j.kytheFiles
|
||||
}
|
||||
|
||||
func (j *Module) InstallBypassMake() bool { return true }
|
||||
|
||||
type dependencyTag struct {
|
||||
blueprint.BaseDependencyTag
|
||||
name string
|
||||
@@ -856,6 +858,20 @@ type JavaTestImport struct {
|
||||
dexJarFile android.Path
|
||||
}
|
||||
|
||||
func (j *Test) InstallInTestcases() bool {
|
||||
// Host java tests install into $(HOST_OUT_JAVA_LIBRARIES), and then are copied into
|
||||
// testcases by base_rules.mk.
|
||||
return !j.Host()
|
||||
}
|
||||
|
||||
func (j *TestHelperLibrary) InstallInTestcases() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (j *JavaTestImport) InstallInTestcases() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (j *TestHost) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||
if len(j.testHostProperties.Data_native_bins) > 0 {
|
||||
for _, target := range ctx.MultiTargets() {
|
||||
|
Reference in New Issue
Block a user