From 3607f21303837dcc5ec1da66fa1bc8ffc680de61 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Mon, 7 May 2018 15:28:05 -0700 Subject: [PATCH] Don't install modules in unexported namespaces Make builds handle modules with duplicate names in different namespaces by passing a list of exported namespaces to Soong. Soong-only builds can try to install both modules, leading to a duplicate rule error. Re-use the same list of exported namespaces in Soong, which will be empty in all existing Soong-only builds. This will effectively only install modules in the root namespace in Soong-only builds. Test: m checkbuild Bug: 79369665 Change-Id: Ie80d4b77e1dce165a33579fcf58b571989794b35 --- android/module.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/android/module.go b/android/module.go index 552d16517..4797c0c23 100644 --- a/android/module.go +++ b/android/module.go @@ -1015,6 +1015,13 @@ func (a *androidModuleContext) skipInstall(fullInstallPath OutputPath) bool { return true } + // We'll need a solution for choosing which of modules with the same name in different + // namespaces to install. For now, reuse the list of namespaces exported to Make as the + // list of namespaces to install in a Soong-only build. + if !a.module.base().commonProperties.NamespaceExportedToMake { + return true + } + if a.Device() { if a.Config().SkipDeviceInstall() { return true