Refresh the latest script versions + preparation for local mode.
Bug: 260755259 Test: local run Change-Id: I45d3651bd4b837e1338535f98d7256ca9b47e089
This commit is contained in:
23
tools/finalization/build-step-1-and-2.sh
Executable file
23
tools/finalization/build-step-1-and-2.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
function finalize_main_step12() {
|
||||
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"
|
||||
|
||||
# SDK codename -> int
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
|
||||
# Platform/Mainline SDKs build and move to prebuilts
|
||||
source $top/build/make/tools/finalization/localonly-finalize-mainline-sdk.sh
|
||||
|
||||
# REL
|
||||
source $top/build/make/tools/finalization/finalize-sdk-rel.sh
|
||||
}
|
||||
|
||||
finalize_main_step12
|
||||
|
19
tools/finalization/build-step-1-and-m.sh
Executable file
19
tools/finalization/build-step-1-and-m.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
function finalize_main_step1_and_m() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/build-step-1.sh
|
||||
|
||||
local m="$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=aosp_arm64 TARGET_BUILD_VARIANT=userdebug"
|
||||
|
||||
# This command tests:
|
||||
# The release state for AIDL.
|
||||
# ABI difference between user and userdebug builds.
|
||||
# Resource/SDK finalization.
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
finalize_main_step1_and_m
|
||||
|
@@ -2,21 +2,16 @@
|
||||
|
||||
set -ex
|
||||
|
||||
function finalize_main() {
|
||||
local top="$(dirname "$0")"/../..
|
||||
function finalize_main_step1() {
|
||||
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"
|
||||
|
||||
# Build finalization artifacts.
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
|
||||
# This command tests:
|
||||
# The release state for AIDL.
|
||||
# ABI difference between user and userdebug builds.
|
||||
# Resource/SDK finalization.
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
finalize_main
|
||||
finalize_main_step1
|
||||
|
||||
|
@@ -0,0 +1,30 @@
|
||||
From 12eea1512f2612f41b5cf7004ee2e6a189d548d7 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Buynytskyy <alexbuy@google.com>
|
||||
Date: Thu, 01 Sep 2022 10:44:21 -0700
|
||||
Subject: [PATCH] Hacky workaround for half-finalized builds.
|
||||
|
||||
Metalava increments the SDK level by one when it's not "REL", so we
|
||||
temporarily force the build to be "REL" while we're still in the
|
||||
process of finalizing it.
|
||||
|
||||
This CL must be reverted as part of actually declaring "REL".
|
||||
|
||||
Bug: none
|
||||
Test: Build
|
||||
Change-Id: I8c24c6dabec0270bc384d8465c582a4ddbe8bd6c
|
||||
---
|
||||
|
||||
diff --git a/java/droidstubs.go b/java/droidstubs.go
|
||||
index 5777b18..ec4a0f4 100644
|
||||
--- a/java/droidstubs.go
|
||||
+++ b/java/droidstubs.go
|
||||
@@ -386,7 +386,8 @@
|
||||
}
|
||||
if apiVersions != nil {
|
||||
cmd.FlagWithArg("--current-version ", ctx.Config().PlatformSdkVersion().String())
|
||||
- cmd.FlagWithArg("--current-codename ", ctx.Config().PlatformSdkCodename())
|
||||
+ // STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD
|
||||
+ // cmd.FlagWithArg("--current-codename ", ctx.Config().PlatformSdkCodename())
|
||||
cmd.FlagWithInput("--apply-api-levels ", apiVersions)
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
From c0f6e8fe4c3b6803be97aeea6683631d616412f4 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Buynytskyy <alexbuy@google.com>
|
||||
Date: Thu, 08 Dec 2022 17:52:52 +0000
|
||||
Subject: [PATCH] Revert "Hacky workaround for half-finalized builds."
|
||||
|
||||
This reverts commit 12eea1512f2612f41b5cf7004ee2e6a189d548d7.
|
||||
|
||||
Reason for revert: finalization-2
|
||||
|
||||
Change-Id: Ifc801271628808693b1cb20206f8f81c9a6c694d
|
||||
---
|
||||
|
||||
diff --git a/java/droidstubs.go b/java/droidstubs.go
|
||||
index ec4a0f4..5777b18 100644
|
||||
--- a/java/droidstubs.go
|
||||
+++ b/java/droidstubs.go
|
||||
@@ -386,8 +386,7 @@
|
||||
}
|
||||
if apiVersions != nil {
|
||||
cmd.FlagWithArg("--current-version ", ctx.Config().PlatformSdkVersion().String())
|
||||
- // STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD
|
||||
- // cmd.FlagWithArg("--current-codename ", ctx.Config().PlatformSdkCodename())
|
||||
+ cmd.FlagWithArg("--current-codename ", ctx.Config().PlatformSdkCodename())
|
||||
cmd.FlagWithInput("--apply-api-levels ", apiVersions)
|
||||
}
|
||||
}
|
@@ -5,12 +5,11 @@ set -ex
|
||||
export FINAL_BUG_ID='0'
|
||||
|
||||
export FINAL_PLATFORM_CODENAME='UpsideDownCake'
|
||||
export CURRENT_PLATFORM_CODENAME='VanillaIceCream'
|
||||
export FINAL_PLATFORM_CODENAME_JAVA='UPSIDE_DOWN_CAKE'
|
||||
export FINAL_PLATFORM_SDK_VERSION='34'
|
||||
export FINAL_PLATFORM_VERSION='14'
|
||||
|
||||
export FINAL_BUILD_PREFIX='UP1A'
|
||||
|
||||
export FINAL_MAINLINE_EXTENSION='6'
|
||||
export FINAL_MAINLINE_SDK_COMMIT_MESSAGE=''
|
||||
export FINAL_MAINLINE_SDK_BUILD_ID=0
|
||||
export FINAL_MAINLINE_EXTENSION='6'
|
@@ -2,6 +2,29 @@
|
||||
|
||||
set -ex
|
||||
|
||||
function apply_droidstubs_hack() {
|
||||
if ! grep -q 'STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD' "$top/build/soong/java/droidstubs.go" ; then
|
||||
git -C "$top/build/soong" apply --allow-empty ../../build/make/tools/finalization/build_soong_java_droidstubs.go.apply_hack.diff
|
||||
fi
|
||||
}
|
||||
|
||||
function finalize_bionic_ndk() {
|
||||
# Adding __ANDROID_API_<>__.
|
||||
# If this hasn't done then it's not used and not really needed. Still, let's check and add this.
|
||||
local api_level="$top/bionic/libc/include/android/api-level.h"
|
||||
if ! grep -q "\__.*$((${FINAL_PLATFORM_SDK_VERSION}))" $api_level ; then
|
||||
local tmpfile=$(mktemp /tmp/finalization.XXXXXX)
|
||||
echo "
|
||||
/** Names the \"${FINAL_PLATFORM_CODENAME:0:1}\" API level ($FINAL_PLATFORM_SDK_VERSION), for comparison against \`__ANDROID_API__\`. */
|
||||
#define __ANDROID_API_${FINAL_PLATFORM_CODENAME:0:1}__ $FINAL_PLATFORM_SDK_VERSION" > "$tmpfile"
|
||||
|
||||
local api_level="$top/bionic/libc/include/android/api-level.h"
|
||||
sed -i -e "/__.*$((${FINAL_PLATFORM_SDK_VERSION}-1))/r""$tmpfile" $api_level
|
||||
|
||||
rm "$tmpfile"
|
||||
fi
|
||||
}
|
||||
|
||||
function finalize_modules_utils() {
|
||||
local shortCodename="${FINAL_PLATFORM_CODENAME:0:1}"
|
||||
local methodPlaceholder="INSERT_NEW_AT_LEAST_${shortCodename}_METHOD_HERE"
|
||||
@@ -48,25 +71,13 @@ function finalize_aidl_vndk_sdk_resources() {
|
||||
# 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)
|
||||
# apply droidstubs hack to prevent tools from incrementing an API version
|
||||
apply_droidstubs_hack
|
||||
|
||||
# bionic/NDK
|
||||
# Adding __ANDROID_API_<>__.
|
||||
# If this hasn't done then it's not used and not really needed. Still, let's check and add this.
|
||||
if ! grep -q "\__.*$((${FINAL_PLATFORM_SDK_VERSION}))" api-level.h ; then
|
||||
local tmpfile=$(mktemp /tmp/finalization.XXXXXX)
|
||||
echo "
|
||||
/** Names the \"${FINAL_PLATFORM_CODENAME:0:1}\" API level ($FINAL_PLATFORM_SDK_VERSION), for comparison against \`__ANDROID_API__\`. */
|
||||
#define __ANDROID_API_${FINAL_PLATFORM_CODENAME:0:1}__ $FINAL_PLATFORM_SDK_VERSION" > "$tmpfile"
|
||||
|
||||
local api_level="$top/bionic/libc/include/android/api-level.h"
|
||||
sed -i -e "/__.*$((${FINAL_PLATFORM_SDK_VERSION}-1))/r""$tmpfile" $api_level
|
||||
|
||||
rm "$tmpfile"
|
||||
fi
|
||||
finalize_bionic_ndk
|
||||
|
||||
# VNDK definitions for new SDK version
|
||||
cp "$top/development/vndk/tools/definition-tool/datasets/vndk-lib-extra-list-current.txt" \
|
||||
|
@@ -2,6 +2,18 @@
|
||||
|
||||
set -ex
|
||||
|
||||
function revert_droidstubs_hack() {
|
||||
if grep -q 'STOPSHIP: RESTORE THIS LOGIC WHEN DECLARING "REL" BUILD' "$top/build/soong/java/droidstubs.go" ; then
|
||||
git -C "$top/build/soong" apply --allow-empty ../../build/make/tools/finalization/build_soong_java_droidstubs.go.revert_hack.diff
|
||||
fi
|
||||
}
|
||||
|
||||
function apply_prerelease_sdk_hack() {
|
||||
if ! grep -q 'STOPSHIP: hack for the pre-release SDK' "$top/frameworks/base/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java" ; then
|
||||
git -C "$top/frameworks/base" apply --allow-empty ../../build/make/tools/finalization/frameworks_base.apply_hack.diff
|
||||
fi
|
||||
}
|
||||
|
||||
function finalize_sdk_rel() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
@@ -9,6 +21,12 @@ function finalize_sdk_rel() {
|
||||
# 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"
|
||||
|
||||
# revert droidstubs hack now we are switching to REL
|
||||
revert_droidstubs_hack
|
||||
|
||||
# let the apps built with pre-release SDK parse
|
||||
apply_prerelease_sdk_hack
|
||||
|
||||
# adb keys
|
||||
$m adb
|
||||
LOGNAME=android-eng HOSTNAME=google.com "$top/out/host/linux-x86/bin/adb" keygen "$top/vendor/google/security/adb/${FINAL_PLATFORM_VERSION}.adb_key"
|
||||
@@ -18,6 +36,9 @@ function finalize_sdk_rel() {
|
||||
|
||||
# cts
|
||||
echo "$FINAL_PLATFORM_VERSION" > "$top/cts/tests/tests/os/assets/platform_versions.txt"
|
||||
if [ "$FINAL_PLATFORM_CODENAME" != "$CURRENT_PLATFORM_CODENAME" ]; then
|
||||
echo "$CURRENT_PLATFORM_CODENAME" >> "./cts/tests/tests/os/assets/platform_versions.txt"
|
||||
fi
|
||||
git -C "$top/cts" mv hostsidetests/theme/assets/${FINAL_PLATFORM_CODENAME} hostsidetests/theme/assets/${FINAL_PLATFORM_SDK_VERSION}
|
||||
|
||||
# system/sepolicy
|
||||
@@ -29,7 +50,7 @@ function finalize_sdk_rel() {
|
||||
mv "$top/prebuilts/abi-dumps/ndk/current" "$top/prebuilts/abi-dumps/ndk/$FINAL_PLATFORM_SDK_VERSION"
|
||||
|
||||
# prebuilts/abi-dumps/vndk
|
||||
mv "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_SDK_VERSION"
|
||||
mv "$top/prebuilts/abi-dumps/vndk/$CURRENT_PLATFORM_CODENAME" "$top/prebuilts/abi-dumps/vndk/$FINAL_PLATFORM_SDK_VERSION"
|
||||
|
||||
# prebuilts/abi-dumps/platform
|
||||
mv "$top/prebuilts/abi-dumps/platform/current" "$top/prebuilts/abi-dumps/platform/$FINAL_PLATFORM_SDK_VERSION"
|
||||
|
129
tools/finalization/frameworks_base.apply_hack.diff
Normal file
129
tools/finalization/frameworks_base.apply_hack.diff
Normal file
@@ -0,0 +1,129 @@
|
||||
From 3c9a5321dc94124367f2f4363d85a8f488f5d4d1 Mon Sep 17 00:00:00 2001
|
||||
From: Yurii Zubrytskyi <zyy@google.com>
|
||||
Date: Wed, 04 May 2022 01:05:24 -0700
|
||||
Subject: [PATCH] HACK: allow apps with pre-release SDK RESTRICT AUTOMERGE
|
||||
|
||||
Revert before releasing
|
||||
Let the apps built with pre-release Tiramisu SDK parse
|
||||
+ fix a test that didn't expect REL builds to throw
|
||||
when checking for lettered versions
|
||||
|
||||
Test: build
|
||||
Bug: 225745567
|
||||
Bug: 231407096
|
||||
Change-Id: Ia0de2ab1a99e5f186f0d871e6225d88bf3308df6
|
||||
---
|
||||
|
||||
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
|
||||
index c15b3e0..3f4df4d 100644
|
||||
--- a/core/java/android/content/pm/PackageParser.java
|
||||
+++ b/core/java/android/content/pm/PackageParser.java
|
||||
@@ -2628,6 +2628,15 @@
|
||||
return Build.VERSION_CODES.CUR_DEVELOPMENT;
|
||||
}
|
||||
|
||||
+ // STOPSHIP: hack for the pre-release SDK
|
||||
+ if (platformSdkCodenames.length == 0
|
||||
+ && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
+ targetCode)) {
|
||||
+ Slog.w(TAG, "Package requires development platform " + targetCode
|
||||
+ + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
+ return Build.VERSION.SDK_INT;
|
||||
+ }
|
||||
+
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
outError[0] = "Requires development platform " + targetCode
|
||||
@@ -2699,6 +2708,15 @@
|
||||
return Build.VERSION_CODES.CUR_DEVELOPMENT;
|
||||
}
|
||||
|
||||
+ // STOPSHIP: hack for the pre-release SDK
|
||||
+ if (platformSdkCodenames.length == 0
|
||||
+ && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
+ minCode)) {
|
||||
+ Slog.w(TAG, "Package requires min development platform " + minCode
|
||||
+ + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
+ return Build.VERSION.SDK_INT;
|
||||
+ }
|
||||
+
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
outError[0] = "Requires development platform " + minCode
|
||||
diff --git a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
index 3e1c5bb..8cc4cdb 100644
|
||||
--- a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
+++ b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
@@ -316,6 +316,15 @@
|
||||
return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
}
|
||||
|
||||
+ // STOPSHIP: hack for the pre-release SDK
|
||||
+ if (platformSdkCodenames.length == 0
|
||||
+ && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
+ minCode)) {
|
||||
+ Slog.w(TAG, "Parsed package requires min development platform " + minCode
|
||||
+ + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
+ return input.success(Build.VERSION.SDK_INT);
|
||||
+ }
|
||||
+
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK,
|
||||
@@ -368,19 +377,27 @@
|
||||
return input.success(targetVers);
|
||||
}
|
||||
|
||||
+ // If it's a pre-release SDK and the codename matches this platform, it
|
||||
+ // definitely targets this SDK.
|
||||
+ if (matchTargetCode(platformSdkCodenames, targetCode)) {
|
||||
+ return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
+ }
|
||||
+
|
||||
+ // STOPSHIP: hack for the pre-release SDK
|
||||
+ if (platformSdkCodenames.length == 0
|
||||
+ && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
+ targetCode)) {
|
||||
+ Slog.w(TAG, "Parsed package requires development platform " + targetCode
|
||||
+ + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
+ return input.success(Build.VERSION.SDK_INT);
|
||||
+ }
|
||||
+
|
||||
try {
|
||||
if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) {
|
||||
return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
- // isAtMost() throws it when encountering an older SDK codename
|
||||
- return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, e.getMessage());
|
||||
- }
|
||||
-
|
||||
- // If it's a pre-release SDK and the codename matches this platform, it
|
||||
- // definitely targets this SDK.
|
||||
- if (matchTargetCode(platformSdkCodenames, targetCode)) {
|
||||
- return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
+ return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, "Bad package SDK");
|
||||
}
|
||||
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
diff --git a/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java b/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
index 92c7871..687e8f7 100644
|
||||
--- a/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
+++ b/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
@@ -446,14 +446,14 @@
|
||||
+ " <library \n"
|
||||
+ " name=\"foo\"\n"
|
||||
+ " file=\"" + mFooJar + "\"\n"
|
||||
- + " on-bootclasspath-before=\"Q\"\n"
|
||||
+ + " on-bootclasspath-before=\"A\"\n"
|
||||
+ " on-bootclasspath-since=\"W\"\n"
|
||||
+ " />\n\n"
|
||||
+ " </permissions>";
|
||||
parseSharedLibraries(contents);
|
||||
assertFooIsOnlySharedLibrary();
|
||||
SystemConfig.SharedLibraryEntry entry = mSysConfig.getSharedLibraries().get("foo");
|
||||
- assertThat(entry.onBootclasspathBefore).isEqualTo("Q");
|
||||
+ assertThat(entry.onBootclasspathBefore).isEqualTo("A");
|
||||
assertThat(entry.onBootclasspathSince).isEqualTo("W");
|
||||
}
|
||||
|
125
tools/finalization/frameworks_base.revert_hack.diff
Normal file
125
tools/finalization/frameworks_base.revert_hack.diff
Normal file
@@ -0,0 +1,125 @@
|
||||
From b4ae5c71f327d00081bbb0b7b26d48eb88761fbc Mon Sep 17 00:00:00 2001
|
||||
From: Alex Buynytskyy <alexbuy@google.com>
|
||||
Date: Tue, 21 Feb 2023 01:43:14 +0000
|
||||
Subject: [PATCH] Revert "HACK: allow apps with pre-release SDK RESTRICT AUTOMERGE"
|
||||
|
||||
This reverts commit 3c9a5321dc94124367f2f4363d85a8f488f5d4d1.
|
||||
|
||||
Reason for revert: not needed anymore
|
||||
|
||||
Change-Id: I5c5e3af78a41e7bd8cbc99464dccc57c345105f3
|
||||
---
|
||||
|
||||
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
|
||||
index 3f4df4d..c15b3e0 100644
|
||||
--- a/core/java/android/content/pm/PackageParser.java
|
||||
+++ b/core/java/android/content/pm/PackageParser.java
|
||||
@@ -2628,15 +2628,6 @@
|
||||
return Build.VERSION_CODES.CUR_DEVELOPMENT;
|
||||
}
|
||||
|
||||
- // STOPSHIP: hack for the pre-release SDK
|
||||
- if (platformSdkCodenames.length == 0
|
||||
- && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
- targetCode)) {
|
||||
- Slog.w(TAG, "Package requires development platform " + targetCode
|
||||
- + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
- return Build.VERSION.SDK_INT;
|
||||
- }
|
||||
-
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
outError[0] = "Requires development platform " + targetCode
|
||||
@@ -2708,15 +2699,6 @@
|
||||
return Build.VERSION_CODES.CUR_DEVELOPMENT;
|
||||
}
|
||||
|
||||
- // STOPSHIP: hack for the pre-release SDK
|
||||
- if (platformSdkCodenames.length == 0
|
||||
- && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
- minCode)) {
|
||||
- Slog.w(TAG, "Package requires min development platform " + minCode
|
||||
- + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
- return Build.VERSION.SDK_INT;
|
||||
- }
|
||||
-
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
outError[0] = "Requires development platform " + minCode
|
||||
diff --git a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
index 8cc4cdb..3e1c5bb 100644
|
||||
--- a/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
+++ b/core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java
|
||||
@@ -316,15 +316,6 @@
|
||||
return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
}
|
||||
|
||||
- // STOPSHIP: hack for the pre-release SDK
|
||||
- if (platformSdkCodenames.length == 0
|
||||
- && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
- minCode)) {
|
||||
- Slog.w(TAG, "Parsed package requires min development platform " + minCode
|
||||
- + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
- return input.success(Build.VERSION.SDK_INT);
|
||||
- }
|
||||
-
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
if (platformSdkCodenames.length > 0) {
|
||||
return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK,
|
||||
@@ -377,27 +368,19 @@
|
||||
return input.success(targetVers);
|
||||
}
|
||||
|
||||
- // If it's a pre-release SDK and the codename matches this platform, it
|
||||
- // definitely targets this SDK.
|
||||
- if (matchTargetCode(platformSdkCodenames, targetCode)) {
|
||||
- return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
- }
|
||||
-
|
||||
- // STOPSHIP: hack for the pre-release SDK
|
||||
- if (platformSdkCodenames.length == 0
|
||||
- && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals(
|
||||
- targetCode)) {
|
||||
- Slog.w(TAG, "Parsed package requires development platform " + targetCode
|
||||
- + ", returning current version " + Build.VERSION.SDK_INT);
|
||||
- return input.success(Build.VERSION.SDK_INT);
|
||||
- }
|
||||
-
|
||||
try {
|
||||
if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) {
|
||||
return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
- return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, "Bad package SDK");
|
||||
+ // isAtMost() throws it when encountering an older SDK codename
|
||||
+ return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, e.getMessage());
|
||||
+ }
|
||||
+
|
||||
+ // If it's a pre-release SDK and the codename matches this platform, it
|
||||
+ // definitely targets this SDK.
|
||||
+ if (matchTargetCode(platformSdkCodenames, targetCode)) {
|
||||
+ return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT);
|
||||
}
|
||||
|
||||
// Otherwise, we're looking at an incompatible pre-release SDK.
|
||||
diff --git a/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java b/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
index 687e8f7..92c7871 100644
|
||||
--- a/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
+++ b/services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java
|
||||
@@ -446,14 +446,14 @@
|
||||
+ " <library \n"
|
||||
+ " name=\"foo\"\n"
|
||||
+ " file=\"" + mFooJar + "\"\n"
|
||||
- + " on-bootclasspath-before=\"A\"\n"
|
||||
+ + " on-bootclasspath-before=\"Q\"\n"
|
||||
+ " on-bootclasspath-since=\"W\"\n"
|
||||
+ " />\n\n"
|
||||
+ " </permissions>";
|
||||
parseSharedLibraries(contents);
|
||||
assertFooIsOnlySharedLibrary();
|
||||
SystemConfig.SharedLibraryEntry entry = mSysConfig.getSharedLibraries().get("foo");
|
||||
- assertThat(entry.onBootclasspathBefore).isEqualTo("A");
|
||||
+ assertThat(entry.onBootclasspathBefore).isEqualTo("Q");
|
||||
assertThat(entry.onBootclasspathSince).isEqualTo("W");
|
||||
}
|
||||
|
@@ -6,11 +6,15 @@ function finalize_locally_mainline_sdk() {
|
||||
local top="$(dirname "$0")"/../../../..
|
||||
source $top/build/make/tools/finalization/environment.sh
|
||||
|
||||
# Build modules SDKs.
|
||||
# Build Platform SDKs.
|
||||
$top/build/soong/soong_ui.bash --make-mode TARGET_PRODUCT=sdk TARGET_BUILD_VARIANT=userdebug sdk dist sdk_repo
|
||||
|
||||
# Build Modules SDKs.
|
||||
TARGET_BUILD_VARIANT=userdebug UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true "$top/vendor/google/build/mainline_modules_sdks.sh"
|
||||
|
||||
# Update prebuilts.
|
||||
"$top/prebuilts/build-tools/path/linux-x86/python3" "$top/packages/modules/common/tools/finalize_sdk.py" -l -b 0 -f ${FINAL_MAINLINE_EXTENSION} -r '' 0
|
||||
# "$top/prebuilts/build-tools/path/linux-x86/python3" "$top/prebuilts/sdk/update_prebuilts.py" --local_mode -f ${FINAL_PLATFORM_SDK_VERSION} -e ${FINAL_MAINLINE_EXTENSION} --bug 1 1
|
||||
}
|
||||
|
||||
finalize_locally_mainline_sdk
|
||||
|
@@ -14,7 +14,6 @@ function commit_step_1_changes() {
|
||||
Bug: $FINAL_BUG_ID
|
||||
Test: build";
|
||||
repo upload --cbr --no-verify -o nokeycheck -t -y . ;
|
||||
git clean -fdx ; git reset --hard ;
|
||||
fi'
|
||||
}
|
||||
|
||||
@@ -27,11 +26,11 @@ function finalize_step_1_main() {
|
||||
# vndk etc finalization
|
||||
source $top/build/make/tools/finalization/finalize-aidl-vndk-sdk-resources.sh
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
commit_step_1_changes
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
}
|
||||
|
||||
finalize_step_1_main
|
||||
|
@@ -12,7 +12,6 @@ Bug: $FINAL_BUG_ID
|
||||
Test: build";
|
||||
|
||||
repo upload --cbr --no-verify -o nokeycheck -t -y . ;
|
||||
git clean -fdx ; git reset --hard ;
|
||||
fi'
|
||||
}
|
||||
|
||||
@@ -25,14 +24,11 @@ function finalize_step_2_main() {
|
||||
# prebuilts etc
|
||||
source $top/build/make/tools/finalization/finalize-sdk-rel.sh
|
||||
|
||||
# Update prebuilts.
|
||||
"$top/prebuilts/build-tools/path/linux-x86/python3" "$top/packages/modules/common/tools/finalize_sdk.py" -b ${FINAL_BUG_ID} -f ${FINAL_MAINLINE_EXTENSION} -r "${FINAL_MAINLINE_SDK_COMMIT_MESSAGE}" ${FINAL_MAINLINE_SDK_BUILD_ID}
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
commit_step_2_changes
|
||||
|
||||
# build to confirm everything is OK
|
||||
AIDL_FROZEN_REL=true $m
|
||||
|
||||
# move all changes to finalization branch/topic and upload to gerrit
|
||||
commit_step_2_changes
|
||||
}
|
||||
|
||||
finalize_step_2_main
|
||||
|
Reference in New Issue
Block a user