From b84dbb2f3ec28b10ba6284516b9067cfde3fd4a0 Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Wed, 8 Mar 2023 22:06:35 +0000 Subject: Always include host variants in the sdk snapshot This relands aosp/2478277. The original CL was submitted as part of a stack that broke tm and udc since those branches contains soong modules that have min_sdk_version of type (kind+level). Test: go test ./sdk Bug: 208456999 Change-Id: Ie5d7f2597092a51c6e74e7b3cab2f81c02906d5e --- sdk/update.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sdk/update.go') diff --git a/sdk/update.go b/sdk/update.go index 0820d62b8..d98ab683d 100644 --- a/sdk/update.go +++ b/sdk/update.go @@ -357,6 +357,12 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) { // If the minApiLevel of the member is greater than the target API level then exclude it from // this snapshot. exclude := memberVariantDep.minApiLevel.GreaterThan(targetApiLevel) + // Always include host variants (e.g. host tools) in the snapshot. + // Host variants should not be guarded by a min_sdk_version check. In fact, host variants + // do not have a `min_sdk_version`. + if memberVariantDep.Host() { + exclude = false + } addMember(name, export, exclude) @@ -1263,6 +1269,11 @@ type sdkMemberVariantDep struct { minApiLevel android.ApiLevel } +// Host returns true if the sdk member is a host variant (e.g. host tool) +func (s *sdkMemberVariantDep) Host() bool { + return s.variant.Target().Os.Class == android.Host +} + var _ android.SdkMember = (*sdkMember)(nil) // sdkMember groups all the variants of a specific member module together along with the name of the -- cgit v1.2.3-59-g8ed1b