Files
sdk/tools/dom/scripts/go.sh
T
Srujan Gaddam 74bfe6c244 Add bindings emitter for web libraries
Adds a generator that reads the platform libraries dill and outputs
maps that correspond to the various bindings e.g. `@Native` values
that exist in the web libraries. These maps will be consumed during
the analyzer run for lints.

Change-Id: I5b5bf91ff0e32964b97c9e52be414ec84ff88765
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/272720
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
2022-12-09 19:23:31 +00:00

50 lines
1.3 KiB
Bash
Executable File

#!/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
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 ./web_library_bindings_emitter.dart $BINDINGS
dart format $BINDINGS