Revert "Limit System SDK to 34 for Java modules in the vendor pa..."
Revert submission 2894701-limit_systemsdk
Reason for revert: might be breaking builds at 318695834
Bug: 318695834
Reverted changes: /q/submissionid:2894701-limit_systemsdk
Change-Id: Idfaec65ddfbb0091672993d6c857a06e9cfdfb13
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 254bfeb..a446483 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -121,16 +121,8 @@
$(LOCAL_PROPRIETARY_MODULE))
include $(BUILD_SYSTEM)/local_vndk.mk
-
-# local_current_sdk needs to run before local_systemsdk because the former may override
-# LOCAL_SDK_VERSION which is used by the latter.
-include $(BUILD_SYSTEM)/local_current_sdk.mk
-
-# Check if the use of System SDK is correct. Note that, for Soong modules, the system sdk version
-# check is done in Soong. No need to do it twice.
-ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
include $(BUILD_SYSTEM)/local_systemsdk.mk
-endif
+include $(BUILD_SYSTEM)/local_current_sdk.mk
# Ninja has an implicit dependency on the command being run, and kati will
# regenerate the ninja manifest if any read makefile changes, so there is no
diff --git a/core/local_current_sdk.mk b/core/local_current_sdk.mk
index ccdbf77..ea7da8a 100644
--- a/core/local_current_sdk.mk
+++ b/core/local_current_sdk.mk
@@ -14,24 +14,13 @@
# limitations under the License.
#
ifdef BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES
- _override_to := $(BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES)
-
- # b/314011075: apks and jars in the vendor or odm partitions cannot use
- # system SDK 35 and beyond. In order not to suddenly break those vendor
- # modules using current or system_current as their LOCAL_SDK_VERSION,
- # override it to 34, which is the maximum API level allowed for them.
- ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS)))
- _override_to := 34
- endif
-
- ifneq (current,$(_override_to))
+ ifneq (current,$(BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES))
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
ifeq (current,$(LOCAL_SDK_VERSION))
- LOCAL_SDK_VERSION := $(_override_to)
+ LOCAL_SDK_VERSION := $(BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES)
else ifeq (system_current,$(LOCAL_SDK_VERSION))
- LOCAL_SDK_VERSION := system_$(_override_to)
+ LOCAL_SDK_VERSION := system_$(BOARD_CURRENT_API_LEVEL_FOR_VENDOR_MODULES)
endif
endif
endif
- _override_to :=
endif
diff --git a/core/local_systemsdk.mk b/core/local_systemsdk.mk
index fcde700..460073d 100644
--- a/core/local_systemsdk.mk
+++ b/core/local_systemsdk.mk
@@ -33,9 +33,6 @@
# Runtime resource overlays are exempted from building against System SDK.
# TODO(b/155027019): remove this, after no product/vendor apps rely on this behavior.
LOCAL_SDK_VERSION := system_current
- # We have run below again since LOCAL_SDK_VERSION is newly set and the "_current"
- # may have to be updated
- include $(BUILD_SYSTEM)/local_current_sdk.mk
endif
endif
endif
@@ -57,30 +54,7 @@
# If not, vendor apks are treated equally to system apps
_supported_systemsdk_versions := $(PLATFORM_SYSTEMSDK_VERSIONS)
endif
-
- # b/314011075: apks and jars in the vendor or odm partitions cannot use system SDK 35 and beyond.
- # This is to discourage the use of Java APIs in the partitions, which hasn't been supported since
- # the beginning of the project Treble back in Android 10. Ultimately, we'd like to completely
- # disallow any Java API in the partitions, but it shall be done progressively.
- ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
- # 28 is the API level when BOARD_SYSTEMSDK_VERSIONS was introduced. So, it's the oldset API
- # we allow.
- _supported_systemsdk_versions := $(call int_range_list, 28, 34)
- endif
-
- # Extract version number from LOCAL_SDK_VERSION (ex: system_34 -> 34)
_system_sdk_version := $(call get-numeric-sdk-version,$(LOCAL_SDK_VERSION))
- # However, the extraction may fail if it doesn't have any number (i.e. current, core_current,
- # system_current, or similar) Then use the latest platform SDK version number or the actual
- # codename.
- ifeq (,$(_system_sdk_version)
- ifeq (REL,$(PLATFORM_VERSION_CODENAME))
- _system_sdk_version := $(PLATFORM_SDK_VERSION)
- else
- _system_sdk_version := $(PLATFORM_VERSION_CODENAME)
- endif
- endif
-
ifneq ($(_system_sdk_version),$(filter $(_system_sdk_version),$(_supported_systemsdk_versions)))
$(call pretty-error,Incompatible LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)'. \
System SDK version '$(_system_sdk_version)' is not supported. Supported versions are: $(_supported_systemsdk_versions))