diff --git a/DEPS b/DEPS index 31d2194b819..b58b09d0561 100644 --- a/DEPS +++ b/DEPS @@ -229,6 +229,13 @@ deps = { }], "dep_type": "cipd", }, + Var("dart_root") + "/third_party/devtools": { + "packages": [{ + "package": "dart/third_party/flutter/devtools", + "version": "revision:6729ec62c3548839018c32fa711756202431ccf7", + }], + "dep_type": "cipd", + }, Var("dart_root") + "/tests/co19/src": { "packages": [{ "package": "dart/third_party/co19", diff --git a/third_party/devtools/README b/third_party/devtools/README new file mode 100644 index 00000000000..d35a3233ed7 --- /dev/null +++ b/third_party/devtools/README @@ -0,0 +1,14 @@ +This folder contains a pre-built Dart DevTools instance which can be served +as a web application, as well as the package:devtools_server and package:devtools_shared +from the same revision, used to host and launch DevTools from a Dart process. + +First, ensure Flutter is installed and on your path (see https://flutter.dev/docs/get-started/install/linux#install-flutter-manually). + +With `flutter` on your path, do the following: + +- Run ./update.sh to build DevTools at a given revision and upload it + to CIPD. The uploaded CIPD entry will be tagged with `revision:` +- Update DEPS to point to the newly updated DevTools by providing "revision:" + as the version entry for "third_party/devtools" + +DevTools CIPD packages are located at https://chrome-infra-packages.appspot.com/p/dart/third_party/flutter/devtools/+/. diff --git a/third_party/devtools/update.sh b/third_party/devtools/update.sh new file mode 100755 index 00000000000..a69f6ee421a --- /dev/null +++ b/third_party/devtools/update.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +# Copyright 2021 The Dart 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 -ex #echo on + +if [ -z "$1" ]; then + echo "Usage: update.sh revision" + exit 1 +fi + +tmpdir=$(mktemp -d) +cleanup() { + rm -rf "$tmpdir" +} + +trap cleanup EXIT HUP INT QUIT TERM PIPE +cd "$tmpdir" + +# Clone DevTools and build. +git clone git@github.com:flutter/devtools.git +cd devtools +git checkout -b cipd_release $1 + +./tool/build_release.sh + +# Copy the build output as well as the devtools packages needed +# to serve from DDS. +mkdir cipd_package +cp -R packages/devtools/build/ cipd_package/web +cp -r packages/devtools_server cipd_package +cp -r packages/devtools_shared cipd_package + +cipd create \ + -name dart/third_party/flutter/devtools \ + -in cipd_package \ + -install-mode copy \ + -tag revision:$1 +