blob: e175911628016ef9868a5f714b7e23f127b7c65b [file] [log] [blame]
#!/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