#!/bin/bash

set -e

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

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 which shasum; then
  NEW_SHA=$(shasum $DIR/trace_processor_shell | cut -f1 -d' ') # Mac OS
else
  NEW_SHA=$(sha1sum $DIR/trace_processor_shell | cut -f1 -d' ') # Linux
fi

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

name=trace_processor_shell-$platform-$NEW_SHA

gsutil cp $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"
