| #!/bin/bash | |
| # TODO(kenz): delete this script once we can confirm it is not used in the | |
| # Dart SDK or in infra tooling. | |
| # Copyright 2025 The Flutter Authors | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd. | |
| # Contains a path to this script, relative to the directory it was called from. | |
| RELATIVE_PATH_TO_SCRIPT="${BASH_SOURCE[0]}" | |
| # The directory that this script is located in. | |
| TOOL_DIR=`dirname "${RELATIVE_PATH_TO_SCRIPT}"` | |
| # The devtools root directory is assumed to be the parent of this directory. | |
| DEVTOOLS_DIR="${TOOL_DIR}/.." | |
| pushd $TOOL_DIR | |
| if [[ $1 = "--no-update-flutter" ]] | |
| then | |
| # Use the Flutter SDK that is already on the user's PATH. | |
| FLUTTER_EXE="$(which flutter)" | |
| echo "Using the Flutter SDK that is already on PATH: $FLUTTER_EXE" | |
| FLUTTER_DIR="$(dirname "$(dirname "$FLUTTER_EXE")")" | |
| else | |
| # Use the Flutter SDK from flutter-sdk/. | |
| FLUTTER_DIR="`pwd`/flutter-sdk" | |
| PATH="$FLUTTER_DIR/bin":$PATH | |
| # Make sure the flutter sdk is on the correct branch. | |
| dt update-flutter-sdk | |
| fi | |
| popd | |
| # echo on | |
| set -eux | |
| # TODO(fujino): delete once https://github.com/flutter/flutter/issues/142521 | |
| # is resolved. | |
| pushd "$FLUTTER_DIR" | |
| # If we've already written the wrong version number to disk, delete it | |
| rm -f bin/cache/flutter.version.json | |
| # The flutter tool relies on git tags to determine its version | |
| git fetch https://github.com/flutter/flutter.git --tags -f | |
| git describe --tags | |
| # Print out local tags for debugging | |
| git tag -l | |
| popd | |
| echo "Flutter Path: $(which flutter)" | |
| echo "Flutter Version: $(flutter --version)" | |
| # TODO(https://github.com/flutter/flutter/issues/154194): remove this. | |
| echo "Running flutter --help as a workaround for https://github.com/flutter/flutter/issues/154194" | |
| flutter --help | |
| if [[ $1 = "--update-perfetto" ]]; then | |
| dt update-perfetto | |
| fi | |
| pushd $DEVTOOLS_DIR/packages/devtools_shared | |
| flutter pub get | |
| popd | |
| pushd $DEVTOOLS_DIR/packages/devtools_extensions | |
| flutter pub get | |
| popd | |
| pushd $DEVTOOLS_DIR/packages/devtools_app | |
| flutter clean | |
| rm -rf build/web | |
| flutter pub get | |
| flutter build web \ | |
| --source-maps \ | |
| --wasm \ | |
| --pwa-strategy=offline-first \ | |
| --release \ | |
| --no-tree-shake-icons \ | |
| --no-minify-wasm | |
| # Ensure permissions are set correctly on canvaskit binaries. | |
| chmod 0755 build/web/canvaskit/canvaskit.* | |
| popd |