From 4513f703f9902193fc5c29607ddb4a8f71bfd702 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Thu, 9 Jan 2020 02:05:18 +0000 Subject: [PATCH] Revert "m -deps-info prints the internal/external deps of the APEX" This reverts commit 114ff53f5e66f4493dcee443db677c09e0b9b32b. Reason for revert: broke cf_x86_phone-userdebug_coverage Change-Id: I7221fd0b0baee5407a7322240c170aef8e549e4d --- apex/androidmk.go | 4 ++-- apex/apex.go | 24 +++++------------------- apex/apex_test.go | 25 ++++++------------------- apex/builder.go | 37 ------------------------------------- cc/cc.go | 25 ------------------------- cc/linkable.go | 2 -- java/java.go | 8 -------- rust/rust.go | 5 ----- 8 files changed, 13 insertions(+), 117 deletions(-) diff --git a/apex/androidmk.go b/apex/androidmk.go index 3462c7e44..c42b3484e 100644 --- a/apex/androidmk.go +++ b/apex/androidmk.go @@ -185,8 +185,8 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData { if len(moduleNames) > 0 { fmt.Fprintln(w, "LOCAL_REQUIRED_MODULES +=", strings.Join(moduleNames, " ")) } - if len(a.requiredDeps) > 0 { - fmt.Fprintln(w, "LOCAL_REQUIRED_MODULES +=", strings.Join(a.requiredDeps, " ")) + if len(a.externalDeps) > 0 { + fmt.Fprintln(w, "LOCAL_REQUIRED_MODULES +=", strings.Join(a.externalDeps, " ")) } var postInstallCommands []string if a.prebuiltFileToDelete != "" { diff --git a/apex/apex.go b/apex/apex.go index aadc2c12c..b27b54e3e 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -511,13 +511,8 @@ type apexBundle struct { // list of files to be included in this apex filesInfo []apexFile - // list of module names that should be installed along with this APEX - requiredDeps []string - - // list of module names that this APEX is depending on (to be shown via *-deps-info target) + // list of module names that this APEX is depending on externalDeps []string - // list of module names that this APEX is including (to be shown via *-deps-info target) - internalDeps []string testApex bool vndkApex bool @@ -930,7 +925,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.primaryApexType = true if ctx.Config().InstallExtraFlattenedApexes() { - a.requiredDeps = append(a.requiredDeps, a.Name()+flattenedSuffix) + a.externalDeps = append(a.externalDeps, a.Name()+flattenedSuffix) } } case zipApex: @@ -989,9 +984,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { depTag := ctx.OtherModuleDependencyTag(child) depName := ctx.OtherModuleName(child) if _, isDirectDep := parent.(*apexBundle); isDirectDep { - if depTag != keyTag && depTag != certificateTag { - a.internalDeps = append(a.internalDeps, depName) - } switch depTag { case sharedLibTag: if cc, ok := child.(*cc.Module); ok { @@ -1122,10 +1114,9 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { // // Always include if we are a host-apex however since those won't have any // system libraries. - if !android.DirectlyInAnyApex(ctx, cc.Name()) && !android.InList(cc.Name(), a.requiredDeps) { - a.requiredDeps = append(a.requiredDeps, cc.Name()) + if !android.DirectlyInAnyApex(ctx, cc.Name()) && !android.InList(cc.Name(), a.externalDeps) { + a.externalDeps = append(a.externalDeps, cc.Name()) } - a.externalDeps = append(a.externalDeps, depName) requireNativeLibs = append(requireNativeLibs, cc.OutputFile().Path().Base()) // Don't track further return false @@ -1133,8 +1124,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { af := apexFileForNativeLibrary(ctx, cc, handleSpecialLibs) af.transitiveDep = true filesInfo = append(filesInfo, af) - a.internalDeps = append(a.internalDeps, depName) - a.internalDeps = append(a.internalDeps, cc.AllStaticDeps()...) return true // track transitive dependencies } } else if cc.IsTestPerSrcDepTag(depTag) { @@ -1150,10 +1139,8 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { return true // track transitive dependencies } } else if java.IsJniDepTag(depTag) { - a.externalDeps = append(a.externalDeps, depName) + // Do nothing for JNI dep. JNI libraries are always embedded in APK-in-APEX. return true - } else if java.IsStaticLibDepTag(depTag) { - a.internalDeps = append(a.internalDeps, depName) } else if am.CanHaveApexVariants() && am.IsInstallableToApex() { ctx.ModuleErrorf("unexpected tag %q for indirect dependency %q", depTag, depName) } @@ -1251,7 +1238,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { apexName := proptools.StringDefault(a.properties.Apex_name, a.Name()) a.compatSymlinks = makeCompatSymlinks(apexName, ctx) - a.buildApexDependencyInfo(ctx) } func newApexBundle() *apexBundle { diff --git a/apex/apex_test.go b/apex/apex_test.go index 9e9f88262..0d929ed2a 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -219,7 +219,6 @@ func testApexContext(t *testing.T, bp string, handlers ...testCustomizer) (*andr "apex_manifest.json": nil, "AndroidManifest.xml": nil, "system/sepolicy/apex/myapex-file_contexts": nil, - "system/sepolicy/apex/myapex2-file_contexts": nil, "system/sepolicy/apex/otherapex-file_contexts": nil, "system/sepolicy/apex/commonapex-file_contexts": nil, "system/sepolicy/apex/com.android.vndk-file_contexts": nil, @@ -521,12 +520,6 @@ func TestBasicApex(t *testing.T) { } ensureListContains(t, noticeInputs, "NOTICE") ensureListContains(t, noticeInputs, "custom_notice") - - depsInfo := strings.Split(ctx.ModuleForTests("myapex", "android_common_myapex_image").Output("myapex-deps-info.txt").Args["content"], "\\n") - ensureListContains(t, depsInfo, "internal myjar") - ensureListContains(t, depsInfo, "internal mylib") - ensureListContains(t, depsInfo, "internal mylib2") - ensureListContains(t, depsInfo, "internal myotherjar") } func TestDefaults(t *testing.T) { @@ -747,13 +740,13 @@ func TestApexWithStubs(t *testing.T) { func TestApexWithExplicitStubsDependency(t *testing.T) { ctx, _ := testApex(t, ` apex { - name: "myapex2", - key: "myapex2.key", + name: "myapex", + key: "myapex.key", native_shared_libs: ["mylib"], } apex_key { - name: "myapex2.key", + name: "myapex.key", public_key: "testkey.avbpubkey", private_key: "testkey.pem", } @@ -786,7 +779,7 @@ func TestApexWithExplicitStubsDependency(t *testing.T) { `) - apexRule := ctx.ModuleForTests("myapex2", "android_common_myapex2_image").Rule("apexRule") + apexRule := ctx.ModuleForTests("myapex", "android_common_myapex_image").Rule("apexRule") copyCmds := apexRule.Args["copy_commands"] // Ensure that direct non-stubs dep is always included @@ -798,7 +791,7 @@ func TestApexWithExplicitStubsDependency(t *testing.T) { // Ensure that dependency of stubs is not included ensureNotContains(t, copyCmds, "image.apex/lib64/libbar.so") - mylibLdFlags := ctx.ModuleForTests("mylib", "android_arm64_armv8-a_shared_myapex2").Rule("ld").Args["libFlags"] + mylibLdFlags := ctx.ModuleForTests("mylib", "android_arm64_armv8-a_shared_myapex").Rule("ld").Args["libFlags"] // Ensure that mylib is linking with version 10 of libfoo ensureContains(t, mylibLdFlags, "libfoo/android_arm64_armv8-a_shared_10/libfoo.so") @@ -809,12 +802,6 @@ func TestApexWithExplicitStubsDependency(t *testing.T) { // Ensure that libfoo stubs is not linking to libbar (since it is a stubs) ensureNotContains(t, libFooStubsLdFlags, "libbar.so") - - depsInfo := strings.Split(ctx.ModuleForTests("myapex2", "android_common_myapex2_image").Output("myapex2-deps-info.txt").Args["content"], "\\n") - ensureListContains(t, depsInfo, "internal mylib") - ensureListContains(t, depsInfo, "external libfoo") - ensureListNotContains(t, depsInfo, "internal libfoo") - ensureListNotContains(t, depsInfo, "external mylib") } func TestApexWithRuntimeLibsDependency(t *testing.T) { @@ -2665,7 +2652,7 @@ func TestInstallExtraFlattenedApexes(t *testing.T) { config.TestProductVariables.InstallExtraFlattenedApexes = proptools.BoolPtr(true) }) ab := ctx.ModuleForTests("myapex", "android_common_myapex_image").Module().(*apexBundle) - ensureListContains(t, ab.requiredDeps, "myapex.flattened") + ensureListContains(t, ab.externalDeps, "myapex.flattened") mk := android.AndroidMkDataForTest(t, config, "", ab) var builder strings.Builder mk.Custom(&builder, ab.Name(), "TARGET_", "", mk) diff --git a/apex/builder.go b/apex/builder.go index 5bc21d611..fe465f57b 100644 --- a/apex/builder.go +++ b/apex/builder.go @@ -553,40 +553,3 @@ func (a *apexBundle) getOverrideManifestPackageName(ctx android.ModuleContext) s } return "" } - -func (a *apexBundle) buildApexDependencyInfo(ctx android.ModuleContext) { - if !a.primaryApexType { - return - } - - internalDeps := a.internalDeps - externalDeps := a.externalDeps - - internalDeps = android.SortedUniqueStrings(internalDeps) - externalDeps = android.SortedUniqueStrings(externalDeps) - externalDeps = android.RemoveListFromList(externalDeps, internalDeps) - - var content strings.Builder - for _, name := range internalDeps { - fmt.Fprintf(&content, "internal %s\\n", name) - } - for _, name := range externalDeps { - fmt.Fprintf(&content, "external %s\\n", name) - } - - depsInfoFile := android.PathForOutput(ctx, a.Name()+"-deps-info.txt") - ctx.Build(pctx, android.BuildParams{ - Rule: android.WriteFile, - Description: "Dependency Info", - Output: depsInfoFile, - Args: map[string]string{ - "content": content.String(), - }, - }) - - ctx.Build(pctx, android.BuildParams{ - Rule: android.Phony, - Output: android.PathForPhony(ctx, a.Name()+"-deps-info"), - Inputs: []android.Path{depsInfoFile}, - }) -} diff --git a/cc/cc.go b/cc/cc.go index 0bab41fd0..0c3222536 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -398,13 +398,6 @@ func IsSharedDepTag(depTag blueprint.DependencyTag) bool { return ok && ccDepTag.Shared } -func IsStaticDepTag(depTag blueprint.DependencyTag) bool { - ccDepTag, ok := depTag.(DependencyTag) - return ok && (ccDepTag == staticExportDepTag || - ccDepTag == lateStaticDepTag || - ccDepTag == wholeStaticDepTag) -} - func IsRuntimeDepTag(depTag blueprint.DependencyTag) bool { ccDepTag, ok := depTag.(DependencyTag) return ok && ccDepTag == runtimeDepTag @@ -470,9 +463,6 @@ type Module struct { makeLinkType string // Kythe (source file indexer) paths for this compilation module kytheFiles android.Paths - - // name of the modules that are direct or indirect static deps of this module - allStaticDeps []string } func (c *Module) Toc() android.OptionalPath { @@ -1268,15 +1258,6 @@ func orderStaticModuleDeps(module LinkableInterface, staticDeps []LinkableInterf return results } -func gatherTransitiveStaticDeps(staticDeps []LinkableInterface) []string { - var ret []string - for _, dep := range staticDeps { - ret = append(ret, dep.Module().Name()) - ret = append(ret, dep.AllStaticDeps()...) - } - return android.FirstUniqueStrings(ret) -} - func (c *Module) IsTestPerSrcAllTestsVariation() bool { test, ok := c.linker.(testPerSrc) return ok && test.isAllTestsVariation() @@ -2347,8 +2328,6 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps { c.sabi.Properties.ReexportedIncludes = android.FirstUniqueStrings(c.sabi.Properties.ReexportedIncludes) } - c.allStaticDeps = gatherTransitiveStaticDeps(directStaticDeps) - return depPaths } @@ -2484,10 +2463,6 @@ func (c *Module) installable() bool { return c.installer != nil && !c.Properties.PreventInstall && c.IsForPlatform() && c.outputFile.Valid() } -func (c *Module) AllStaticDeps() []string { - return c.allStaticDeps -} - func (c *Module) AndroidMkWriteAdditionalDependenciesForSourceAbiDiff(w io.Writer) { if c.linker != nil { if library, ok := c.linker.(*libraryDecorator); ok { diff --git a/cc/linkable.go b/cc/linkable.go index 106092b2c..815d405c8 100644 --- a/cc/linkable.go +++ b/cc/linkable.go @@ -51,8 +51,6 @@ type LinkableInterface interface { ToolchainLibrary() bool NdkPrebuiltStl() bool StubDecorator() bool - - AllStaticDeps() []string } type DependencyTag struct { diff --git a/java/java.go b/java/java.go index 9f26e1907..27f69b848 100644 --- a/java/java.go +++ b/java/java.go @@ -492,14 +492,6 @@ var ( usesLibTag = dependencyTag{name: "uses-library"} ) -func IsLibDepTag(depTag blueprint.DependencyTag) bool { - return depTag == libTag -} - -func IsStaticLibDepTag(depTag blueprint.DependencyTag) bool { - return depTag == staticLibTag -} - type sdkDep struct { useModule, useFiles, useDefaultLibs, invalidVersion bool diff --git a/rust/rust.go b/rust/rust.go index 14513fbf9..0eab8d222 100644 --- a/rust/rust.go +++ b/rust/rust.go @@ -346,11 +346,6 @@ func (mod *Module) GetStaticVariant() cc.LinkableInterface { return nil } -func (mod *Module) AllStaticDeps() []string { - // TODO(jiyong): do this for rust? - return nil -} - func (mod *Module) Module() android.Module { return mod }