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