Merge Android 24Q2 Release (ab/11526283) to aosp-main-future
Bug: 337098550 Merged-In: I713a528d437e3446d32461add648e3b52b036d7a Change-Id: I7fdd415a218d1425f7fc37095d02c674ddfae6eb
This commit is contained in:
commit
b04e9cc36f
20 changed files with 236 additions and 132 deletions
|
@ -60,19 +60,10 @@ endif
|
|||
# Set this soong config variable to true for now, and cleanup `prefer` as part of b/308187800
|
||||
$(call add_soong_config_var_value,ANDROID,module_build_from_source,true)
|
||||
|
||||
# Messaging app vars
|
||||
ifeq (eng,$(TARGET_BUILD_VARIANT))
|
||||
$(call soong_config_set,messaging,build_variant_eng,true)
|
||||
endif
|
||||
|
||||
# Enable SystemUI optimizations by default unless explicitly set.
|
||||
SYSTEMUI_OPTIMIZE_JAVA ?= true
|
||||
$(call add_soong_config_var,ANDROID,SYSTEMUI_OPTIMIZE_JAVA)
|
||||
|
||||
# Enable Compose in SystemUI by default.
|
||||
SYSTEMUI_USE_COMPOSE ?= true
|
||||
$(call add_soong_config_var,ANDROID,SYSTEMUI_USE_COMPOSE)
|
||||
|
||||
ifdef PRODUCT_AVF_ENABLED
|
||||
$(call add_soong_config_var_value,ANDROID,avf_enabled,$(PRODUCT_AVF_ENABLED))
|
||||
endif
|
||||
|
@ -144,6 +135,7 @@ endif
|
|||
|
||||
# Add crashrecovery build flag to soong
|
||||
$(call soong_config_set,ANDROID,release_crashrecovery_module,$(RELEASE_CRASHRECOVERY_MODULE))
|
||||
# Add crashrecovery file move flags to soong, for both platform and module
|
||||
ifeq (true,$(RELEASE_CRASHRECOVERY_FILE_MOVE))
|
||||
$(call soong_config_set,ANDROID,crashrecovery_files_in_module,true)
|
||||
$(call soong_config_set,ANDROID,crashrecovery_files_in_platform,false)
|
||||
|
@ -151,5 +143,9 @@ else
|
|||
$(call soong_config_set,ANDROID,crashrecovery_files_in_module,false)
|
||||
$(call soong_config_set,ANDROID,crashrecovery_files_in_platform,true)
|
||||
endif
|
||||
# Weirdly required because platform_bootclasspath is using AUTO namespace
|
||||
$(call soong_config_set,AUTO,release_crashrecovery_module,$(RELEASE_CRASHRECOVERY_MODULE))
|
||||
# Required as platform_bootclasspath is using this namespace
|
||||
$(call soong_config_set,bootclasspath,release_crashrecovery_module,$(RELEASE_CRASHRECOVERY_MODULE))
|
||||
|
||||
# Enable Profiling module. Also used by platform_bootclasspath.
|
||||
$(call soong_config_set,ANDROID,release_package_profiling_module,$(RELEASE_PACKAGE_PROFILING_MODULE))
|
||||
$(call soong_config_set,bootclasspath,release_package_profiling_module,$(RELEASE_PACKAGE_PROFILING_MODULE))
|
||||
|
|
|
@ -16,6 +16,8 @@ test_suite_name := cts
|
|||
test_suite_tradefed := cts-tradefed
|
||||
test_suite_dynamic_config := cts/tools/cts-tradefed/DynamicConfig.xml
|
||||
test_suite_readme := cts/tools/cts-tradefed/README
|
||||
test_suite_tools := $(HOST_OUT_JAVA_LIBRARIES)/ats_console_deploy.jar \
|
||||
$(HOST_OUT_JAVA_LIBRARIES)/ats_olc_server_local_mode_deploy.jar
|
||||
|
||||
$(call declare-1p-target,$(test_suite_dynamic_config),cts)
|
||||
$(call declare-1p-target,$(test_suite_readme),cts)
|
||||
|
|
32
core/tasks/mcts.mk
Normal file
32
core/tasks/mcts.mk
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Copyright (C) 2023 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
ifneq ($(wildcard test/mts/README.md),)
|
||||
|
||||
mcts_test_suites :=
|
||||
mcts_test_suites += mcts
|
||||
|
||||
$(foreach module, $(mts_modules), $(eval mcts_test_suites += mcts-$(module)))
|
||||
|
||||
$(foreach suite, $(mcts_test_suites), \
|
||||
$(eval test_suite_name := $(suite)) \
|
||||
$(eval test_suite_tradefed := mts-tradefed) \
|
||||
$(eval test_suite_readme := test/mts/README.md) \
|
||||
$(eval include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk) \
|
||||
$(eval .PHONY: $(suite)) \
|
||||
$(eval $(suite): $(compatibility_zip)) \
|
||||
$(eval $(call dist-for-goals, $(suite), $(compatibility_zip))) \
|
||||
)
|
||||
|
||||
endif
|
|
@ -26,7 +26,15 @@
|
|||
# Output variables:
|
||||
# compatibility_zip: the path to the output zip file.
|
||||
|
||||
test_suite_subdir := android-$(test_suite_name)
|
||||
special_mts_test_suites :=
|
||||
special_mts_test_suites += mcts
|
||||
special_mts_test_suites += $(mts_modules)
|
||||
ifneq ($(filter $(special_mts_test_suites),$(subst -, ,$(test_suite_name))),)
|
||||
test_suite_subdir := android-mts
|
||||
else
|
||||
test_suite_subdir := android-$(test_suite_name)
|
||||
endif
|
||||
|
||||
out_dir := $(HOST_OUT)/$(test_suite_name)/$(test_suite_subdir)
|
||||
test_artifacts := $(COMPATIBILITY.$(test_suite_name).FILES)
|
||||
test_tools := $(HOST_OUT_JAVA_LIBRARIES)/tradefed.jar \
|
||||
|
@ -107,9 +115,9 @@ test_suite_notice_html := $(out_dir)/NOTICE.html
|
|||
compatibility_zip_deps += $(test_suite_notice_txt)
|
||||
compatibility_zip_resources += $(test_suite_notice_txt)
|
||||
|
||||
compatibility_tests_list_zip := $(out_dir)-tests_list.zip
|
||||
compatibility_tests_list_zip := $(HOST_OUT)/$(test_suite_name)/android-$(test_suite_name)-tests_list.zip
|
||||
|
||||
compatibility_zip := $(out_dir).zip
|
||||
compatibility_zip := $(HOST_OUT)/$(test_suite_name)/android-$(test_suite_name).zip
|
||||
$(compatibility_zip) : .KATI_IMPLICIT_OUTPUTS := $(compatibility_tests_list_zip)
|
||||
$(compatibility_zip): PRIVATE_OUT_DIR := $(out_dir)
|
||||
$(compatibility_zip): PRIVATE_TOOLS := $(test_tools) $(test_suite_prebuilt_tools)
|
||||
|
|
|
@ -82,6 +82,7 @@ PRODUCT_PACKAGES += \
|
|||
CtsShimPrivPrebuilt \
|
||||
debuggerd\
|
||||
device_config \
|
||||
DeviceDiagnostics \
|
||||
dmctl \
|
||||
dnsmasq \
|
||||
dmesgd \
|
||||
|
@ -90,7 +91,9 @@ PRODUCT_PACKAGES += \
|
|||
dump.erofs \
|
||||
dumpstate \
|
||||
dumpsys \
|
||||
E2eeContactKeysProvider \
|
||||
e2fsck \
|
||||
enhanced-confirmation.xml \
|
||||
ExtShared \
|
||||
flags_health_check \
|
||||
framework-graphics \
|
||||
|
@ -286,6 +289,7 @@ PRODUCT_PACKAGES += \
|
|||
uiautomator \
|
||||
uinput \
|
||||
uncrypt \
|
||||
uprobestats \
|
||||
usbd \
|
||||
vdc \
|
||||
vintf \
|
||||
|
@ -327,6 +331,12 @@ else
|
|||
com.android.nfcservices
|
||||
endif
|
||||
|
||||
# Check if the build supports Profiling module
|
||||
ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
com.android.profiling
|
||||
endif
|
||||
|
||||
ifeq ($(RELEASE_USE_WEBVIEW_BOOTSTRAP_MODULE),true)
|
||||
PRODUCT_PACKAGES += \
|
||||
com.android.webview.bootstrap
|
||||
|
@ -498,3 +508,5 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/build_variables.mk)
|
|||
|
||||
# Use "image" APEXes always.
|
||||
$(call inherit-product,$(SRC_TARGET_DIR)/product/updatable_apex.mk)
|
||||
|
||||
$(call soong_config_set, bionic, large_system_property_node, $(RELEASE_LARGE_SYSTEM_PROPERTY_NODE))
|
||||
|
|
|
@ -101,8 +101,16 @@ ifeq ($(RELEASE_PACKAGE_NFC_STACK),NfcNci)
|
|||
PRODUCT_BOOT_JARS += \
|
||||
framework-nfc
|
||||
else
|
||||
PRODUCT_APEX_BOOT_JARS := \
|
||||
PRODUCT_APEX_BOOT_JARS += \
|
||||
com.android.nfcservices:framework-nfc
|
||||
$(call soong_config_set,bootclasspath,nfc_apex_bootclasspath_fragment,true)
|
||||
endif
|
||||
|
||||
# Check if build supports Profiling module.
|
||||
ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true)
|
||||
PRODUCT_APEX_BOOT_JARS += \
|
||||
com.android.profiling:framework-profiling \
|
||||
|
||||
endif
|
||||
|
||||
# List of system_server classpath jars delivered via apex.
|
||||
|
@ -153,6 +161,13 @@ PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS := \
|
|||
com.android.uwb:service-uwb \
|
||||
com.android.wifi:service-wifi \
|
||||
|
||||
# Check if build supports Profiling module.
|
||||
ifeq ($(RELEASE_PACKAGE_PROFILING_MODULE),true)
|
||||
PRODUCT_APEX_STANDALONE_SYSTEM_SERVER_JARS += \
|
||||
com.android.profiling:service-profiling \
|
||||
|
||||
endif
|
||||
|
||||
# Overrides the (apex, jar) pairs above when determining the on-device location. The format is:
|
||||
# <old_apex>:<old_jar>:<new_apex>:<new_jar>
|
||||
PRODUCT_CONFIGURED_JAR_LOCATION_OVERRIDES := \
|
||||
|
|
|
@ -75,6 +75,10 @@ PRODUCT_PACKAGES += \
|
|||
vr \
|
||||
|
||||
PRODUCT_PACKAGES += $(RELEASE_PACKAGE_VIRTUAL_CAMERA)
|
||||
# Set virtual_camera_service_enabled soong config variable based on the
|
||||
# RELEASE_PACKAGE_VIRTUAL_CAMERA build. virtual_camera_service_enabled soong config
|
||||
# variable is used to prevent accessing the service when it's not present in the build.
|
||||
$(call soong_config_set,vdm,virtual_camera_service_enabled,$(if $(RELEASE_PACKAGE_VIRTUAL_CAMERA),true,false))
|
||||
|
||||
PRODUCT_SYSTEM_SERVER_APPS += \
|
||||
FusedLocation \
|
||||
|
|
|
@ -3,18 +3,19 @@ This folder contains automation and CI scripts for [finalizing](https://go/andro
|
|||
|
||||
## Automation:
|
||||
1. [Environment setup](./environment.sh). Set values for varios finalization constants.
|
||||
2. [Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh). Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
|
||||
3. [Finalize Android](./finalize-sdk-rel.sh). Mark branch as "REL", i.e. prepares for Android release. Any signed build containing these changes will be considered an official Android Release. Referred as a 2nd finalization step.
|
||||
4. [Finalize SDK and submit](./step-1.sh). Do [Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh) step, create CLs, organize them into topic and send to Gerrit.
|
||||
a. [Update SDK and submit](./update-step-1.sh). Same as above, but updates the existings CLs.
|
||||
5. [Finalize Android and submit](./step-2.sh). Do [Finalize Android](./finalize-sdk-rel.sh) step, create CLs, organize them into topic and send to Gerrit.
|
||||
a. [Update Android and submit](./update-step-2.sh). Same as above, but updates the existings CLs.
|
||||
1. [Finalize VINTF](./finalize-vintf-resources.sh). Prepare the branch for VINTF release.
|
||||
1. [Finalize SDK](./finalize-sdk-resources.sh). Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
|
||||
1. [Finalize Android](./finalize-sdk-rel.sh). Mark branch as "REL", i.e. prepares for Android release. Any signed build containing these changes will be considered an official Android Release. Referred as a 2nd finalization step.
|
||||
1. [Finalize VINTF and submit](./step-0.sh). Do Finalize VINTF step, create CLs, organize them into topic and send to Gerrit.
|
||||
1. [Finalize SDK and submit](./step-1.sh). Do Finalize SDK step, create CLs, organize them into topic and send to Gerrit.
|
||||
1. [Finalize Android and submit](./step-2.sh). Do [Finalize Android](./finalize-sdk-rel.sh) step, create CLs, organize them into topic and send to Gerrit.
|
||||
|
||||
## CI:
|
||||
Performed in build targets in Finalization branches.
|
||||
1. [Finalization Step 1, git_main-fina-1-release](https://android-build.corp.google.com/build_explorer/branch/git_main-fina-1-release). Test [1st step/Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh).
|
||||
3. [Finalization Step 2, git_main-fina-2-release](https://android-build.corp.google.com/build_explorer/branch/git_main-fina-2-release). Test [1st step/Finalize SDK](./finalize-aidl-vndk-sdk-resources.sh) and [2nd step/Finalize Android](./finalize-sdk-rel.sh). Use [local finalization](./localonly-steps.sh) to build and copy presubmits.
|
||||
5. [Local finalization steps](./localonly-steps.sh) are done only during local testing or in the CI lab. Normally these steps use artifacts from other builds.
|
||||
1. [Finalization Step 0, git_main-fina-0-release](https://android-build.corp.google.com/build_explorer/branch/git_main-fina-0-release). Test Finalize VINTF.
|
||||
1. [Finalization Step 1, git_main-fina-1-release](https://android-build.corp.google.com/build_explorer/branch/git_main-fina-1-release). Test Finalize VINTF, Finalize SDK.
|
||||
1. [Finalization Step 2, git_main-fina-2-release](https://android-build.corp.google.com/build_explorer/branch/git_main-fina-2-release). Test Finalize VINTF, Finalize SDK, and [2nd step/Finalize Android](./finalize-sdk-rel.sh). Use [local finalization](./localonly-steps.sh) to build and copy presubmits.
|
||||
1. [Local finalization steps](./localonly-steps.sh) are done only during local testing or in the CI lab. Normally these steps use artifacts from other builds.
|
||||
|
||||
## Utility:
|
||||
[Full cleanup](./cleanup.sh). Remove all local changes and switch each project into head-less state. This is the best state to sync/rebase/finalize the branch.
|
||||
|
|
17
tools/finalization/build-step-0.sh
Executable file
17
tools/finalization/build-step-0.sh
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2024 Google Inc. All rights reserved.
|
||||
|
||||
set -ex
|
||||
|
||||
function finalize_main_step0() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] ; then
|
||||
# VINTF finalization
|
||||
source $top/build/make/tools/finalization/finalize-vintf-resources.sh
|
||||
fi;
|
||||
}
|
||||
|
||||
finalize_main_step0
|
||||
|
|
@ -7,11 +7,16 @@ function finalize_main_step12() {
|
|||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] ; then
|
||||
# SDK codename -> int
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
# VINTF finalization
|
||||
source $top/build/make/tools/finalization/finalize-vintf-resources.sh
|
||||
fi;
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] || [ "$FINAL_STATE" = "sdk" ] ; then
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] || [ "$FINAL_STATE" = "vintf" ] ; then
|
||||
# SDK codename -> int
|
||||
source $top/build/make/tools/finalization/finalize-sdk-resources.sh
|
||||
fi;
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] || [ "$FINAL_STATE" = "vintf" ] || [ "$FINAL_STATE" = "sdk" ] ; then
|
||||
# ADB, Platform/Mainline SDKs build and move to prebuilts
|
||||
source $top/build/make/tools/finalization/localonly-steps.sh
|
||||
|
||||
|
|
|
@ -7,8 +7,13 @@ function finalize_main_step1() {
|
|||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] ; then
|
||||
# VINTF finalization
|
||||
source $top/build/make/tools/finalization/finalize-vintf-resources.sh
|
||||
fi;
|
||||
|
||||
if [ "$FINAL_STATE" = "unfinalized" ] || [ "$FINAL_STATE" = "vintf" ] ; then
|
||||
# Build finalization artifacts.
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
source $top/build/make/tools/finalization/finalize-sdk-resources.sh
|
||||
fi;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,8 +19,14 @@ export FINAL_MAINLINE_EXTENSION='58'
|
|||
|
||||
# Options:
|
||||
# 'unfinalized' - branch is in development state,
|
||||
# 'sdk' - SDK/API is finalized
|
||||
# 'vintf' - VINTF is finalized
|
||||
# 'sdk' - VINTF and SDK/API are finalized
|
||||
# 'rel' - branch is finalized, switched to REL
|
||||
export FINAL_STATE='unfinalized'
|
||||
export FINAL_STATE='vintf'
|
||||
|
||||
export BUILD_FROM_SOURCE_STUB=true
|
||||
|
||||
# FINAL versions for VINTF
|
||||
# TODO(b/323985297): The version must match with that from the release configuration.
|
||||
# Instead of hardcoding the version here, read it from a release configuration.
|
||||
export FINAL_BOARD_API_LEVEL='202404'
|
||||
|
|
|
@ -40,9 +40,6 @@ function finalize_sdk_rel() {
|
|||
fi
|
||||
git -C "$top/cts" mv hostsidetests/theme/assets/${FINAL_PLATFORM_CODENAME} hostsidetests/theme/assets/${FINAL_PLATFORM_SDK_VERSION}
|
||||
|
||||
# system/sepolicy
|
||||
system/sepolicy/tools/finalize-sdk-rel.sh "$top" "$FINAL_PLATFORM_SDK_VERSION"
|
||||
|
||||
# prebuilts/abi-dumps/platform
|
||||
mkdir -p "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION"
|
||||
cp -r "$top/prebuilts/abi-dumps/platform/current/64/" "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION/"
|
||||
|
@ -52,10 +49,6 @@ function finalize_sdk_rel() {
|
|||
# prebuilts/abi-dumps/ndk
|
||||
#mkdir -p "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION"
|
||||
#cp -r "$top/prebuilts/abi-dumps/ndk/current/64/" "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION/"
|
||||
#if [ "$FINAL_STATE" != "sdk" ] || [ "$FINAL_PLATFORM_CODENAME" == "$CURRENT_PLATFORM_CODENAME" ] ; then
|
||||
# prebuilts/abi-dumps/vndk
|
||||
#mv "$top/prebuilts/abi-dumps/vndk/$CURRENT_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_SDK_VERSION"
|
||||
#fi;
|
||||
}
|
||||
|
||||
finalize_sdk_rel
|
||||
|
|
|
@ -96,7 +96,7 @@ function bumpSdkExtensionsVersion() {
|
|||
$modules_arg
|
||||
}
|
||||
|
||||
function finalize_aidl_vndk_sdk_resources() {
|
||||
function finalize_sdk_resources() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
|
@ -111,13 +111,6 @@ function finalize_aidl_vndk_sdk_resources() {
|
|||
# bionic/NDK
|
||||
finalize_bionic_ndk
|
||||
|
||||
# pre-finalization build target (trunk)
|
||||
local aidl_m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_RELEASE=trunk TARGET_BUILD_VARIANT=userdebug DIST_DIR=out/dist"
|
||||
AIDL_TRANSITIVE_FREEZE=true $aidl_m aidl-freeze-api
|
||||
|
||||
# TODO(b/309880485)
|
||||
# Add back create_reference_dumps and $top/build/make/target/product/gsi/current.txt
|
||||
|
||||
# Finalize SDK
|
||||
|
||||
# frameworks/libs/modules-utils
|
||||
|
@ -129,10 +122,6 @@ function finalize_aidl_vndk_sdk_resources() {
|
|||
local build_tools_source="$top/development/sdk/build_tools_source.prop_template"
|
||||
sed -i -e 's/Pkg\.Revision.*/Pkg\.Revision=${PLATFORM_SDK_VERSION}.0.0/g' $build_tools_source
|
||||
|
||||
# build/make
|
||||
sed -i -e "s/sepolicy_major_vers := .*/sepolicy_major_vers := ${FINAL_PLATFORM_SDK_VERSION}/g" "$top/build/make/core/config.mk"
|
||||
cp "$top/build/make/target/product/gsi/current.txt" "$top/build/make/target/product/gsi/$FINAL_PLATFORM_SDK_VERSION.txt"
|
||||
|
||||
# build/soong
|
||||
local codename_version="\"${FINAL_PLATFORM_CODENAME}\": ${FINAL_PLATFORM_SDK_VERSION}"
|
||||
if ! grep -q "$codename_version" "$top/build/soong/android/api_levels.go" ; then
|
||||
|
@ -179,5 +168,5 @@ function finalize_aidl_vndk_sdk_resources() {
|
|||
$sdk_m update-api
|
||||
}
|
||||
|
||||
finalize_aidl_vndk_sdk_resources
|
||||
finalize_sdk_resources
|
||||
|
60
tools/finalization/finalize-vintf-resources.sh
Executable file
60
tools/finalization/finalize-vintf-resources.sh
Executable file
|
@ -0,0 +1,60 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
function finalize_vintf_resources() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
# environment needed to build dependencies and run scripts
|
||||
# These should remain the same for all steps here to speed up build time
|
||||
export ANDROID_BUILD_TOP="$top"
|
||||
export ANDROID_HOST_OUT="$ANDROID_BUILD_TOP/out/host/linux-x86"
|
||||
export ANDROID_PRODUCT_OUT="$ANDROID_BUILD_TOP/out/target/product/generic_arm64"
|
||||
export PATH="$PATH:$ANDROID_HOST_OUT/bin/"
|
||||
export TARGET_BUILD_VARIANT=userdebug
|
||||
export DIST_DIR=out/dist
|
||||
export TARGET_RELEASE=fina_0
|
||||
export TARGET_PRODUCT=aosp_arm64
|
||||
|
||||
# TODO(b/314010764): finalize LL_NDK
|
||||
|
||||
# system/sepolicy
|
||||
"$top/system/sepolicy/tools/finalize-vintf-resources.sh" "$top" "$FINAL_BOARD_API_LEVEL"
|
||||
|
||||
create_new_compat_matrix_and_kernel_configs
|
||||
|
||||
# pre-finalization build target (trunk)
|
||||
local aidl_m="$top/build/soong/soong_ui.bash --make-mode"
|
||||
AIDL_TRANSITIVE_FREEZE=true $aidl_m aidl-freeze-api
|
||||
}
|
||||
|
||||
function create_new_compat_matrix_and_kernel_configs() {
|
||||
# The compatibility matrix versions are bumped during vFRC
|
||||
# These will change every time we have a new vFRC
|
||||
local CURRENT_COMPATIBILITY_MATRIX_LEVEL='202404'
|
||||
local NEXT_COMPATIBILITY_MATRIX_LEVEL='202504'
|
||||
# The kernel configs need the letter of the Android release
|
||||
local CURRENT_RELEASE_LETTER='v'
|
||||
local NEXT_RELEASE_LETTER='w'
|
||||
|
||||
|
||||
# build the targets required before touching the Android.bp/Android.mk files
|
||||
local build_cmd="$top/build/soong/soong_ui.bash --make-mode"
|
||||
$build_cmd bpmodify
|
||||
|
||||
"$top/prebuilts/build-tools/path/linux-x86/python3" "$top/hardware/interfaces/compatibility_matrices/bump.py" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL" "$NEXT_COMPATIBILITY_MATRIX_LEVEL" "$CURRENT_RELEASE_LETTER" "$NEXT_RELEASE_LETTER"
|
||||
|
||||
# Freeze the current framework manifest file. This relies on the
|
||||
# aosp_cf_x86_64-trunk_staging build target to get the right manifest
|
||||
# fragments installed.
|
||||
"$top/system/libhidl/vintfdata/freeze.sh" "$CURRENT_COMPATIBILITY_MATRIX_LEVEL"
|
||||
}
|
||||
|
||||
function freeze_framework_manifest() {
|
||||
ANDROID_PRODUCT_OUT=~/workspace/internal/main/out/target/product/vsoc_x86 ANDROID_BUILD_TOP=~/workspace/internal/main ANDROID_HOST_OUT=~/workspace/internal/main/out/host/linux-x86 ./freeze.sh 202404
|
||||
|
||||
}
|
||||
|
||||
|
||||
finalize_vintf_resources
|
||||
|
37
tools/finalization/step-0.sh
Executable file
37
tools/finalization/step-0.sh
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2024 Google Inc. All rights reserved.
|
||||
|
||||
# Script to perform a 0th step of Android Finalization: VINTF finalization, create CLs and upload to Gerrit.
|
||||
|
||||
set -ex
|
||||
|
||||
function commit_step_0_changes() {
|
||||
set +e
|
||||
repo forall -c '\
|
||||
if [[ $(git status --short) ]]; then
|
||||
repo start "VINTF-$FINAL_BOARD_API_LEVEL-Finalization" ;
|
||||
git add -A . ;
|
||||
git commit -m "Vendor API level $FINAL_BOARD_API_LEVEL is now frozen" \
|
||||
-m "Ignore-AOSP-First: VINTF $FINAL_BOARD_API_LEVEL Finalization
|
||||
Bug: $FINAL_BUG_ID
|
||||
Test: build";
|
||||
repo upload --cbr --no-verify -o nokeycheck -t -y . ;
|
||||
fi'
|
||||
}
|
||||
|
||||
function finalize_step_0_main() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_RELEASE=next TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
source $top/build/make/tools/finalization/finalize-vintf-resources.sh
|
||||
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
commit_step_0_changes
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
finalize_step_0_main
|
|
@ -21,10 +21,9 @@ function finalize_step_1_main() {
|
|||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_RELEASE=next TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
# vndk etc finalization
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
source $top/build/make/tools/finalization/finalize-sdk-resources.sh
|
||||
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
commit_step_1_changes
|
||||
|
|
|
@ -19,7 +19,7 @@ function finalize_step_2_main() {
|
|||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_RELEASE=next TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
# prebuilts etc
|
||||
source $top/build/make/tools/finalization/finalize-sdk-rel.sh
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Script to perform a 1st step of Android Finalization: API/SDK finalization, update CLs and upload to Gerrit.
|
||||
|
||||
# WIP, does not work yet
|
||||
exit 10
|
||||
|
||||
set -ex
|
||||
|
||||
function update_step_1_changes() {
|
||||
set +e
|
||||
repo forall -c '\
|
||||
if [[ $(git status --short) ]]; then
|
||||
git stash -u ;
|
||||
repo start "$FINAL_PLATFORM_CODENAME-SDK-Finalization" ;
|
||||
git stash pop ;
|
||||
git add -A . ;
|
||||
git commit --amend --no-edit ;
|
||||
repo upload --cbr --no-verify -o nokeycheck -t -y . ;
|
||||
fi'
|
||||
}
|
||||
|
||||
function update_step_1_main() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
# vndk etc finalization
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
|
||||
# update existing CLs and upload to gerrit
|
||||
update_step_1_changes
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
update_step_1_main
|
|
@ -1,38 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Script to perform a 2nd step of Android Finalization: REL finalization, create CLs and upload to Gerrit.
|
||||
|
||||
# WIP, does not work yet
|
||||
exit 10
|
||||
|
||||
set -ex
|
||||
|
||||
function update_step_2_changes() {
|
||||
set +e
|
||||
repo forall -c '\
|
||||
if [[ $(git status --short) ]]; then
|
||||
git stash -u ;
|
||||
repo start "$FINAL_PLATFORM_CODENAME-SDK-Finalization-Rel" ;
|
||||
git stash pop ;
|
||||
git add -A . ;
|
||||
git commit --amend --no-edit ;
|
||||
repo upload --cbr --no-verify -o nokeycheck -t -y . ;
|
||||
fi'
|
||||
}
|
||||
|
||||
function update_step_2_main() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
# prebuilts etc
|
||||
source $top/build/make/tools/finalization/finalize-sdk-rel.sh
|
||||
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
update_step_2_changes
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
update_step_2_main
|
Loading…
Reference in a new issue