diff options
| author | 2020-01-25 00:38:19 +0000 | |
|---|---|---|
| committer | 2020-01-25 00:38:19 +0000 | |
| commit | cf52e102cece2c72659774f019239798e350fb16 (patch) | |
| tree | 5fbc06fe320a42ee369fa75353c66d74d61d87f6 /java/java.go | |
| parent | a8c82cc218219741d3de7ae9a5385aa77c95c42f (diff) | |
| parent | 335d596384a84ecfda0161500806eb9b1cc8a668 (diff) | |
Merge changes from topic "dex2oat-soong-dep"
* changes:
Get the dex2oat host tool path from module dependency on the binary module.
Move the Once cache for dexpreopt.GlobalConfig into the dexpreopt package.
Separate dexpreopt.GlobalSoongConfig to allow independent caching of it.
Diffstat (limited to 'java/java.go')
| -rw-r--r-- | java/java.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go index 4c6a5a5ac..320cb7b55 100644 --- a/java/java.go +++ b/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 |