From 46eb0fd501cf2e9e391808b55a8c91d2364f10cc Mon Sep 17 00:00:00 2001 From: Jiakai Zhang Date: Thu, 23 Sep 2021 07:36:57 +0000 Subject: [PATCH] Remove updatable-bcp-packages.txt. Historically, this file was used by the `--updatable-bcp-packages-file` flag for dex2oat. The flag is no longer needed and is being deprecated. Unfortunately, we cannot remove `permitted_packages` and all the code related to it because we still need it for checking the module compatibility with Q and R. Bug: 200241946 Test: m nothing Change-Id: Ie3be54fd47a847ba0caf627d12da76b415d99466 --- java/dexpreopt_bootjars.go | 35 -------------------------- java/java.go | 1 - java/platform_bootclasspath.go | 8 ------ java/sdk_library.go | 1 - sdk/bootclasspath_fragment_sdk_test.go | 6 ----- 5 files changed, 51 deletions(-) diff --git a/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go index 946092cdb..284a19a1f 100644 --- a/java/dexpreopt_bootjars.go +++ b/java/dexpreopt_bootjars.go @@ -16,7 +16,6 @@ package java import ( "path/filepath" - "sort" "strings" "android/soong/android" @@ -812,40 +811,6 @@ func bootFrameworkProfileRule(ctx android.ModuleContext, image *bootImageConfig) return profile } -// generateUpdatableBcpPackagesRule generates the rule to create the updatable-bcp-packages.txt file -// and returns a path to the generated file. -func generateUpdatableBcpPackagesRule(ctx android.ModuleContext, image *bootImageConfig, apexModules []android.Module) android.WritablePath { - // Collect `permitted_packages` for updatable boot jars. - var updatablePackages []string - for _, module := range apexModules { - if j, ok := module.(PermittedPackagesForUpdatableBootJars); ok { - pp := j.PermittedPackagesForUpdatableBootJars() - if len(pp) > 0 { - updatablePackages = append(updatablePackages, pp...) - } else { - ctx.OtherModuleErrorf(module, "Missing permitted_packages") - } - } - } - - // Sort updatable packages to ensure deterministic ordering. - sort.Strings(updatablePackages) - - updatableBcpPackagesName := "updatable-bcp-packages.txt" - updatableBcpPackages := image.dir.Join(ctx, updatableBcpPackagesName) - - // WriteFileRule automatically adds the last end-of-line. - android.WriteFileRule(ctx, updatableBcpPackages, strings.Join(updatablePackages, "\n")) - - rule := android.NewRuleBuilder(pctx, ctx) - rule.Install(updatableBcpPackages, "/system/etc/"+updatableBcpPackagesName) - // TODO: Rename `profileInstalls` to `extraInstalls`? - // Maybe even move the field out of the bootImageConfig into some higher level type? - image.profileInstalls = append(image.profileInstalls, rule.Installs()...) - - return updatableBcpPackages -} - func dumpOatRules(ctx android.ModuleContext, image *bootImageConfig) { var allPhonies android.Paths for _, image := range image.variants { diff --git a/java/java.go b/java/java.go index 4a4486658..a007ccbee 100644 --- a/java/java.go +++ b/java/java.go @@ -1173,7 +1173,6 @@ type ImportProperties struct { Installable *bool // If not empty, classes are restricted to the specified packages and their sub-packages. - // This information is used to generate the updatable-bcp-packages.txt file. Permitted_packages []string // List of shared java libs that this module has dependencies to diff --git a/java/platform_bootclasspath.go b/java/platform_bootclasspath.go index 36baf7e78..9fec08a69 100644 --- a/java/platform_bootclasspath.go +++ b/java/platform_bootclasspath.go @@ -424,14 +424,6 @@ func (b *platformBootclasspathModule) generateBootImageBuildActions(ctx android. // Generate the framework profile rule bootFrameworkProfileRule(ctx, imageConfig) - // If always using prebuilt sdks then do not generate the updatable-bcp-packages.txt file as it - // will break because the prebuilts do not yet specify a permitted_packages property. - // TODO(b/193889859): Remove when the prebuilts have been updated. - if !ctx.Config().AlwaysUsePrebuiltSdks() { - // Generate the updatable bootclasspath packages rule. - generateUpdatableBcpPackagesRule(ctx, imageConfig, apexModules) - } - // Copy platform module dex jars to their predefined locations. platformBootDexJarsByModule := extractEncodedDexJarsFromModules(ctx, platformModules) copyBootJarsToPredefinedLocations(ctx, platformBootDexJarsByModule, imageConfig.dexPathsByModule) diff --git a/java/sdk_library.go b/java/sdk_library.go index 2d8aef74c..db7217181 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -1899,7 +1899,6 @@ type sdkLibraryImportProperties struct { Compile_dex *bool // If not empty, classes are restricted to the specified packages and their sub-packages. - // This information is used to generate the updatable-bcp-packages.txt file. Permitted_packages []string } diff --git a/sdk/bootclasspath_fragment_sdk_test.go b/sdk/bootclasspath_fragment_sdk_test.go index bed2ecff7..e1ae474a8 100644 --- a/sdk/bootclasspath_fragment_sdk_test.go +++ b/sdk/bootclasspath_fragment_sdk_test.go @@ -539,12 +539,6 @@ sdk_snapshot { snapshot/hiddenapi/index.csv `, rule) - // Make sure that the permitted packages from the prebuilts end up in the - // updatable-bcp-packages.txt file. - rule = module.Output("updatable-bcp-packages.txt") - expectedContents := `'mybootlib\nmyothersdklibrary\n'` - android.AssertStringEquals(t, "updatable-bcp-packages.txt", expectedContents, rule.Args["content"]) - rule = module.Output("out/soong/hiddenapi/hiddenapi-flags.csv.valid") android.AssertStringDoesContain(t, "verify-overlaps", rule.RuleParams.Command, " snapshot/hiddenapi/filtered-flags.csv:snapshot/hiddenapi/signature-patterns.csv ") }),