| #!/usr/bin/env bash |
| # |
| |
| set -x |
| |
| # generate_patches.sh [systems] |
| # |
| # Convenience script to generate patches for JsInterop under Dartium. 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 |
| # |
| # 1. After running go.sh libraries in sdk/lib may change. |
| # 2. Build Dartium. |
| # 3. Run this script and sdk/lib/js/dartium/cached_patches will be created. |
| # 4. Rebuild Dartium. |
| # 5. Commit files in sdk/lib |
| # |
| # NOTE: If the Dart files generated from the IDLs may cause major changes which |
| # could cause the patch files to fail (missing classes, etc). If this |
| # happens delete the contents of the sdk/lib/js/dartium/cached_patches.dart |
| # build Dartium, run this script and build Dartium again with the newly |
| # generated patches. |
| |
| if [[ "$1" != "" ]] ; then |
| DARTIUM="$1" |
| else |
| LOCATION_DARTIUM="../../../out/Release" |
| DARTIUM="$LOCATION_DARTIUM" |
| fi |
| |
| DART_APP_LOCATION="file://"$PWD"/generate_app/generate_cached_patches.html" |
| DARTIUM_ARGS=" --user-data-dir=out --disable-web-security --no-sandbox --enable-blink-features=dartGenCachedPatches" |
| CACHED_PATCHES_FILE=""$PWD"/../../sdk/lib/js/dartium/cached_patches.dart" |
| |
| cmd=""$DARTIUM"/chrome "$DARTIUM_ARGS" "$DART_APP_LOCATION" | |
| (sed -n '/START_OF_CACHED_PATCHES/,/END_OF_CACHED_PATCHES/p') > "$CACHED_PATCHES_FILE"" |
| |
| reset && eval "${cmd}" |
| |
| |