Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 634c3fd1 authored by Alex Buynytskyy's avatar Alex Buynytskyy Committed by Automerger Merge Worker
Browse files

Merge "Refactor finalization scripts." am: 3743f684

parents 97e73564 3743f684
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
include platform/build/soong:/OWNERS
smoreland@google.com
alexbuy@google.com
patb@google.com
zyy@google.com
+21 −0
Original line number Diff line number Diff line
#!/bin/bash
# Brings local repository to a remote head state.

# set -ex

function finalize_revert_local_changes_main() {
    local top="$(dirname "$0")"/../../../..
    local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"

    # remove the out folder
    $m clobber

    repo selfupdate

    repo forall -c '\
        git checkout . ; git revert --abort ; git clean -fdx ;\
        git checkout @ ; git branch fina-step1 -D ; git reset --hard; \
        repo start fina-step1 ; git checkout @ ; git b fina-step1 -D ;'
}

finalize_revert_local_changes_main
+16 −0
Original line number Diff line number Diff line
#!/bin/bash

set -ex

export FINA_BUG_ID='0'

export FINA_PLATFORM_CODENAME='UpsideDownCake'
export FINA_PLATFORM_CODENAME_JAVA='UPSIDE_DOWN_CAKE'
export FINA_PLATFORM_SDK_VERSION='34'
export FINA_PLATFORM_VERSION='14'

export FINA_BUILD_PREFIX='UP1A'

export FINA_MAINLINE_EXTENSION='6'
export FINA_MAINLINE_SDK_COMMIT_MESSAGE=''
export FINA_MAINLINE_SDK_BUILD_ID=0
+82 −0
Original line number Diff line number Diff line
#!/bin/bash

set -ex

function finalize_aidl_vndk_sdk_resources() {
    local top="$(dirname "$0")"/../../../..
    source $top/build/make/tools/finalization/environment.sh

    local SDK_CODENAME="public static final int $FINA_PLATFORM_CODENAME_JAVA = CUR_DEVELOPMENT;"
    local SDK_VERSION="public static final int $FINA_PLATFORM_CODENAME_JAVA = $FINA_PLATFORM_SDK_VERSION;"

    # default target to modify tree and build SDK
    local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"

    # This script is WIP and only finalizes part of the Android branch for release.
    # The full process can be found at (INTERNAL) go/android-sdk-finalization.

    # Update references in the codebase to new API version (TODO)
    # ...

    # VNDK definitions for new SDK version
    cp "$top/development/vndk/tools/definition-tool/datasets/vndk-lib-extra-list-current.txt" \
       "$top/development/vndk/tools/definition-tool/datasets/vndk-lib-extra-list-$FINA_PLATFORM_SDK_VERSION.txt"

    AIDL_TRANSITIVE_FREEZE=true $m aidl-freeze-api create_reference_dumps

    # Generate ABI dumps
    ANDROID_BUILD_TOP="$top" \
        out/host/linux-x86/bin/create_reference_dumps \
        -p aosp_arm64 --build-variant user

    echo "NOTE: THIS INTENTIONALLY MAY FAIL AND REPAIR ITSELF (until 'DONE')"
    # Update new versions of files. See update-vndk-list.sh (which requires envsetup.sh)
    $m check-vndk-list || \
        { cp $top/out/soong/vndk/vndk.libraries.txt $top/build/make/target/product/gsi/current.txt; }
    echo "DONE: THIS INTENTIONALLY MAY FAIL AND REPAIR ITSELF"

    # Finalize SDK

    # build/make
    local version_defaults="$top/build/make/core/version_defaults.mk"
    sed -i -e "s/PLATFORM_SDK_VERSION := .*/PLATFORM_SDK_VERSION := ${FINA_PLATFORM_SDK_VERSION}/g" $version_defaults
    sed -i -e "s/PLATFORM_VERSION_LAST_STABLE := .*/PLATFORM_VERSION_LAST_STABLE := ${FINA_PLATFORM_VERSION}/g" $version_defaults
    sed -i -e "s/sepolicy_major_vers := .*/sepolicy_major_vers := ${FINA_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/$FINA_PLATFORM_SDK_VERSION.txt"

    # build/soong
    sed -i -e "/:.*$((${FINA_PLATFORM_SDK_VERSION}-1)),/a \\\t\t\t\"${FINA_PLATFORM_CODENAME}\":     ${FINA_PLATFORM_SDK_VERSION}," "$top/build/soong/android/api_levels.go"

    # cts
    echo ${FINA_PLATFORM_VERSION} > "$top/cts/tests/tests/os/assets/platform_releases.txt"
    sed -i -e "s/EXPECTED_SDK = $((${FINA_PLATFORM_SDK_VERSION}-1))/EXPECTED_SDK = ${FINA_PLATFORM_SDK_VERSION}/g" "$top/cts/tests/tests/os/src/android/os/cts/BuildVersionTest.java"

    # libcore
    sed -i "s%$SDK_CODENAME%$SDK_VERSION%g" "$top/libcore/dalvik/src/main/java/dalvik/annotation/compat/VersionCodes.java"

    # platform_testing
    local version_codes="$top/platform_testing/libraries/compatibility-common-util/src/com/android/compatibility/common/util/VersionCodes.java"
    sed -i -e "/=.*$((${FINA_PLATFORM_SDK_VERSION}-1));/a \\    ${SDK_VERSION}" $version_codes

    # Finalize resources
    "$top/frameworks/base/tools/aapt2/tools/finalize_res.py" \
           "$top/frameworks/base/core/res/res/values/public-staging.xml" \
           "$top/frameworks/base/core/res/res/values/public-final.xml"

    # frameworks/base
    sed -i "s%$SDK_CODENAME%$SDK_VERSION%g" "$top/frameworks/base/core/java/android/os/Build.java"
    sed -i -e "/=.*$((${FINA_PLATFORM_SDK_VERSION}-1)),/a \\    SDK_${FINA_PLATFORM_CODENAME_JAVA} = ${FINA_PLATFORM_SDK_VERSION}," "$top/frameworks/base/tools/aapt/SdkConstants.h"
    sed -i -e "/=.*$((${FINA_PLATFORM_SDK_VERSION}-1)),/a \\  SDK_${FINA_PLATFORM_CODENAME_JAVA} = ${FINA_PLATFORM_SDK_VERSION}," "$top/frameworks/base/tools/aapt2/SdkConstants.h"

    # Bump Mainline SDK extension version.
    "$top/packages/modules/SdkExtensions/gen_sdk/bump_sdk.sh" ${MAINLINE_EXTENSION}
    local version_defaults="$top/build/make/core/version_defaults.mk"
    sed -i -e "s/PLATFORM_SDK_EXTENSION_VERSION := .*/PLATFORM_SDK_EXTENSION_VERSION := ${MAINLINE_EXTENSION}/g" $version_defaults

    # Force update current.txt
    $m clobber
    $m update-api
}

