From 2db7f46d0c40ed0fa28f005f16cbead70e3cd4e1 Mon Sep 17 00:00:00 2001 From: Sundong Ahn Date: Tue, 27 Aug 2019 18:53:12 +0900 Subject: [PATCH] Add no_apex check for static library If no_apex module is static library, this module is not included to filesInfo. So add a check tat the static library is no_apex among indirect dependencies. Bug: 139016109 Test: m -j Change-Id: I46ddf099715aea0e088027a1141e282969cef0e1 --- apex/apex.go | 2 ++ apex/apex_test.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/apex/apex.go b/apex/apex.go index 9e7f3a077..2ce0d01b6 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -984,6 +984,8 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { } } else if am.CanHaveApexVariants() && am.IsInstallableToApex() { ctx.ModuleErrorf("unexpected tag %q for indirect dependency %q", depTag, depName) + } else if am.NoApex() && !android.InList(depName, whitelistNoApex[ctx.ModuleName()]) { + ctx.ModuleErrorf("tries to include no_apex module %s", depName) } } } diff --git a/apex/apex_test.go b/apex/apex_test.go index 387533c1f..0845b20f8 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -1851,6 +1851,36 @@ func TestApexUsesFailsIfUseNoApex(t *testing.T) { } `) + testApexError(t, `tries to include no_apex module mylib2`, ` + apex { + name: "commonapex", + key: "myapex.key", + native_shared_libs: ["mylib"], + } + + apex_key { + name: "myapex.key", + public_key: "testkey.avbpubkey", + private_key: "testkey.pem", + } + + cc_library { + name: "mylib", + srcs: ["mylib.cpp"], + static_libs: ["mylib2"], + system_shared_libs: [], + stl: "none", + } + + cc_library { + name: "mylib2", + srcs: ["mylib.cpp"], + system_shared_libs: [], + stl: "none", + no_apex: true, + } + `) + ctx, _ := testApex(t, ` apex { name: "myapex",