#!/bin/bash

set -e

DIR=$(mktemp -d out/perfetto.XXXXXX)
STRIPPED_DIR=$DIR/stripped

function cleanup {
  rm -rf "$DIR"
  echo "Deleted temp working directory $DIR"
}

#trap cleanup EXIT

function is_mac {
  ! test -d /proc
  return $?
}

tools/gn gen $DIR --args='is_clang=true is_debug=false'
tools/ninja -C $DIR trace_processor_shell

if is_mac; then
  platform=mac
else
  platform=linux
fi

if which shasum; then
  NEW_SHA=$(shasum $STRIPPED_DIR/trace_processor_shell | cut -f1 -d' ') # Mac OS
else
  NEW_SHA=$(sha1sum $STRIPPED_DIR/trace_processor_shell | cut -f1 -d' ') # Linux
fi

name=trace_processor_shell-$platform-$NEW_SHA

gsutil cp $STRIPPED_DIR/trace_processor_shell gs://perfetto/$name
gsutil acl ch -u AllUsers:R gs://perfetto/$name

echo 'Now run the following command to update tools/trace_processor:'
echo "sed \"s/'$platform': '[^']*',/'$platform': '$NEW_SHA',/\" --in-place tools/trace_processor"
