Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK
https://android-review.git.corp.google.com/q/topic:limit_systemsdk
introduced a new check for preventing the use of system SDKs above 34
from Java modules in the vendor partition.
As this may break some unprepared targets, introduce
BUILD_BROKEN_DONT_CHECK_SYSTEMSDK as a temporary escape hatch.
This flag will be deleted eventually.
Bug: 314011075
Test: Add BUILD_BROKEN_DONT_CHECK_SYSTEMSDK := true to BoardConfig.mk
Change-Id: Id7901f85c221bc03fa1c15ef15dbec14b783a79a
diff --git a/android/config.go b/android/config.go
index 24b9b8a..1ea0d94 100644
--- a/android/config.go
+++ b/android/config.go
@@ -1849,6 +1849,10 @@
return InList(name, c.config.productVariables.BuildBrokenInputDirModules)
}
+func (c *deviceConfig) BuildBrokenDontCheckSystemSdk() bool {
+ return c.config.productVariables.BuildBrokenDontCheckSystemSdk
+}
+
func (c *config) BuildWarningBadOptionalUsesLibsAllowlist() []string {
return c.productVariables.BuildWarningBadOptionalUsesLibsAllowlist
}
diff --git a/android/sdk_version.go b/android/sdk_version.go
index 9c84a27..73568af 100644
--- a/android/sdk_version.go
+++ b/android/sdk_version.go
@@ -306,7 +306,7 @@
func (s SdkSpec) ValidateSystemSdk(ctx EarlyModuleContext) bool {
// Do some early checks. This check is currently only for Java modules. And our only concern
// is the use of "system" SDKs.
- if !isJava(ctx.Module()) || s.Kind != SdkSystem {
+ if !isJava(ctx.Module()) || s.Kind != SdkSystem || ctx.DeviceConfig().BuildBrokenDontCheckSystemSdk() {
return true
}
diff --git a/android/variable.go b/android/variable.go
index fa4cfc1..9844080 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -448,6 +448,7 @@
BuildBrokenVendorPropertyNamespace bool `json:",omitempty"`
BuildBrokenIncorrectPartitionImages bool `json:",omitempty"`
BuildBrokenInputDirModules []string `json:",omitempty"`
+ BuildBrokenDontCheckSystemSdk bool `json:",omitempty"`
BuildWarningBadOptionalUsesLibsAllowlist []string `json:",omitempty"`