Revert "Export non-apex variants of modules to make"
Revert submission 2462194-androidmk_for_apex_dependencies
Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=aosp-master&target=full-eng&lkgb=9723453&lkbb=9724944&fkbb=9723508, bug b/272663333.
Reverted changes: /q/submissionid:2462194-androidmk_for_apex_dependencies
Bug: 272663333
Change-Id: I847fa910a8d54de19954f56fe92a80a9bcd0ee18
diff --git a/android/androidmk.go b/android/androidmk.go
index a7b69f6..aa411d1 100644
--- a/android/androidmk.go
+++ b/android/androidmk.go
@@ -560,8 +560,6 @@
a.SetPaths("LOCAL_SOONG_INSTALL_SYMLINKS", base.katiSymlinks.InstallPaths().Paths())
}
- a.SetBoolIfTrue("LOCAL_UNINSTALLABLE_MODULE", base.commonProperties.SkipInstall)
-
if am, ok := mod.(ApexModule); ok {
a.SetBoolIfTrue("LOCAL_NOT_AVAILABLE_FOR_PLATFORM", am.NotAvailableForPlatform())
}
diff --git a/android/apex.go b/android/apex.go
index a0ac5b8..358818f 100644
--- a/android/apex.go
+++ b/android/apex.go
@@ -603,7 +603,7 @@
// Do not install the module for platform, but still allow it to output
// uninstallable AndroidMk entries in certain cases when they have side
// effects. TODO(jiyong): move this routine to somewhere else
- mod.SkipInstall()
+ mod.MakeUninstallable()
}
if !platformVariation {
mctx.SetVariationProvider(mod, ApexInfoProvider, apexInfos[i-1])
diff --git a/android/module.go b/android/module.go
index b45ed95..773d77b 100644
--- a/android/module.go
+++ b/android/module.go
@@ -505,8 +505,8 @@
PartitionTag(DeviceConfig) string
HideFromMake()
IsHideFromMake() bool
- SkipInstall()
IsSkipInstall() bool
+ MakeUninstallable()
ReplacedByPrebuilt()
IsReplacedByPrebuilt() bool
ExportedToMake() bool
@@ -1964,6 +1964,15 @@
return m.commonProperties.SkipInstall
}
+// Similar to HideFromMake, but if the AndroidMk entry would set
+// LOCAL_UNINSTALLABLE_MODULE then this variant may still output that entry
+// rather than leaving it out altogether. That happens in cases where it would
+// have other side effects, in particular when it adds a NOTICE file target,
+// which other install targets might depend on.
+func (m *ModuleBase) MakeUninstallable() {
+ m.HideFromMake()
+}
+
func (m *ModuleBase) ReplacedByPrebuilt() {
m.commonProperties.ReplacedByPrebuilt = true
m.HideFromMake()
diff --git a/android/packaging_test.go b/android/packaging_test.go
index f32d1c3..91ac1f3 100644
--- a/android/packaging_test.go
+++ b/android/packaging_test.go
@@ -15,7 +15,6 @@
package android
import (
- "strings"
"testing"
"github.com/google/blueprint"
@@ -29,8 +28,6 @@
Deps []string
Skip_install *bool
}
-
- builtFile Path
}
// dep tag used in this test. All dependencies are considered as installable.
@@ -51,21 +48,13 @@
}
func (m *componentTestModule) GenerateAndroidBuildActions(ctx ModuleContext) {
- m.builtFile = PathForModuleOut(ctx, m.Name())
+ builtFile := PathForModuleOut(ctx, m.Name())
dir := ctx.Target().Arch.ArchType.Multilib
installDir := PathForModuleInstall(ctx, dir)
if proptools.Bool(m.props.Skip_install) {
m.SkipInstall()
}
- ctx.InstallFile(installDir, m.Name(), m.builtFile)
-}
-
-func (m *componentTestModule) AndroidMkEntries() []AndroidMkEntries {
- return []AndroidMkEntries{
- {
- OutputFile: OptionalPathForPath(m.builtFile),
- },
- }
+ ctx.InstallFile(installDir, m.Name(), builtFile)
}
// Module that itself is a package
@@ -262,35 +251,6 @@
`, []string{"lib32/foo", "lib64/foo", "lib64/bar"})
}
-func TestSkipInstallProducesLocalUninstallableModule(t *testing.T) {
- result := GroupFixturePreparers(
- PrepareForTestWithArchMutator,
- FixtureRegisterWithContext(func(ctx RegistrationContext) {
- ctx.RegisterModuleType("component", componentTestModuleFactory)
- ctx.RegisterModuleType("package_module", packageTestModuleFactory)
- }),
- FixtureWithRootAndroidBp(`
-component {
- name: "foo",
- skip_install: true,
-}
-
-package_module {
- name: "package",
- deps: ["foo"],
-}
-`),
- ).RunTest(t)
- module := result.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*componentTestModule)
- entries := AndroidMkEntriesForTest(t, result.TestContext, module)
- builder := &strings.Builder{}
- entries[0].write(builder)
- androidMkString := builder.String()
- if !strings.Contains(androidMkString, "LOCAL_UNINSTALLABLE_MODULE := true") {
- t.Errorf("Expected android mk entries to contain \"LOCAL_UNINSTALLABLE_MODULE := true\", got: \n%s", androidMkString)
- }
-}
-
func TestPackagingBaseSingleTarget(t *testing.T) {
multiTarget := false
runPackagingTest(t, multiTarget,