mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Part 1 of https://github.com/flutter/flutter/issues/145263 This PR updates the names of builds outside of `local_engine.json` to be prefixed with the string `ci/` (or `ci\` on Windows). For better or worse, the "name" field of a build is used to construct a path used as the source directory of a copy operation (I think the CAS archive step?). Because of that, changing the name of a build also requires updating the build output directory of the ninja build. This PR also adds tests to make sure the naming of these builds remains consistent.
85 lines
2.9 KiB
Bash
Executable File
85 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright 2013 The Flutter Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
set -e
|
|
|
|
# Needed because if it is set, cd may print the path it changed to.
|
|
unset CDPATH
|
|
|
|
# On Mac OS, readlink -f doesn't work, so follow_links traverses the path one
|
|
# link at a time, and then cds into the link destination and find out where it
|
|
# ends up.
|
|
#
|
|
# The function is enclosed in a subshell to avoid changing the working directory
|
|
# of the caller.
|
|
function follow_links() (
|
|
cd -P "$(dirname -- "$1")"
|
|
file="$PWD/$(basename -- "$1")"
|
|
while [[ -L "$file" ]]; do
|
|
cd -P "$(dirname -- "$file")"
|
|
file="$(readlink -- "$file")"
|
|
cd -P "$(dirname -- "$file")"
|
|
file="$PWD/$(basename -- "$file")"
|
|
done
|
|
echo "$file"
|
|
)
|
|
|
|
SCRIPT_DIR=$(follow_links "$(dirname -- "${BASH_SOURCE[0]}")")
|
|
SRC_DIR="$(cd "$SCRIPT_DIR/../.."; pwd -P)"
|
|
FLUTTER_DIR="$SRC_DIR/flutter"
|
|
|
|
# This shell script takes one optional argument, the path to a dart-sdk/bin
|
|
# directory. If not specified, we default to the build output for
|
|
# host_debug_unopt.
|
|
if [[ $# -eq 0 ]] ; then
|
|
DART_BIN="$SRC_DIR/out/host_debug_unopt/dart-sdk/bin"
|
|
if [[ ! -d "$DART_BIN" ]]; then
|
|
DART_BIN="$SRC_DIR/out/ci/host_debug_unopt/dart-sdk/bin"
|
|
fi
|
|
else
|
|
DART_BIN="$1"
|
|
fi
|
|
|
|
DART="$DART_BIN/dart"
|
|
|
|
if [[ ! -f "$DART" ]]; then
|
|
echo "'$DART' not found"
|
|
echo ""
|
|
echo "To build the Dart SDK, run:"
|
|
echo " flutter/tools/gn --unoptimized --runtime-mode=debug"
|
|
echo " ninja -C out/host_debug_unopt"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Using dart from $DART_BIN"
|
|
"$DART" --version
|
|
echo ""
|
|
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/ci"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/flutter_frontend_server"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/impeller/tessellator/dart"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/lib/gpu"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/lib/ui"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/testing"
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/tools"
|
|
|
|
echo ""
|
|
|
|
# Check that dart libraries conform.
|
|
echo "Checking the integrity of the Web SDK"
|
|
(cd "$FLUTTER_DIR/web_sdk"; "$DART" pub --suppress-analytics get)
|
|
(cd "$FLUTTER_DIR/web_sdk/web_test_utils"; "$DART" pub --suppress-analytics get)
|
|
(cd "$FLUTTER_DIR/web_sdk/web_engine_tester"; "$DART" pub --suppress-analytics get)
|
|
|
|
"$DART" analyze --suppress-analytics --fatal-infos --fatal-warnings "$FLUTTER_DIR/web_sdk"
|
|
|
|
WEB_SDK_TEST_FILES="$FLUTTER_DIR/web_sdk/test/*"
|
|
for testFile in $WEB_SDK_TEST_FILES
|
|
do
|
|
echo "Running $testFile"
|
|
(cd "$FLUTTER_DIR"; FLUTTER_DIR="$FLUTTER_DIR" "$DART" --disable-dart-dev --enable-asserts $testFile)
|
|
done
|