Merge changes I9e38ac73,I9412147f am: 45da465ef6 am: 0a93afc2b9

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

Change-Id: I5ed46ac3c26cb140f641eb2c5d0db10632124f19
This commit is contained in:
Treehugger Robot 2021-11-11 06:42:38 +00:00 committed by Automerger Merge Worker
commit 331599f461
5 changed files with 12 additions and 3 deletions

View file

@ -47,6 +47,7 @@ func (library *Library) AndroidMkEntriesHostDex() android.AndroidMkEntries {
if library.dexJarFile.IsSet() {
entries.SetPath("LOCAL_SOONG_DEX_JAR", library.dexJarFile.Path())
}
entries.SetPath("LOCAL_SOONG_INSTALLED_MODULE", library.hostdexInstallFile)
entries.SetPath("LOCAL_SOONG_HEADER_JAR", library.headerJarFile)
entries.SetPath("LOCAL_SOONG_CLASSES_JAR", library.implementationAndResourcesJar)
entries.SetString("LOCAL_MODULE_STEM", library.Stem()+"-hostdex")

View file

@ -471,6 +471,7 @@ func (a *AndroidApp) dexBuildActions(ctx android.ModuleContext) android.Path {
a.dexpreopter.enforceUsesLibs = a.usesLibrary.enforceUsesLibraries()
a.dexpreopter.classLoaderContexts = a.classLoaderContexts
a.dexpreopter.manifestFile = a.mergedManifestFile
a.dexpreopter.preventInstall = a.appProperties.PreventInstall
if ctx.ModuleName() != "framework-res" {
a.Module.compile(ctx, a.aaptSrcJar)
@ -720,7 +721,9 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
apexInfo := ctx.Provider(android.ApexInfoProvider).(android.ApexInfo)
// Install the app package.
if (Bool(a.Module.properties.Installable) || ctx.Host()) && apexInfo.IsForPlatform() {
if (Bool(a.Module.properties.Installable) || ctx.Host()) && apexInfo.IsForPlatform() &&
!a.appProperties.PreventInstall {
var extraInstalledPaths android.Paths
for _, extra := range a.extraOutputFiles {
installed := ctx.InstallFile(a.installDir, extra.Base(), extra)

View file

@ -407,6 +407,9 @@ type Module struct {
// installed file for binary dependency
installFile android.Path
// installed file for hostdex copy
hostdexInstallFile android.InstallPath
// list of .java files and srcjars that was passed to javac
compiledJavaSrcs android.Paths
compiledSrcJars android.Paths

View file

@ -66,6 +66,7 @@ type dexpreopter struct {
isApp bool
isTest bool
isPresignedPrebuilt bool
preventInstall bool
manifestFile android.Path
statusFile android.WritablePath
@ -356,7 +357,7 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Wr
installDirOnDevice: installPath,
installFileOnDevice: installBase,
})
} else {
} else if !d.preventInstall {
ctx.InstallFile(installPath, installBase, install.From)
}
}

View file

@ -571,7 +571,8 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
hostDexNeeded := Bool(j.deviceProperties.Hostdex) && !ctx.Host()
if hostDexNeeded {
ctx.InstallFile(android.PathForHostDexInstall(ctx, "framework"),
j.hostdexInstallFile = ctx.InstallFile(
android.PathForHostDexInstall(ctx, "framework"),
j.Stem()+"-hostdex.jar", j.outputFile)
}
var installDir android.InstallPath