| #!/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 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 |