Changes for December 2021

- Added a "nosync" keyword that skips syncing/patching, for quickly testing out changes
- Added *potential* GAPPS variants
- Deal with lineage_arm64 special case
This commit is contained in:
Andy CrossGate Yan 2021-12-06 16:13:12 +00:00
parent 55ce6cf3b1
commit 7ce7ec11e0
2 changed files with 64 additions and 42 deletions

View File

@ -1,7 +1,6 @@
#!/bin/bash #!/bin/bash
echo "" echo ""
echo "LineageOS 19.x Unified Buildbot" echo "LineageOS 19.x Unified Buildbot"
echo "ATTENTION: this script syncs repo on each run"
echo "Executing in 5 seconds - CTRL-C to exit" echo "Executing in 5 seconds - CTRL-C to exit"
echo "" echo ""
sleep 5 sleep 5
@ -21,11 +20,19 @@ then
exit 1 exit 1
fi fi
NOSYNC=false
PERSONAL=false PERSONAL=false
if [ ${!#} == "personal" ] for var in "${@:2}"
then do
PERSONAL=true if [ ${var} == "nosync" ]
fi then
NOSYNC=true
fi
if [ ${var} == "personal" ]
then
PERSONAL=true
fi
done
# Abort early on error # Abort early on error
set -eE set -eE
@ -42,33 +49,27 @@ BUILD_DATE="$(date +%Y%m%d)"
WITHOUT_CHECK_API=true WITHOUT_CHECK_API=true
WITH_SU=true WITH_SU=true
echo "Preparing local manifests" prep_build() {
mkdir -p .repo/local_manifests echo "Preparing local manifests"
cp ./lineage_build_unified/local_manifests_${MODE}/*.xml .repo/local_manifests mkdir -p .repo/local_manifests
echo "" cp ./lineage_build_unified/local_manifests_${MODE}/*.xml .repo/local_manifests
echo ""
echo "Syncing repos" echo "Syncing repos"
repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all) repo sync -c --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
echo "" echo ""
echo "Setting up build environment" echo "Setting up build environment"
source build/envsetup.sh &> /dev/null source build/envsetup.sh &> /dev/null
mkdir -p ~/build-output mkdir -p ~/build-output
echo "" echo ""
repopick -t android-12.0.0_r12 repopick -t twelve-monet
repopick -t twelve-monet repopick -Q "status:open+project:LineageOS/android_packages_apps_AudioFX+branch:lineage-19.0"
repopick -Q "status:open+project:LineageOS/android_packages_apps_AudioFX+branch:lineage-19.0" repopick -Q "status:open+project:LineageOS/android_packages_apps_Etar+branch:lineage-19.0+NOT+317685"
repopick -Q "status:open+project:LineageOS/android_packages_apps_Etar+branch:lineage-19.0" repopick -Q "status:open+project:LineageOS/android_packages_apps_Trebuchet+branch:lineage-19.0+NOT+317783+NOT+318387"
repopick 317119 # Unset BOARD_EXT4_SHARE_DUP_BLOCKS repopick 318971 # Move Seedvault to /system_ext partition
repopick 317574 -f # ThemePicker: Grant missing wallpaper permissions }
repopick 317602 # Keyguard: don't use large clock on landscape
repopick 317606 # LineageParts: Temporary hax
repopick 317608 # Support for device specific key handlers
repopick 317609 # Allow adjusting progress on touch events.
repopick 318037 # Statusbar: show vibration icon in collapsed statusbar
repopick 318379 # Partially revert "lineage-sdk: Comment out LineageAudioService"
repopick 318380 # lineage: Temporarily disable LineageAudioService overlay
apply_patches() { apply_patches() {
echo "Applying patch group ${1}" echo "Applying patch group ${1}"
@ -97,15 +98,23 @@ finalize_treble() {
} }
build_device() { build_device() {
brunch ${1} if [ ${1} == "arm64" ]
mv $OUT/lineage-*.zip ~/build-output/lineage-19.0-$BUILD_DATE-UNOFFICIAL-${1}$($PERSONAL && echo "-personal" || echo "").zip then
lunch lineage_arm64-userdebug
make -j$(nproc --all) systemimage
mv $OUT/system.img ~/build-output/lineage-19.0-$BUILD_DATE-UNOFFICIAL-arm64$(${PERSONAL} && echo "-personal" || echo "").img
else
brunch ${1}
mv $OUT/lineage-*.zip ~/build-output/lineage-19.0-$BUILD_DATE-UNOFFICIAL-${1}$($PERSONAL && echo "-personal" || echo "").zip
fi
} }
build_treble() { build_treble() {
case "${1}" in case "${1}" in
#("32B") TARGET=treble_arm_bvS;;
("A64B") TARGET=treble_a64_bvS;; ("A64B") TARGET=treble_a64_bvS;;
("A64BG") TARGET=treble_a64_bgS;;
("64B") TARGET=treble_arm64_bvS;; ("64B") TARGET=treble_arm64_bvS;;
("64BG") TARGET=treble_arm64_bgS;;
(*) echo "Invalid target - exiting"; exit 1;; (*) echo "Invalid target - exiting"; exit 1;;
esac esac
lunch lineage_${TARGET}-userdebug lunch lineage_${TARGET}-userdebug
@ -115,21 +124,32 @@ build_treble() {
make vndk-test-sepolicy make vndk-test-sepolicy
} }
echo "Applying patches" if ${NOSYNC}
prep_${MODE}
apply_patches patches_platform
apply_patches patches_${MODE}
if ${PERSONAL}
then then
apply_patches patches_platform_personal echo "ATTENTION: syncing/patching skipped!"
apply_patches patches_${MODE}_personal echo ""
echo "Setting up build environment"
source build/envsetup.sh &> /dev/null
echo ""
else
prep_build
echo "Applying patches"
prep_${MODE}
apply_patches patches_platform
apply_patches patches_${MODE}
if ${PERSONAL}
then
apply_patches patches_platform_personal
apply_patches patches_${MODE}_personal
fi
finalize_${MODE}
echo ""
fi fi
finalize_${MODE}
echo ""
for var in "${@:2}" for var in "${@:2}"
do do
if [ ${var} == "personal" ] if [ ${var} == "nosync" ] || [ ${var} == "personal" ]
then then
continue continue
fi fi

View File

@ -5,6 +5,8 @@
<project name="phhusson/vendor_vndk-tests" path="vendor/vndk-tests" remote="github" revision="master" /> <project name="phhusson/vendor_vndk-tests" path="vendor/vndk-tests" remote="github" revision="master" />
<project name="phhusson/vendor_interfaces" path="vendor/interfaces" remote="github" revision="android-11.0" /> <project name="phhusson/vendor_interfaces" path="vendor/interfaces" remote="github" revision="android-11.0" />
<project name="phhusson/vendor_magisk" path="vendor/magisk" remote="github" revision="android-10.0" /> <project name="phhusson/vendor_magisk" path="vendor/magisk" remote="github" revision="android-10.0" />
<remote name="gitlab" fetch="https://gitlab.com/" />
<project name="davi.sh/gms-android-12" path="vendor/partner_gms" remote="gitlab" revision="master" />
<remove-project name="platform/packages/apps/Gallery2" /> <remove-project name="platform/packages/apps/Gallery2" />
<project name="LineageOS/android_packages_apps_Gallery2" path="packages/apps/Gallery2" remote="github" revision="lineage-18.1" /> <project name="LineageOS/android_packages_apps_Gallery2" path="packages/apps/Gallery2" remote="github" revision="lineage-18.1" />
</manifest> </manifest>