1#!/bin/bash 2MODE=${1:-s} 3 4# Needed for compat between GNU sed (Linux default) and BSD sed (OSX default). 5# - GNU sed requires no space between value for -i 6# - BSD sed requires that a value be passed for -i. 7function fn_sed_inplace { 8 sed -i.bak "$@" && rm "${@: -1}.bak" 9} 10 11function fn_update_snapshot { 12 BUILDID_ANDROIDX=`curl -s https://androidx.dev/snapshots/builds | grep -o '/snapshots/builds/[0-9]\+/artifacts' | sed 's|/snapshots/builds/||;s|/artifacts||' | head -n 1` 13 echo "Updating snapshot id: $BUILDID_ANDROIDX" 14 fn_sed_inplace "s/androidx.playground.snapshotBuildId=.*/androidx.playground.snapshotBuildId=$BUILDID_ANDROIDX/g" playground-common/playground.properties 15} 16 17function fn_update_metalava { 18 BUILDID_METALAVA=`curl -s https://androidx.dev/metalava/builds | grep -o '/metalava/builds/[0-9]\+/artifacts' | sed 's|/metalava/builds/||;s|/artifacts||' | head -n 1` 19 echo "Updating metalava id: $BUILDID_METALAVA" 20 fn_sed_inplace "s/androidx.playground.metalavaBuildId=.*/androidx.playground.metalavaBuildId=$BUILDID_METALAVA/g" playground-common/playground.properties 21} 22 23if [ "$MODE" == "s" ]; then 24 fn_update_snapshot 25elif [ "$MODE" == "a" ]; then 26 fn_update_snapshot 27 fn_update_metalava 28fi 29