diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index e63d303a..00000000 --- a/bootstrap.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# We could do something much fancier here. - -# Fetch dart dependencies -cd packages/shorebird_cli -dart pub get -cd ../.. - -cd packages/shorebird_code_push_api -dart pub get -cd ../.. - -cd packages/shorebird_code_push_api_client -dart pub get -cd ../.. - -cd updater/dart_bindings -dart pub get -cd ../.. - -cd updater/dart_cli -dart pub get -cd ../.. - -# And the rust side -cd updater -cargo check \ No newline at end of file diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh new file mode 100755 index 00000000..153abe0c --- /dev/null +++ b/scripts/bootstrap.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Fetch dart dependencies +dart pub global activate very_good_cli +very_good --analytics=false +very_good packages get -r ./packages + +# And the rust side +cd updater +cargo check \ No newline at end of file diff --git a/scripts/build_engine.sh b/scripts/build_engine.sh new file mode 100755 index 00000000..a65242e8 --- /dev/null +++ b/scripts/build_engine.sh @@ -0,0 +1,68 @@ +#! /bin/sh -x + +# Given a path to a Flutter engine, generate a shorebird version of it. +# This is done by removing all the files that are not needed for the +# Flutter engine to run. +# Currently, only the android arm64 release version of the engine is supported. +# +# Usage: +# ./build_engine + +# The path to the Flutter engine. +ENGINE_PATH=$1 + +# The path where the shorebird engine will be generated. +OUTPUT_PATH=$2 + +# Build the engine in release mode for android arm64. +$ENGINE_PATH/src/flutter/tools/gn --android --android-cpu arm64 --runtime-mode=release +ninja -C $ENGINE_PATH/src/out/android_release_arm64 + +# Build the the host_release output. +$ENGINE_PATH/src/flutter/tools/gn --runtime-mode release +ninja -C $ENGINE_PATH/src/out/host_release + +# List of all files to keep. +KEEP_FILES=( + "out/android_release_arm64/libflutter.so" + "out/android_release_arm64/arm64_v8a_release.pom" + "out/android_release_arm64/flutter_embedding_release.jar" + "out/android_release_arm64/flutter_patched_sdk/platform_strong.dill" + "out/android_release_arm64/clang_x64/impellerc" + "out/android_release_arm64/clang_x64/gen_snapshot_arm64" + "out/android_release_arm64/clang_x64/gen_snapshot" + "out/android_release_arm64/arm64_v8a_release.jar" + "out/android_release_arm64/flutter_embedding_release.pom" + "out/android_release_arm64/flutter_embedding_release.maven-metadata.xml" + "out/android_release_arm64/flutter_embedding_release-sources.jar" + "out/android_release_arm64/arm64_v8a_release.maven-metadata.xml" + "out/host_release/gen/const_finder.dart.snapshot" + "out/host_release/font-subset" + "flutter/prebuilts/macos-x64/dart-sdk/LICENSE" + "flutter/prebuilts/macos-x64/dart-sdk/bin/dartaotruntime" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/analysis_server.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/kernel-service.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/gen_kernel.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dartdevc.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dart2js.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dartdev.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/kernel_worker.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dartdev.dill" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/frontend_server.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dart2wasm_product.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/snapshots/dds.dart.snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/bin/dart" + "flutter/prebuilts/macos-x64/dart-sdk/bin/utils/gen_snapshot" + "flutter/prebuilts/macos-x64/dart-sdk/README" + "flutter/prebuilts/macos-x64/dart-sdk/version" + "flutter/prebuilts/macos-x64/dart-sdk/revision" +) + +# Copy all files to keep to the output path. +mkdir -p $OUTPUT_PATH + +for file in "${KEEP_FILES[@]}" +do + mkdir -p $OUTPUT_PATH/$(dirname $file) + cp -r $ENGINE_PATH/src/$file $OUTPUT_PATH/$file +done