diff options
author | 2020-01-25 04:12:30 +0000 | |
---|---|---|
committer | 2020-01-25 04:12:30 +0000 | |
commit | cf0bba7a30dc9bbe17c11a238d1f88e56c77e53b (patch) | |
tree | fa109a22f3eee32c2341872325ca1d340f7b54d1 /java/sdk.go | |
parent | 6cc0515e82048818c8028c4a6541675bb6b52cbd (diff) | |
parent | f62013736a39c1e0a9f95e329a18efa582be9ee1 (diff) |
Merge "Revert "Revert "Allow codename.fingerprint format for minSdkVersion"""
Diffstat (limited to 'java/sdk.go')
-rw-r--r-- | java/sdk.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/java/sdk.go b/java/sdk.go index 2aa797a02..2dbcf4a65 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -48,13 +48,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) |