8652404193
Change-Id: Iecf2f40dd1bc8c0fffd877911e81ccd6055d9dc0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136121 Reviewed-by: Karl Klose <karlklose@google.com> Commit-Queue: Jens Johansen <jensj@google.com>
79 lines
2.6 KiB
Bash
Executable File
79 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
|
|
# for details. All rights reserved. Use of this source code is governed by a
|
|
# BSD-style license that can be found in the LICENSE file.
|
|
|
|
# Compile flutter tests with a locally built SDK.
|
|
|
|
set -e
|
|
|
|
prepareOnly=false
|
|
if [ $# -eq 1 ]
|
|
then
|
|
if [ $1 = "--prepareOnly" ]
|
|
then
|
|
prepareOnly=true
|
|
fi
|
|
fi
|
|
|
|
if $prepareOnly
|
|
then
|
|
echo "Will prepare only!"
|
|
fi
|
|
|
|
checkout=$(pwd)
|
|
dart=$checkout/out/ReleaseX64/dart-sdk/bin/dart
|
|
sdk=$checkout/out/ReleaseX64/dart-sdk
|
|
tmpdir=$(mktemp -d)
|
|
cleanup() {
|
|
if ! $prepareOnly
|
|
then
|
|
rm -rf "$tmpdir"
|
|
fi
|
|
}
|
|
trap cleanup EXIT HUP INT QUIT TERM PIPE
|
|
pushd "$tmpdir"
|
|
|
|
git clone --single-branch -vv \
|
|
https://dart.googlesource.com/external/github.com/flutter/flutter
|
|
|
|
pushd flutter
|
|
bin/flutter config --no-analytics
|
|
pinned_dart_sdk=$(cat bin/cache/dart-sdk/revision)
|
|
patch=$checkout/tools/patches/flutter-engine/${pinned_dart_sdk}.flutter.patch
|
|
if [ -e "$patch" ]; then
|
|
git apply $patch
|
|
fi
|
|
|
|
bin/flutter update-packages
|
|
popd
|
|
|
|
# Directly in temp directory again.
|
|
mkdir src
|
|
pushd src
|
|
git clone --single-branch --depth=1 -vv \
|
|
https://dart.googlesource.com/external/github.com/flutter/engine flutter
|
|
mkdir third_party
|
|
pushd third_party
|
|
ln -s $checkout dart
|
|
popd
|
|
popd
|
|
|
|
./src/third_party/dart/tools/patches/flutter-engine/apply.sh || true
|
|
|
|
mkdir flutter_patched_sdk
|
|
|
|
$checkout/tools/sdks/dart-sdk/bin/dart --packages=$checkout/.packages $checkout/pkg/front_end/tool/_fasta/compile_platform.dart dart:core --single-root-scheme=org-dartlang-sdk --single-root-base=$checkout/ org-dartlang-sdk:///sdk/lib/libraries.json vm_outline_strong.dill vm_platform_strong.dill vm_outline_strong.dill
|
|
$checkout/tools/sdks/dart-sdk/bin/dart --packages=$checkout/.packages $checkout/pkg/front_end/tool/_fasta/compile_platform.dart --target=flutter dart:core --single-root-scheme=org-dartlang-sdk --single-root-base=src org-dartlang-sdk:///flutter/lib/snapshot/libraries.json vm_outline_strong.dill flutter_patched_sdk/platform_strong.dill flutter_patched_sdk/outline_strong.dill
|
|
|
|
popd
|
|
|
|
if $prepareOnly
|
|
then
|
|
echo "Preparations complete!"
|
|
echo "Flutter is now in $tmpdir/flutter and the patched sdk in $tmpdir/flutter_patched_sdk"
|
|
echo "You can run the test with $dart --enable-asserts pkg/frontend_server/test/frontend_server_flutter.dart --flutterDir=$tmpdir/flutter --flutterPlatformDir=$tmpdir/flutter_patched_sdk"
|
|
else
|
|
$dart --enable-asserts pkg/frontend_server/test/frontend_server_flutter_suite.dart -v --flutterDir=$tmpdir/flutter --flutterPlatformDir=$tmpdir/flutter_patched_sdk $@
|
|
fi
|