From f62013736a39c1e0a9f95e329a18efa582be9ee1 Mon Sep 17 00:00:00 2001 From: Baligh Uddin Date: Fri, 24 Jan 2020 23:15:44 +0000 Subject: Revert "Revert "Allow codename.fingerprint format for minSdkVersion"" This reverts commit 230e241f58bd96a07bf6b6149878d7e872cf2d4e. Reason for revert: This is a revert of a revert. Downstream problem has been fixed and have been validated locally and via Forrest build. Change-Id: I89c51d25b3adb818ea44a983d0ac681a88790d8c --- java/sdk.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'java/sdk.go') diff --git a/java/sdk.go b/java/sdk.go index 66eb284ba..73b7dcf78 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -47,13 +47,29 @@ type sdkContext interface { targetSdkVersion() string } +func UseApiFingerprint(ctx android.BaseModuleContext, v string) bool { + if v == ctx.Config().PlatformSdkCodename() && + ctx.Config().UnbundledBuild() && + !ctx.Config().UnbundledBuildUsePrebuiltSdks() && + ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") { + return true + } + return false +} + func sdkVersionOrDefault(ctx android.BaseModuleContext, v string) string { + var sdkVersion string switch v { case "", "none", "current", "test_current", "system_current", "core_current", "core_platform": - return ctx.Config().DefaultAppTargetSdk() + sdkVersion = ctx.Config().DefaultAppTargetSdk() default: - return v + sdkVersion = v + } + if UseApiFingerprint(ctx, sdkVersion) { + apiFingerprint := ApiFingerprintPath(ctx) + sdkVersion += fmt.Sprintf(".$$(cat %s)", apiFingerprint.String()) } + return sdkVersion } // Returns a sdk version as a number. For modules targeting an unreleased SDK (meaning it does not yet have a number) -- cgit v1.2.3-59-g8ed1b