Merge changes from topic "dex2oat-soong-dep" am: cf52e102ce
am: fe568ba2a1
am: 1d1c492d20
Change-Id: I4797dc2b8837c1d982dd324aef619354fb61934e
This commit is contained in:
@@ -27,6 +27,7 @@ import (
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/cc"
|
||||
"android/soong/dexpreopt"
|
||||
"android/soong/tradefed"
|
||||
)
|
||||
|
||||
@@ -850,6 +851,7 @@ type AndroidAppImport struct {
|
||||
android.ModuleBase
|
||||
android.DefaultableModuleBase
|
||||
prebuilt android.Prebuilt
|
||||
dexpreopt.DexPreoptModule
|
||||
|
||||
properties AndroidAppImportProperties
|
||||
dpiVariants interface{}
|
||||
|
16
java/java.go
16
java/java.go
@@ -29,6 +29,7 @@ import (
|
||||
"github.com/google/blueprint/proptools"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/dexpreopt"
|
||||
"android/soong/java/config"
|
||||
"android/soong/tradefed"
|
||||
)
|
||||
@@ -79,6 +80,8 @@ func RegisterJavaBuildComponents(ctx android.RegistrationContext) {
|
||||
ctx.RegisterModuleType("java_host_for_device", HostForDeviceFactory)
|
||||
ctx.RegisterModuleType("dex_import", DexImportFactory)
|
||||
|
||||
ctx.FinalDepsMutators(dexpreopt.RegisterToolDepsMutator)
|
||||
|
||||
ctx.RegisterSingletonType("logtags", LogtagsSingleton)
|
||||
ctx.RegisterSingletonType("kythe_java_extract", kytheExtractJavaFactory)
|
||||
}
|
||||
@@ -335,6 +338,7 @@ type Module struct {
|
||||
android.DefaultableModuleBase
|
||||
android.ApexModuleBase
|
||||
android.SdkBase
|
||||
dexpreopt.DexPreoptModule
|
||||
|
||||
properties CompilerProperties
|
||||
protoProperties android.ProtoProperties
|
||||
@@ -1525,6 +1529,16 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
|
||||
}
|
||||
} else {
|
||||
outputFile = implementationAndResourcesJar
|
||||
|
||||
// dexpreopt.GetGlobalSoongConfig needs to be called at least once even if
|
||||
// no module actually is dexpreopted, to ensure there's a cached
|
||||
// GlobalSoongConfig for the dexpreopt singletons, which will run
|
||||
// regardless.
|
||||
// TODO(b/147613152): Remove when the singletons no longer rely on the
|
||||
// cached GlobalSoongConfig.
|
||||
if !dexpreopt.GetGlobalConfig(ctx).DisablePreopt {
|
||||
_ = dexpreopt.GetGlobalSoongConfig(ctx)
|
||||
}
|
||||
}
|
||||
|
||||
ctx.CheckbuildFile(outputFile)
|
||||
@@ -2275,6 +2289,7 @@ type Import struct {
|
||||
android.ApexModuleBase
|
||||
prebuilt android.Prebuilt
|
||||
android.SdkBase
|
||||
dexpreopt.DexPreoptModule
|
||||
|
||||
properties ImportProperties
|
||||
|
||||
@@ -2477,6 +2492,7 @@ type DexImport struct {
|
||||
android.DefaultableModuleBase
|
||||
android.ApexModuleBase
|
||||
prebuilt android.Prebuilt
|
||||
dexpreopt.DexPreoptModule
|
||||
|
||||
properties DexImportProperties
|
||||
|
||||
|
@@ -57,6 +57,8 @@ func TestMain(m *testing.M) {
|
||||
}
|
||||
|
||||
func testConfig(env map[string]string, bp string, fs map[string][]byte) android.Config {
|
||||
bp += dexpreopt.BpToolModulesForTest()
|
||||
|
||||
config := TestConfig(buildDir, env, bp, fs)
|
||||
|
||||
// Set up the global Once cache used for dexpreopt.GlobalSoongConfig, so that
|
||||
@@ -92,6 +94,8 @@ func testContext() *android.TestContext {
|
||||
cc.RegisterRequiredBuildComponentsForTest(ctx)
|
||||
ctx.RegisterModuleType("ndk_prebuilt_shared_stl", cc.NdkPrebuiltSharedStlFactory)
|
||||
|
||||
dexpreopt.RegisterToolModulesForTest(ctx)
|
||||
|
||||
return ctx
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user