aboutsummaryrefslogtreecommitdiffstats
path: root/java/sdk.go
diff options
context:
space:
mode:
authorBaligh Uddin <baligh@google.com>2020-01-24 23:15:44 +0000
committerBaligh Uddin <baligh@google.com>2020-01-24 23:15:44 +0000
commitf62013736a39c1e0a9f95e329a18efa582be9ee1 (patch)
tree6b12234889f30826e91997f2ccb51bb8afda0b28 /java/sdk.go
parent230e241f58bd96a07bf6b6149878d7e872cf2d4e (diff)
downloadbuild_soong-f62013736a39c1e0a9f95e329a18efa582be9ee1.tar.gz
build_soong-f62013736a39c1e0a9f95e329a18efa582be9ee1.tar.bz2
build_soong-f62013736a39c1e0a9f95e329a18efa582be9ee1.zip
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
Diffstat (limited to 'java/sdk.go')
-rw-r--r--java/sdk.go20
1 files changed, 18 insertions, 2 deletions
diff --git a/java/sdk.go b/java/sdk.go
index 66eb284b..73b7dcf7 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)