xref: /aosp_15_r20/prebuilts/build-tools/update-prebuilts.sh (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1#!/bin/bash -e
2
3# Copyright 2020 Google Inc. All rights reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17if [ -z $1 ]; then
18    echo "usage: $0 <build number>"
19    echo
20    echo "The build number should be from a *snap* [not a buildkick] of aosp-build-tools-release."
21    echo "https://android-build.googleplex.com/coastguard/branch/aosp-build-tools-release/#/request/"
22    echo
23    echo "Don't forget to repo start first!"
24    exit 1
25fi
26
27readonly BUILD_NUMBER=$1
28
29cd "$(dirname $0)"
30
31if ! git diff HEAD --quiet; then
32    echo "must be run with a clean prebuilts/build-tools project"
33    exit 1
34fi
35
36readonly tmpdir=$(mktemp -d)
37
38function finish {
39    if [ ! -z "${tmpdir}" ]; then
40        rm -rf "${tmpdir}"
41    fi
42}
43trap finish EXIT
44
45function fetch_artifact() {
46    /google/data/ro/projects/android/fetch_artifact --branch aosp-build-tools-release --bid ${BUILD_NUMBER} --target $1 "$2" "$3"
47}
48
49fetch_artifact linux build-prebuilts.zip "${tmpdir}/linux.zip"
50fetch_artifact linux build-common-prebuilts.zip "${tmpdir}/common.zip"
51fetch_artifact linux manifest_${BUILD_NUMBER}.xml "${tmpdir}/manifest.xml"
52fetch_artifact darwin_mac build-prebuilts.zip "${tmpdir}/darwin.zip"
53fetch_artifact linux_musl build-prebuilts.zip "${tmpdir}/linux_musl.zip"
54fetch_artifact linux_musl build-arm64-prebuilts.zip "${tmpdir}/linux_musl_arm64.zip"
55fetch_artifact linux_musl musl-sysroot-i686-unknown-linux-musl.zip "${tmpdir}/musl-sysroot-i686-unknown-linux-musl.zip"
56fetch_artifact linux_musl musl-sysroot-x86_64-unknown-linux-musl.zip "${tmpdir}/musl-sysroot-x86_64-unknown-linux-musl.zip"
57fetch_artifact linux_musl musl-sysroot-aarch64-unknown-linux-musl.zip "${tmpdir}/musl-sysroot-aarch64-unknown-linux-musl.zip"
58fetch_artifact linux_musl musl-sysroot-arm-unknown-linux-musleabihf.zip "${tmpdir}/musl-sysroot-arm-unknown-linux-musleabihf.zip"
59
60function unzip_to() {
61    rm -rf "$1"
62    mkdir "$1"
63    unzip -q -DD -d "$1" "$2"
64}
65
66unzip_to linux-x86 "${tmpdir}/linux.zip"
67unzip_to common "${tmpdir}/common.zip"
68unzip_to darwin-x86 "${tmpdir}/darwin.zip"
69unzip_to linux_musl-x86 "${tmpdir}/linux_musl.zip"
70unzip_to linux_musl-arm64 "${tmpdir}/linux_musl_arm64.zip"
71unzip_to sysroots/x86_64-unknown-linux-musl "${tmpdir}/musl-sysroot-x86_64-unknown-linux-musl.zip"
72unzip_to sysroots/i686-unknown-linux-musl "${tmpdir}/musl-sysroot-i686-unknown-linux-musl.zip"
73unzip_to sysroots/aarch64-unknown-linux-musl "${tmpdir}/musl-sysroot-aarch64-unknown-linux-musl.zip"
74unzip_to sysroots/arm-unknown-linux-musleabihf "${tmpdir}/musl-sysroot-arm-unknown-linux-musleabihf.zip"
75
76cp -f "${tmpdir}/manifest.xml" manifest.xml
77
78git add manifest.xml linux-x86 linux_musl-arm64 linux_musl-x86 darwin-x86 common sysroots/x86_64-unknown-linux-musl sysroots/i686-unknown-linux-musl sysroots/aarch64-unknown-linux-musl sysroots/arm-unknown-linux-musleabihf
79git commit -m "Update build-tools to ab/${BUILD_NUMBER}
80
81https://ci.android.com/builds/branches/aosp-build-tools-release/grid?head=${BUILD_NUMBER}&tail=${BUILD_NUMBER}
82
83Test: treehugger"
84