platform_build/tools/finalization
Jihoon Kang 59c61acf64 Set BUILD_FROM_SOURCE_STUB=true for finalization
Build from text stub feature was initially implemented to improve build
performance and may be unstable for api finalization, as the stubs
generated from api signature files miss some methods, which may cause
backward compatibility issues. Therefore, this change disables building
from text stub for api finalization.

Test: build/tools/finalization/finalize-aidl-vndk-sdk-resources.sh and inspect generated ninja file to verify that the stubs are generated from source Java files.
Bug: 310279899
Change-Id: I9d374e973788bc97514815f64eeb949a94a97647
2023-11-15 00:38:41 +00:00
..
build-step-1-and-2.sh Script updates. 2023-04-11 16:51:03 +00:00
build-step-1-and-m.sh Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
build-step-1.sh Finalization script fixes. 2023-04-16 21:15:18 -07:00
build_soong_java_droidstubs.go.apply_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
build_soong_java_droidstubs.go.revert_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
cleanup.sh Refactor finalization scripts. 2023-02-10 02:32:42 +00:00
environment.sh Set BUILD_FROM_SOURCE_STUB=true for finalization 2023-11-15 00:38:41 +00:00
finalize-aidl-vndk-sdk-resources.sh Use patch instead of git apply. 2023-06-16 20:23:36 +00:00
finalize-sdk-rel.sh Fix sepolicy finalization build error 2023-10-11 22:57:58 +09:00
frameworks_base.apply_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
frameworks_base.apply_resource_sdk_int.diff Finalization script fixes. 2023-04-16 21:15:18 -07:00
frameworks_base.revert_hack.diff Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
frameworks_base.revert_resource_sdk_int.diff Finalization script fixes. 2023-04-16 21:15:18 -07:00
localonly-steps.sh Improve finalization perfomance by building only current version. 2023-05-10 03:10:32 +00:00
OWNERS Refactor finalization scripts. 2023-02-10 02:32:42 +00:00
README.md Minor renaming and documentation. 2023-04-06 15:28:39 -07:00
step-1.sh Script updates. 2023-04-11 16:51:03 +00:00
step-2.sh Refresh the latest script versions + preparation for local mode. 2023-02-21 04:56:37 +00:00
update-step-1.sh Script updates. 2023-04-11 16:51:03 +00:00
update-step-2.sh Script updates. 2023-04-11 16:51:03 +00:00

Finalization tools

This folder contains automation and CI scripts for finalizing Android before release.

Automation:

  1. Environment setup. Set values for varios finalization constants.
  2. Finalize SDK. Prepare the branch for SDK release. SDK contains Android Java APIs and other stable APIs. Commonly referred as a 1st step.
  3. Finalize Android. 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. Do Finalize SDK step, create CLs, organize them into topic and send to Gerrit. a. Update SDK and submit. Same as above, but updates the existings CLs.
  5. Finalize Android and submit. Do Finalize Android step, create CLs, organize them into topic and send to Gerrit. a. Update Android and submit. Same as above, but updates the existings CLs.

CI:

Performed in build targets in Finalization branches.

  1. Finalization Step 1 for Main, git_main-fina-1-release. Test 1st step/Finalize SDK.
  2. Finalization Step 1 for UDC, git_udc-fina-1-release. Same but for udc-dev.
  3. Finalization Step 2 for Main, git_main-fina-2-release. Test 1st step/Finalize SDK and 2nd step/Finalize Android. Use local finalization to build and copy presubmits.
  4. Finalization Step 2 for UDC, git_udc-fina-2-release. Same but for udc-dev.
  5. Local finalization steps are done only during local testing or in the CI lab. Normally these steps use artifacts from other builds.

Utility:

Full cleanup. Remove all local changes and switch each project into head-less state. This is the best state to sync/rebase/finalize the branch.