diff options
author | 2024-02-08 01:41:51 +0000 | |
---|---|---|
committer | 2024-02-12 21:12:58 +0000 | |
commit | 842b999a53535bc2e2618a367a4af4a13a395669 (patch) | |
tree | c27edb446b12bd5959db88836cf866855eca5a94 /java/sdk.go | |
parent | 7870d329a5c21132adc16a5974f66839c1422c16 (diff) |
Add environment variable UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA
UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA enables user to specify
${codename}.${sha} as min_sdk_version and target_sdk_version in order to
support mainline train building into android build.
Test: TH
Bug: 295905124
Change-Id: I032d464aaa7314520f98b8eafa53d962940075ce
Diffstat (limited to 'java/sdk.go')
-rw-r--r-- | java/sdk.go | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/java/sdk.go b/java/sdk.go index 81be991e6..3591ccdb6 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -33,13 +33,26 @@ var sdkFrameworkAidlPathKey = android.NewOnceKey("sdkFrameworkAidlPathKey") var nonUpdatableFrameworkAidlPathKey = android.NewOnceKey("nonUpdatableFrameworkAidlPathKey") var apiFingerprintPathKey = android.NewOnceKey("apiFingerprintPathKey") -func UseApiFingerprint(ctx android.BaseModuleContext) bool { - if ctx.Config().UnbundledBuild() && - !ctx.Config().AlwaysUsePrebuiltSdks() && - ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") { - return true +func UseApiFingerprint(ctx android.BaseModuleContext) (useApiFingerprint bool, fingerprintSdkVersion string, fingerprintDeps android.OutputPath) { + if ctx.Config().UnbundledBuild() && !ctx.Config().AlwaysUsePrebuiltSdks() { + apiFingerprintTrue := ctx.Config().IsEnvTrue("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT") + dessertShaIsSet := ctx.Config().Getenv("UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA") != "" + + // Error when both UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT and UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA are set + if apiFingerprintTrue && dessertShaIsSet { + ctx.ModuleErrorf("UNBUNDLED_BUILD_TARGET_SDK_WITH_API_FINGERPRINT=true cannot be set alongside with UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA") + } + + useApiFingerprint = apiFingerprintTrue || dessertShaIsSet + if apiFingerprintTrue { + fingerprintSdkVersion = ctx.Config().PlatformSdkCodename() + fmt.Sprintf(".$$(cat %s)", ApiFingerprintPath(ctx).String()) + fingerprintDeps = ApiFingerprintPath(ctx) + } + if dessertShaIsSet { + fingerprintSdkVersion = ctx.Config().Getenv("UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA") + } } - return false + return useApiFingerprint, fingerprintSdkVersion, fingerprintDeps } func defaultJavaLanguageVersion(ctx android.EarlyModuleContext, s android.SdkSpec) javaVersion { |