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