diff options
author | Scott Lobdell <slobdell@google.com> | 2021-06-04 18:02:43 +0000 |
---|---|---|
committer | Jose Galmes <jgalmes@google.com> | 2021-06-07 08:29:08 -0700 |
commit | 891a3695965b82ed7dd8048117413518f9a12850 (patch) | |
tree | fd4f7efd94e2088a574794b7cc060756f0d019d4 /java/java.go | |
parent | d39f40981f1a725c8a6a07181094c36d4f028d73 (diff) | |
parent | b2a9c643b8c71fbdace53a602a17f50f45315ad3 (diff) |
Merge SP1A.210604.001
Change-Id: I9b81983d1f62be7f446f6e3206c42a4ad3ef8f75
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/java/java.go b/java/java.go index 9a5fbfc35..2bbb5b102 100644 --- a/java/java.go +++ b/java/java.go @@ -57,6 +57,10 @@ func registerJavaBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("java_host_for_device", HostForDeviceFactory) ctx.RegisterModuleType("dex_import", DexImportFactory) + // This mutator registers dependencies on dex2oat for modules that should be + // dexpreopted. This is done late when the final variants have been + // established, to not get the dependencies split into the wrong variants and + // to support the checks in dexpreoptDisabled(). ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) { ctx.BottomUp("dexpreopt_tool_deps", dexpreoptToolDepsMutator).Parallel() }) @@ -481,11 +485,6 @@ func shouldUncompressDex(ctx android.ModuleContext, dexpreopter *dexpreopter) bo } func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) { - // Initialize the hiddenapi structure. Pass in the configuration name rather than the module name - // so the hidden api will encode the <x>.impl java_ library created by java_sdk_library just as it - // would the <x> library if <x> was configured as a boot jar. - j.initHiddenAPI(ctx, j.ConfigurationName()) - j.sdkVersion = j.SdkVersion(ctx) j.minSdkVersion = j.MinSdkVersion(ctx) @@ -1241,9 +1240,6 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { j.sdkVersion = j.SdkVersion(ctx) j.minSdkVersion = j.MinSdkVersion(ctx) - // Initialize the hiddenapi structure. - j.initHiddenAPI(ctx, j.BaseModuleName()) - if !ctx.Provider(android.ApexInfoProvider).(android.ApexInfo).IsForPlatform() { j.hideApexVariantFromMake = true } @@ -1315,7 +1311,9 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { di := ctx.OtherModuleProvider(deapexerModule, android.DeapexerProvider).(android.DeapexerInfo) if dexOutputPath := di.PrebuiltExportPath(j.BaseModuleName(), ".dexjar"); dexOutputPath != nil { j.dexJarFile = dexOutputPath - j.hiddenAPIExtractInformation(ctx, dexOutputPath, outputFile) + + // Initialize the hiddenapi structure. + j.initHiddenAPI(ctx, dexOutputPath, outputFile, nil) } else { // This should never happen as a variant for a prebuilt_apex is only created if the // prebuilt_apex has been configured to export the java library dex file. @@ -1346,9 +1344,11 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { return } - // Hidden API CSV generation and dex encoding - dexOutputFile = j.hiddenAPIExtractAndEncode(ctx, dexOutputFile, outputFile, - proptools.Bool(j.dexProperties.Uncompress_dex)) + // Initialize the hiddenapi structure. + j.initHiddenAPI(ctx, dexOutputFile, outputFile, j.dexProperties.Uncompress_dex) + + // Encode hidden API flags in dex file. + dexOutputFile = j.hiddenAPIEncodeDex(ctx, dexOutputFile) j.dexJarFile = dexOutputFile } |