finalize_aidl_vndk_sdk_resources
+39 −0
Original line number Diff line number Diff line
#!/bin/bash

set -ex

function finalize_sdk_rel() {
    local top="$(dirname "$0")"/../../../..
    source $top/build/make/tools/finalization/environment.sh

    # default target to modify tree and build SDK
    local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"

    # adb keys
    $m adb
    LOGNAME=android-eng HOSTNAME=google.com "$top/out/host/linux-x86/bin/adb" keygen "$top/vendor/google/security/adb/${FINA_PLATFORM_VERSION}.adb_key"

    # build/make/core/version_defaults.mk
    sed -i -e "s/PLATFORM_VERSION_CODENAME.${BUILD_PREFIX} := .*/PLATFORM_VERSION_CODENAME.${BUILD_PREFIX} := REL/g" "$top/build/make/core/version_defaults.mk"

    # cts
    echo "$FINA_PLATFORM_VERSION" > "$top/cts/tests/tests/os/assets/platform_versions.txt"
    git -C "$top/cts" mv hostsidetests/theme/assets/${FINA_PLATFORM_CODENAME} hostsidetests/theme/assets/${FINA_PLATFORM_SDK_VERSION}

    # system/sepolicy
    mkdir -p "$top/system/sepolicy/prebuilts/api/${FINA_PLATFORM_SDK_VERSION}.0/"
    cp -r "$top/system/sepolicy/public/" "$top/system/sepolicy/prebuilts/api/${FINA_PLATFORM_SDK_VERSION}.0/"
    cp -r "$top/system/sepolicy/private/" "$top/system/sepolicy/prebuilts/api/${FINA_PLATFORM_SDK_VERSION}.0/"

    # prebuilts/abi-dumps/ndk
    mv "$top/prebuilts/abi-dumps/ndk/current" "$top/prebuilts/abi-dumps/ndk/$FINA_PLATFORM_SDK_VERSION"

    # prebuilts/abi-dumps/vndk
    mv "$top/prebuilts/abi-dumps/vndk/$FINA_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINA_PLATFORM_SDK_VERSION"

    # prebuilts/abi-dumps/platform
    mv "$top/prebuilts/abi-dumps/platform/current" "$top/prebuilts/abi-dumps/platform/$FINA_PLATFORM_SDK_VERSION"
}

finalize_sdk_rel
Loading