#!/usr/bin/env bash
#

set -x

#   go.sh [systems]
#
# Convenience script to generate systems.  Do not call from build steps or tests
# - call fremontcutbuilder and dartdomgenerator instead. Do not add 'real'
# functionality here - change the python code instead.
#
# I find it essential to generate all the systems so I know if I am breaking
# other systems.  My habit is to run:
#
#   ./go.sh | tee Q
#
# I can inspect file Q if needed.
#
# Re-gen all sdk/lib files
#
# The following gives a picture of the changes due to 'work'
#
#   git checkout master               # select client without changes
#   ./go.sh
#   mv ../generated ../generated0     # save generated files
#   git checkout work                 # select client with changes
#   ./go.sh
#   meld ../generated0 ../generated   # compare directories with too

SYSTEMS="htmldart2js"

if [[ "$1" != "" ]] ; then
  if [[ "$1" =~ ^-- ]]; then
      ARG_OPTION="$1"
  fi
fi

# vpython3 is available through depot_tools. See
# https://github.com/dart-lang/sdk/wiki/Building for instructions on installing
# depot_tools.
reset && \
vpython3 ./dartdomgenerator.py --systems="$SYSTEMS" --logging=40 --update-dom-metadata --gen-interop "$ARG_OPTION"

# Build the platform dill to be used by the bindings emitter.
cd ../../..
./tools/build.py -m release compile_dart2js_platform
cd ./tools/dom/scripts

# Calculate, emit, and format the bindings.
BINDINGS="../web_library_bindings.dart"
dart --enable-asserts ./web_library_bindings_emitter.dart $BINDINGS
dart format $BINDINGS
