From 0d4ed0ac56b475cf0b820ecdc8431fdef2367adb Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Mon, 10 May 2021 23:58:40 +0100 Subject: Allow sdk snapshot to contain source module type Bug: 181569894 Test: m nothing Change-Id: I30513dd22e2719099a1a1ef63cacc98336d02e9f --- sdk/update.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'sdk/update.go') diff --git a/sdk/update.go b/sdk/update.go index 707ac63f7..40dba1937 100644 --- a/sdk/update.go +++ b/sdk/update.go @@ -1370,17 +1370,20 @@ func (s *sdk) createMemberSnapshot(ctx *memberContext, member *sdkMember, bpModu memberType := member.memberType - // Set the prefer based on the environment variable. This is a temporary work around to allow a - // snapshot to be created that sets prefer: true. - // TODO(b/174997203): Remove once the ability to select the modules to prefer can be done - // dynamically at build time not at snapshot generation time. - prefer := ctx.sdkMemberContext.Config().IsEnvTrue("SOONG_SDK_SNAPSHOT_PREFER") - - // Set prefer. Setting this to false is not strictly required as that is the default but it does - // provide a convenient hook to post-process the generated Android.bp file, e.g. in tests to - // check the behavior when a prebuilt is preferred. It also makes it explicit what the default - // behavior is for the module. - bpModule.insertAfter("name", "prefer", prefer) + // Do not add the prefer property if the member snapshot module is a source module type. + if !memberType.UsesSourceModuleTypeInSnapshot() { + // Set the prefer based on the environment variable. This is a temporary work around to allow a + // snapshot to be created that sets prefer: true. + // TODO(b/174997203): Remove once the ability to select the modules to prefer can be done + // dynamically at build time not at snapshot generation time. + prefer := ctx.sdkMemberContext.Config().IsEnvTrue("SOONG_SDK_SNAPSHOT_PREFER") + + // Set prefer. Setting this to false is not strictly required as that is the default but it does + // provide a convenient hook to post-process the generated Android.bp file, e.g. in tests to + // check the behavior when a prebuilt is preferred. It also makes it explicit what the default + // behavior is for the module. + bpModule.insertAfter("name", "prefer", prefer) + } // Group the variants by os type. variantsByOsType := make(map[android.OsType][]android.Module) -- cgit v1.2.3-59-g8ed1b