Revert "fix devicelab manfiest (#33698)" This reverts commit 5a6a00dc54cb9c5f6865fd31f930ca5665a0e4af. This reverts commit 0d79f0fc79f1ab46f80a3d8d734fdadccea1fb4a.
This commit is contained in:
parent
2467c528f5
commit
98ea501995
@ -12,7 +12,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -65,4 +65,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: f3c5
|
||||
# PUBSPEC CHECKSUM: 5cc4
|
||||
|
@ -43,7 +43,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.16.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.18 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -82,4 +82,4 @@ flutter:
|
||||
- packages/flutter_gallery_assets/people/square/ali.png
|
||||
- packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
|
||||
|
||||
# PUBSPEC CHECKSUM: f69a
|
||||
# PUBSPEC CHECKSUM: f699
|
||||
|
@ -43,7 +43,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.16.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.18 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -79,4 +79,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: f69a
|
||||
# PUBSPEC CHECKSUM: f699
|
||||
|
@ -16,7 +16,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -73,4 +73,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 1128
|
||||
# PUBSPEC CHECKSUM: ce27
|
||||
|
@ -7,7 +7,7 @@ environment:
|
||||
|
||||
dependencies:
|
||||
path: 1.6.2
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
meta: 1.1.6
|
||||
process: 3.0.9
|
||||
platform: 2.2.0
|
||||
@ -64,7 +64,7 @@ dependencies:
|
||||
yaml: 2.1.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dev_dependencies:
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
test_api: 0.2.5
|
||||
|
||||
# PUBSPEC CHECKSUM: ee9f
|
||||
# PUBSPEC CHECKSUM: 7f9d
|
||||
|
@ -1,10 +0,0 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:flutter_devicelab/framework/framework.dart';
|
||||
import 'package:flutter_devicelab/tasks/web_dev_mode_tests.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
await task(createWebDevModeTest());
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:flutter_devicelab/framework/framework.dart';
|
||||
import 'package:flutter_devicelab/tasks/web_dev_mode_tests.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
await task(createWebDevModeTest());
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:flutter_devicelab/framework/framework.dart';
|
||||
import 'package:flutter_devicelab/tasks/web_dev_mode_tests.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
await task(createWebDevModeTest());
|
||||
}
|
@ -1,139 +0,0 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
import '../framework/framework.dart';
|
||||
import '../framework/utils.dart';
|
||||
|
||||
final Directory _editedFlutterGalleryDir = dir(path.join(Directory.systemTemp.path, 'edited_flutter_gallery'));
|
||||
final Directory flutterGalleryDir = dir(path.join(flutterDirectory.path, 'examples/flutter_gallery'));
|
||||
|
||||
TaskFunction createWebDevModeTest() {
|
||||
return () async {
|
||||
final List<String> options = <String>[
|
||||
'--hot', '-d', 'web', '--verbose', '--resident', '--target=lib/main_web.dart',
|
||||
];
|
||||
setLocalEngineOptionIfNecessary(options);
|
||||
int hotRestartCount = 0;
|
||||
await inDirectory<void>(flutterDirectory, () async {
|
||||
rmTree(_editedFlutterGalleryDir);
|
||||
mkdirs(_editedFlutterGalleryDir);
|
||||
recursiveCopy(flutterGalleryDir, _editedFlutterGalleryDir);
|
||||
await inDirectory<void>(_editedFlutterGalleryDir, () async {
|
||||
{
|
||||
final Process packagesGet = await startProcess(
|
||||
path.join(flutterDirectory.path, 'bin', 'flutter'),
|
||||
<String>['packages', 'get'],
|
||||
environment: <String, String>{
|
||||
'FLUTTER_WEB': 'true',
|
||||
},
|
||||
);
|
||||
await packagesGet.exitCode;
|
||||
final Process process = await startProcess(
|
||||
path.join(flutterDirectory.path, 'bin', 'flutter'),
|
||||
<String>['run']..addAll(options),
|
||||
environment: <String, String>{
|
||||
'FLUTTER_WEB': 'true',
|
||||
},
|
||||
);
|
||||
|
||||
final Completer<void> stdoutDone = Completer<void>();
|
||||
final Completer<void> stderrDone = Completer<void>();
|
||||
process.stdout
|
||||
.transform<String>(utf8.decoder)
|
||||
.transform<String>(const LineSplitter())
|
||||
.listen((String line) {
|
||||
if (line.contains('To hot restart')) {
|
||||
process.stdin.write('R');
|
||||
}
|
||||
if (line.contains('Restarted')) {
|
||||
if (hotRestartCount == 0) {
|
||||
// Update the file and reload again.
|
||||
final File appDartSource = file(path.join(
|
||||
_editedFlutterGalleryDir.path, 'lib/gallery/app.dart',
|
||||
));
|
||||
appDartSource.writeAsStringSync(
|
||||
appDartSource.readAsStringSync().replaceFirst(
|
||||
"'Flutter Gallery'", "'Updated Flutter Gallery'",
|
||||
)
|
||||
);
|
||||
process.stdin.writeln('R');
|
||||
++hotRestartCount;
|
||||
} else {
|
||||
// Quit after second hot restart.
|
||||
process.stdin.writeln('q');
|
||||
}
|
||||
}
|
||||
print('stdout: $line');
|
||||
}, onDone: () {
|
||||
stdoutDone.complete();
|
||||
});
|
||||
process.stderr
|
||||
.transform<String>(utf8.decoder)
|
||||
.transform<String>(const LineSplitter())
|
||||
.listen((String line) {
|
||||
print('stderr: $line');
|
||||
}, onDone: () {
|
||||
stderrDone.complete();
|
||||
});
|
||||
|
||||
await Future.wait<void>(<Future<void>>[
|
||||
stdoutDone.future,
|
||||
stderrDone.future,
|
||||
]);
|
||||
await process.exitCode;
|
||||
|
||||
}
|
||||
|
||||
// Start `flutter run` again to make sure it loads from the previous
|
||||
// state. dev compilers loads up from previously compiled JavaScript.
|
||||
{
|
||||
final Process process = await startProcess(
|
||||
path.join(flutterDirectory.path, 'bin', 'flutter'),
|
||||
<String>['run']..addAll(options),
|
||||
environment: <String, String>{
|
||||
'FLUTTER_WEB': 'true',
|
||||
},
|
||||
);
|
||||
final Completer<void> stdoutDone = Completer<void>();
|
||||
final Completer<void> stderrDone = Completer<void>();
|
||||
process.stdout
|
||||
.transform<String>(utf8.decoder)
|
||||
.transform<String>(const LineSplitter())
|
||||
.listen((String line) {
|
||||
if (line.contains('To hot restart')) {
|
||||
process.stdin.write('R');
|
||||
}
|
||||
if (line.contains('Restarted')) {
|
||||
process.stdin.writeln('q');
|
||||
}
|
||||
print('stdout: $line');
|
||||
}, onDone: () {
|
||||
stdoutDone.complete();
|
||||
});
|
||||
process.stderr
|
||||
.transform<String>(utf8.decoder)
|
||||
.transform<String>(const LineSplitter())
|
||||
.listen((String line) {
|
||||
print('stderr: $line');
|
||||
}, onDone: () {
|
||||
stderrDone.complete();
|
||||
});
|
||||
|
||||
await Future.wait<void>(<Future<void>>[
|
||||
stdoutDone.future,
|
||||
stderrDone.future,
|
||||
]);
|
||||
await process.exitCode;
|
||||
}
|
||||
});
|
||||
});
|
||||
return TaskResult.success(null);
|
||||
};
|
||||
}
|
@ -125,13 +125,6 @@ tasks:
|
||||
stage: devicelab_win
|
||||
required_agent_capabilities: ["windows/android"]
|
||||
|
||||
windows_chrome_dev_mode:
|
||||
description: >
|
||||
Run flutter web on the devicelab and hot restart.
|
||||
stage: devicelab_win
|
||||
required_agent_capabilities: ["windows/android"]
|
||||
flaky: true
|
||||
|
||||
# Android on-device tests
|
||||
|
||||
complex_layout_scroll_perf__timeline_summary:
|
||||
@ -331,13 +324,6 @@ tasks:
|
||||
stage: devicelab
|
||||
required_agent_capabilities: ["linux/android"]
|
||||
|
||||
linux_chrome_dev_mode:
|
||||
description: >
|
||||
Run flutter web on the devicelab and hot restart.
|
||||
stage: devicelab
|
||||
required_agent_capabilities: ["linux/android"]
|
||||
flaky: true
|
||||
|
||||
# iOS on-device tests
|
||||
|
||||
flavors_test_ios:
|
||||
@ -435,13 +421,6 @@ tasks:
|
||||
stage: devicelab_ios
|
||||
required_agent_capabilities: ["mac/ios"]
|
||||
|
||||
macos_chrome_dev_mode:
|
||||
description: >
|
||||
Run flutter web on the devicelab and hot restart.
|
||||
stage: devicelab_ios
|
||||
required_agent_capabilities: ["mac/ios"]
|
||||
flaky: true
|
||||
|
||||
# Tests running on Windows host
|
||||
|
||||
flavors_test_win:
|
||||
|
@ -8,7 +8,7 @@ environment:
|
||||
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
file: 5.0.8
|
||||
image: 2.1.3
|
||||
meta: 1.1.6
|
||||
@ -73,4 +73,4 @@ dev_dependencies:
|
||||
watcher: 0.9.7+10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
yaml: 2.1.15 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: e419
|
||||
# PUBSPEC CHECKSUM: b018
|
||||
|
@ -9,7 +9,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -63,4 +63,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -40,7 +40,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.16.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.18 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -76,4 +76,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: fdbf
|
||||
# PUBSPEC CHECKSUM: 10be
|
||||
|
@ -13,7 +13,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,4 +67,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -35,7 +35,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.16.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.18 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -74,4 +74,4 @@ builders:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -13,7 +13,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,4 +67,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -13,7 +13,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,4 +67,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -5,10 +5,10 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
test: 1.6.3
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -60,4 +60,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 8420
|
||||
# PUBSPEC CHECKSUM: bf1e
|
||||
|
@ -13,7 +13,7 @@ dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,4 +67,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 820f
|
||||
# PUBSPEC CHECKSUM: d60e
|
||||
|
@ -5,7 +5,7 @@ dependencies:
|
||||
build: 1.1.4
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
collection: 1.14.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -32,4 +32,4 @@ environment:
|
||||
# The pub client defaults to an <2.0.0 sdk constraint which we need to explicitly overwrite.
|
||||
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
||||
|
||||
# PUBSPEC CHECKSUM: 069b
|
||||
# PUBSPEC CHECKSUM: 669a
|
||||
|
@ -15,7 +15,7 @@ dependencies:
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
archive: 2.0.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -77,4 +77,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 3129
|
||||
# PUBSPEC CHECKSUM: 1b28
|
||||
|
@ -17,7 +17,7 @@ dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -36,4 +36,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 0ba0
|
||||
# PUBSPEC CHECKSUM: 949f
|
||||
|
@ -13,7 +13,7 @@ dartdoc:
|
||||
nodoc: true
|
||||
|
||||
dependencies:
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
dart_style: 1.2.7
|
||||
meta: 1.1.6
|
||||
platform: 2.2.0
|
||||
@ -98,4 +98,4 @@ executables:
|
||||
vm_service_client: 0.2.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
web_socket_channel: 1.0.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: 052d
|
||||
# PUBSPEC CHECKSUM: 6b2c
|
||||
|
@ -6,7 +6,7 @@ environment:
|
||||
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
http: 0.12.0+2
|
||||
path: 1.6.2
|
||||
platform: 2.2.0
|
||||
@ -22,4 +22,4 @@ dependencies:
|
||||
term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
typed_data: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: 24d4
|
||||
# PUBSPEC CHECKSUM: 8bd3
|
||||
|
@ -7,7 +7,7 @@ environment:
|
||||
|
||||
dependencies:
|
||||
archive: 2.0.9
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
http: 0.12.0+2
|
||||
intl: 0.15.8
|
||||
meta: 1.1.6
|
||||
@ -30,11 +30,11 @@ dependencies:
|
||||
|
||||
dev_dependencies:
|
||||
test_api: 0.2.5
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
matcher: 0.12.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
stack_trace: 1.9.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
stream_channel: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: a711
|
||||
# PUBSPEC CHECKSUM: 470f
|
||||
|
@ -9,7 +9,7 @@ environment:
|
||||
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
||||
|
||||
dependencies:
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
vector_math: 2.0.8
|
||||
xml: 3.5.0
|
||||
|
||||
@ -37,4 +37,4 @@ dev_dependencies:
|
||||
term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
test_api: 0.2.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: 3d4e
|
||||
# PUBSPEC CHECKSUM: b74d
|
||||
|
@ -23,7 +23,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -73,4 +73,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 25f9
|
||||
# PUBSPEC CHECKSUM: 5ff8
|
||||
|
@ -39,7 +39,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -253,4 +253,4 @@ flutter:
|
||||
- asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Regular.ttf
|
||||
- asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Light.ttf
|
||||
|
||||
# PUBSPEC CHECKSUM: e061
|
||||
# PUBSPEC CHECKSUM: 8760
|
||||
|
@ -21,7 +21,7 @@ dev_dependencies:
|
||||
test: 1.6.3
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -72,4 +72,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 25f9
|
||||
# PUBSPEC CHECKSUM: 5ff8
|
||||
|
@ -15,7 +15,7 @@ dependencies:
|
||||
isolate: 2.0.2
|
||||
|
||||
analyzer: 0.36.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
args: 1.5.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
collection: 1.14.11 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -62,4 +62,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 69b8
|
||||
# PUBSPEC CHECKSUM: 63b7
|
||||
|
@ -22,7 +22,7 @@ dev_dependencies:
|
||||
sdk: flutter
|
||||
flutter_goldens:
|
||||
sdk: flutter
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -42,4 +42,4 @@ dev_dependencies:
|
||||
term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
test_api: 0.2.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: 45dd
|
||||
# PUBSPEC CHECKSUM: 94dc
|
||||
|
@ -43,7 +43,7 @@ dependencies:
|
||||
vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dev_dependencies:
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
quiver: 2.0.3
|
||||
|
||||
# PUBSPEC CHECKSUM: ef8e
|
||||
# PUBSPEC CHECKSUM: b48d
|
||||
|
@ -33,6 +33,6 @@ dependencies:
|
||||
vector_math: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dev_dependencies:
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
# PUBSPEC CHECKSUM: 926b
|
||||
# PUBSPEC CHECKSUM: 046a
|
||||
|
@ -20,7 +20,7 @@ dependencies:
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
async: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
boolean_selector: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -35,4 +35,4 @@ dev_dependencies:
|
||||
term_glyph: 1.1.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
test_api: 0.2.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: c3de
|
||||
# PUBSPEC CHECKSUM: 4ddd
|
||||
|
@ -43,8 +43,8 @@ import 'macos/xcode_validator.dart';
|
||||
import 'run_hot.dart';
|
||||
import 'usage.dart';
|
||||
import 'version.dart';
|
||||
import 'web/chrome.dart';
|
||||
import 'web/compile.dart';
|
||||
import 'web/web_device.dart';
|
||||
import 'windows/windows_workflow.dart';
|
||||
|
||||
Future<T> runInContext<T>(
|
||||
|
@ -5,14 +5,11 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:meta/meta.dart';
|
||||
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';
|
||||
|
||||
import 'asset.dart';
|
||||
import 'base/common.dart';
|
||||
import 'base/file_system.dart';
|
||||
import 'base/logger.dart';
|
||||
import 'base/terminal.dart';
|
||||
import 'base/utils.dart';
|
||||
import 'build_info.dart';
|
||||
import 'bundle.dart';
|
||||
import 'dart/package_map.dart';
|
||||
@ -22,8 +19,8 @@ import 'project.dart';
|
||||
import 'resident_runner.dart';
|
||||
import 'run_hot.dart';
|
||||
import 'web/asset_server.dart';
|
||||
import 'web/chrome.dart';
|
||||
import 'web/compile.dart';
|
||||
import 'web/web_device.dart';
|
||||
|
||||
/// A hot-runner which handles browser specific delegation.
|
||||
class ResidentWebRunner extends ResidentRunner {
|
||||
@ -47,7 +44,6 @@ class ResidentWebRunner extends ResidentRunner {
|
||||
WebAssetServer _server;
|
||||
ProjectFileInvalidator projectFileInvalidator;
|
||||
DateTime _lastCompiled;
|
||||
WipConnection _connection;
|
||||
final FlutterProject flutterProject;
|
||||
|
||||
@override
|
||||
@ -62,16 +58,12 @@ class ResidentWebRunner extends ResidentRunner {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> cleanupAfterSignal() async {
|
||||
await _connection.sendCommand('Browser.close');
|
||||
_connection = null;
|
||||
Future<void> cleanupAfterSignal() {
|
||||
return _server?.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> cleanupAtFinish() async {
|
||||
await _connection?.sendCommand('Browser.close');
|
||||
_connection = null;
|
||||
Future<void> cleanupAtFinish() {
|
||||
return _server?.dispose();
|
||||
}
|
||||
|
||||
@ -136,15 +128,7 @@ class ResidentWebRunner extends ResidentRunner {
|
||||
await _server.initialize();
|
||||
|
||||
// Step 3: Spawn an instance of Chrome and direct it to the created server.
|
||||
final String url = 'http://localhost:${_server.port}';
|
||||
final Chrome chrome = await chromeLauncher.launch(url);
|
||||
final ChromeTab chromeTab = await chrome.chromeConnection.getTab((ChromeTab chromeTab) {
|
||||
return chromeTab.url.contains(url); // we don't care about trailing slashes or #
|
||||
});
|
||||
_connection = await chromeTab.connect();
|
||||
_connection.onClose.listen((WipConnection connection) {
|
||||
appFinished();
|
||||
});
|
||||
await chromeLauncher.launch('http:localhost:${_server.port}');
|
||||
|
||||
// We don't support the debugging proxy yet.
|
||||
appStartedCompleter?.complete();
|
||||
@ -155,20 +139,11 @@ class ResidentWebRunner extends ResidentRunner {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<OperationResult> restart({
|
||||
bool fullRestart = false,
|
||||
Future<OperationResult> restart(
|
||||
{bool fullRestart = false,
|
||||
bool pauseAfterRestart = false,
|
||||
String reason,
|
||||
bool benchmarkMode = false,
|
||||
}) async {
|
||||
final Stopwatch timer = Stopwatch()..start();
|
||||
final Status status = logger.startProgress(
|
||||
'Performing hot restart...',
|
||||
timeout: timeoutConfiguration.fastOperation,
|
||||
progressId: 'hot.restart',
|
||||
);
|
||||
OperationResult result = OperationResult.ok;
|
||||
try {
|
||||
bool benchmarkMode = false}) async {
|
||||
final List<Uri> invalidatedSources = ProjectFileInvalidator.findInvalidated(
|
||||
lastCompiled: _lastCompiled,
|
||||
urisToMonitor: <Uri>[
|
||||
@ -180,14 +155,7 @@ class ResidentWebRunner extends ResidentRunner {
|
||||
packagesPath: PackageMap.globalPackagesPath,
|
||||
);
|
||||
await webCompilationProxy.invalidate(inputs: invalidatedSources);
|
||||
await _connection.sendCommand('Page.reload');
|
||||
await Future<void>.delayed(const Duration(milliseconds: 150));
|
||||
} catch (err) {
|
||||
result = OperationResult(1, err.toString());
|
||||
} finally {
|
||||
printStatus('Restarted application in ${getElapsedAsMilliseconds(timer.elapsed)}.');
|
||||
status.cancel();
|
||||
}
|
||||
return result;
|
||||
printStatus('Sources updated, refresh browser');
|
||||
return OperationResult.ok;
|
||||
}
|
||||
}
|
||||
|
@ -170,6 +170,7 @@ class WebAssetServer {
|
||||
|
||||
Future<void> _completeRequest(HttpRequest request, File file,
|
||||
[String contentType = 'text']) async {
|
||||
printTrace('looking for ${request.uri} at ${file.path}');
|
||||
if (!file.existsSync()) {
|
||||
request.response.statusCode = HttpStatus.notFound;
|
||||
await request.response.close();
|
||||
|
@ -1,173 +0,0 @@
|
||||
// Copyright 2019 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';
|
||||
|
||||
import '../base/common.dart';
|
||||
import '../base/context.dart';
|
||||
import '../base/file_system.dart';
|
||||
import '../base/io.dart';
|
||||
import '../base/os.dart';
|
||||
import '../base/platform.dart';
|
||||
import '../base/process_manager.dart';
|
||||
import '../convert.dart';
|
||||
|
||||
/// The [ChromeLauncher] instance.
|
||||
ChromeLauncher get chromeLauncher => context.get<ChromeLauncher>();
|
||||
|
||||
const String _kChromeEnvironment = 'CHROME_EXECUTABLE';
|
||||
const String _kLinuxExecutable = 'google-chrome';
|
||||
const String _kMacOSExecutable =
|
||||
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
||||
const String _kWindowsExecutable = r'Google\Chrome\Application\chrome.exe';
|
||||
final List<String> _kWindowsPrefixes = <String>[
|
||||
platform.environment['LOCALAPPDATA'],
|
||||
platform.environment['PROGRAMFILES'],
|
||||
platform.environment['PROGRAMFILES(X86)']
|
||||
];
|
||||
|
||||
// Responsible for launching chrome with devtools configured.
|
||||
class ChromeLauncher {
|
||||
const ChromeLauncher();
|
||||
|
||||
static final Completer<Chrome> _currentCompleter = Completer<Chrome>();
|
||||
|
||||
/// Launch the chrome browser to a particular `host` page.
|
||||
Future<Chrome> launch(String url) async {
|
||||
final String chromeExecutable = _findExecutable();
|
||||
final Directory dataDir = fs.systemTempDirectory.createTempSync();
|
||||
final int port = await os.findFreePort();
|
||||
final List<String> args = <String>[
|
||||
chromeExecutable,
|
||||
// Using a tmp directory ensures that a new instance of chrome launches
|
||||
// allowing for the remote debug port to be enabled.
|
||||
'--user-data-dir=${dataDir.path}',
|
||||
'--remote-debugging-port=$port',
|
||||
// When the DevTools has focus we don't want to slow down the application.
|
||||
'--disable-background-timer-throttling',
|
||||
// Since we are using a temp profile, disable features that slow the
|
||||
// Chrome launch.
|
||||
'--disable-extensions',
|
||||
'--disable-popup-blocking',
|
||||
'--bwsi',
|
||||
'--no-first-run',
|
||||
'--no-default-browser-check',
|
||||
'--disable-default-apps',
|
||||
'--disable-translate',
|
||||
url,
|
||||
];
|
||||
final Process process = await processManager.start(args);
|
||||
|
||||
// Wait until the DevTools are listening before trying to connect.
|
||||
await process.stderr
|
||||
.transform(utf8.decoder)
|
||||
.transform(const LineSplitter())
|
||||
.firstWhere((String line) => line.startsWith('DevTools listening'))
|
||||
.timeout(const Duration(seconds: 60), onTimeout: () {
|
||||
throwToolExit('Unable to connect to Chrome DevTools.');
|
||||
return null;
|
||||
});
|
||||
|
||||
return _connect(Chrome._(
|
||||
port,
|
||||
ChromeConnection('localhost', port),
|
||||
process: process,
|
||||
dataDir: dataDir,
|
||||
));
|
||||
}
|
||||
|
||||
static Future<Chrome> _connect(Chrome chrome) async {
|
||||
if (_currentCompleter.isCompleted) {
|
||||
throwToolExit('Only one instance of chrome can be started.');
|
||||
}
|
||||
// The connection is lazy. Try a simple call to make sure the provided
|
||||
// connection is valid.
|
||||
try {
|
||||
await chrome.chromeConnection.getTabs();
|
||||
} catch (e) {
|
||||
await chrome.close();
|
||||
throwToolExit(
|
||||
'Unable to connect to Chrome debug port: ${chrome.debugPort}\n $e');
|
||||
}
|
||||
_currentCompleter.complete(chrome);
|
||||
return chrome;
|
||||
}
|
||||
|
||||
/// Connects to an instance of Chrome with an open debug port.
|
||||
static Future<Chrome> fromExisting(int port) async =>
|
||||
_connect(Chrome._(port, ChromeConnection('localhost', port)));
|
||||
|
||||
static Future<Chrome> get connectedInstance => _currentCompleter.future;
|
||||
|
||||
static String _findExecutable() {
|
||||
if (platform.environment.containsKey(_kChromeEnvironment)) {
|
||||
return platform.environment[_kChromeEnvironment];
|
||||
}
|
||||
if (platform.isLinux) {
|
||||
// Don't check if this exists, it isn't a file.
|
||||
return _kLinuxExecutable;
|
||||
}
|
||||
if (platform.isMacOS) {
|
||||
if (!fs.file(_kMacOSExecutable).existsSync()) {
|
||||
throwToolExit('Chrome executable not found at $_kMacOSExecutable');
|
||||
}
|
||||
return _kMacOSExecutable;
|
||||
}
|
||||
if (platform.isWindows) {
|
||||
final String windowsPrefix = _kWindowsPrefixes.firstWhere((String prefix) {
|
||||
if (prefix == null) {
|
||||
return false;
|
||||
}
|
||||
final String path = fs.path.join(prefix, _kWindowsExecutable);
|
||||
return fs.file(path).existsSync();
|
||||
}, orElse: () => '.');
|
||||
final String path = fs.path.join(windowsPrefix, _kWindowsExecutable);
|
||||
if (!fs.file(path).existsSync()) {
|
||||
throwToolExit('Chrome executable not found at $path');
|
||||
}
|
||||
return path;
|
||||
}
|
||||
throwToolExit('Platform ${platform.operatingSystem} is not supported.');
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// A class for managing an instance of Chrome.
|
||||
class Chrome {
|
||||
const Chrome._(
|
||||
this.debugPort,
|
||||
this.chromeConnection, {
|
||||
Process process,
|
||||
Directory dataDir,
|
||||
}) : _process = process,
|
||||
_dataDir = dataDir;
|
||||
|
||||
final int debugPort;
|
||||
final Process _process;
|
||||
final Directory _dataDir;
|
||||
final ChromeConnection chromeConnection;
|
||||
|
||||
static Completer<Chrome> _currentCompleter = Completer<Chrome>();
|
||||
|
||||
Future<void> close() async {
|
||||
if (_currentCompleter.isCompleted) {
|
||||
_currentCompleter = Completer<Chrome>();
|
||||
}
|
||||
chromeConnection.close();
|
||||
_process?.kill(ProcessSignal.SIGKILL);
|
||||
await _process?.exitCode;
|
||||
try {
|
||||
// Chrome starts another process as soon as it dies that modifies the
|
||||
// profile information. Give it some time before attempting to delete
|
||||
// the directory.
|
||||
await Future<void>.delayed(const Duration(milliseconds: 500));
|
||||
await _dataDir?.delete(recursive: true);
|
||||
} catch (_) {
|
||||
// Silently fail if we can't clean up the profile information.
|
||||
// It is a system tmp directory so it should get cleaned up eventually.
|
||||
}
|
||||
}
|
||||
}
|
@ -5,10 +5,12 @@
|
||||
import '../application_package.dart';
|
||||
import '../asset.dart';
|
||||
import '../base/common.dart';
|
||||
import '../base/context.dart';
|
||||
import '../base/file_system.dart';
|
||||
import '../base/io.dart';
|
||||
import '../base/logger.dart';
|
||||
import '../base/platform.dart';
|
||||
import '../base/process_manager.dart';
|
||||
import '../build_info.dart';
|
||||
import '../bundle.dart';
|
||||
import '../device.dart';
|
||||
@ -16,7 +18,8 @@ import '../globals.dart';
|
||||
import '../project.dart';
|
||||
import '../version.dart';
|
||||
import '../web/compile.dart';
|
||||
import 'chrome.dart';
|
||||
|
||||
ChromeLauncher get chromeLauncher => context.get<ChromeLauncher>();
|
||||
|
||||
/// Only launch or display web devices if `FLUTTER_WEB`
|
||||
/// environment variable is set to true.
|
||||
@ -199,3 +202,45 @@ class WebDevices extends PollingDeviceDiscovery {
|
||||
@override
|
||||
bool get supportsPlatform => flutterWebEnabled;
|
||||
}
|
||||
|
||||
const String _klinuxExecutable = 'google-chrome';
|
||||
const String _kMacOSExecutable = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
||||
const String _kWindowsExecutable = r'Google\Chrome\Application\chrome.exe';
|
||||
final List<String> _kWindowsPrefixes = <String>[
|
||||
platform.environment['LOCALAPPDATA'],
|
||||
platform.environment['PROGRAMFILES'],
|
||||
platform.environment['PROGRAMFILES(X86)'],
|
||||
];
|
||||
|
||||
// Responsible for launching chrome with devtools configured.
|
||||
class ChromeLauncher {
|
||||
const ChromeLauncher();
|
||||
|
||||
/// Launch the chrome browser to a particular `host` page.
|
||||
Future<Process> launch(String host) async {
|
||||
String executable;
|
||||
if (platform.isMacOS) {
|
||||
executable = _kMacOSExecutable;
|
||||
} else if (platform.isLinux) {
|
||||
executable = _klinuxExecutable;
|
||||
} else if (platform.isWindows) {
|
||||
final String filePath = _kWindowsPrefixes.firstWhere((String prefix) {
|
||||
if (prefix == null) {
|
||||
return false;
|
||||
}
|
||||
final String path = fs.path.join(prefix, _kWindowsExecutable);
|
||||
return fs.file(path).existsSync();
|
||||
}, orElse: () => '.');
|
||||
executable = filePath;
|
||||
} else {
|
||||
throwToolExit('Platform ${platform.operatingSystem} is not supported.');
|
||||
}
|
||||
if (!fs.file(executable).existsSync()) {
|
||||
throwToolExit('Chrome executable not found at $executable');
|
||||
}
|
||||
return processManager.start(<String>[
|
||||
executable,
|
||||
host,
|
||||
], mode: ProcessStartMode.detached);
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ environment:
|
||||
dependencies:
|
||||
# To update these, use "flutter update-packages --force-upgrade".
|
||||
archive: 2.0.9
|
||||
args: 1.5.2
|
||||
args: 1.5.1
|
||||
bsdiff: 0.1.0
|
||||
completion: 0.2.1+1
|
||||
coverage: 0.12.4
|
||||
@ -33,7 +33,6 @@ dependencies:
|
||||
usage: 3.4.1
|
||||
vm_service_client: 0.2.6+2
|
||||
web_socket_channel: 1.0.13
|
||||
webkit_inspection_protocol: 0.4.0
|
||||
xml: 3.5.0
|
||||
yaml: 2.1.15
|
||||
flutter_goldens_client:
|
||||
@ -62,7 +61,7 @@ dependencies:
|
||||
build_config: 0.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
build_resolvers: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
built_collection: 4.2.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
built_value: 6.6.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
built_value: 6.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
charcode: 1.1.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
csslib: 0.16.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -79,9 +78,6 @@ dependencies:
|
||||
kernel: 0.3.18 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
logging: 0.11.3+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
matcher: 0.12.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
mime: 0.9.6+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
multi_server_socket: 1.0.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
node_preamble: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
package_resolver: 1.0.10 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
path: 1.6.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pedantic: 1.7.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -92,8 +88,6 @@ dependencies:
|
||||
pubspec_parse: 0.1.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
scratch_space: 0.0.3+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf: 0.7.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf_packages_handler: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf_static: 0.2.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf_web_socket: 0.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
source_map_stack_trace: 1.1.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
source_maps: 0.10.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -107,15 +101,21 @@ dependencies:
|
||||
|
||||
dev_dependencies:
|
||||
collection: 1.14.11
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
file_testing: 2.1.0
|
||||
vm_service_lib: 3.17.0+1
|
||||
vm_service_lib: 3.17.0
|
||||
build_runner: 1.4.0
|
||||
build_vm_compilers: 1.0.0
|
||||
build_test: 0.10.7+3
|
||||
|
||||
mime: 0.9.6+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
multi_server_socket: 1.0.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
node_preamble: 1.4.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf_packages_handler: 1.0.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
shelf_static: 0.2.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dartdoc:
|
||||
# Exclude this package from the hosted API docs.
|
||||
nodoc: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 25f1
|
||||
# PUBSPEC CHECKSUM: b34a
|
||||
|
@ -5,7 +5,6 @@
|
||||
import 'package:flutter_tools/src/base/file_system.dart';
|
||||
import 'package:flutter_tools/src/base/platform.dart';
|
||||
import 'package:flutter_tools/src/project.dart';
|
||||
import 'package:flutter_tools/src/web/chrome.dart';
|
||||
import 'package:flutter_tools/src/web/compile.dart';
|
||||
import 'package:flutter_tools/src/web/web_device.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
|
@ -42,6 +42,6 @@ dependencies:
|
||||
vm_service_client: 0.2.6+2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dev_dependencies:
|
||||
mockito: 4.1.0
|
||||
mockito: 4.0.0
|
||||
|
||||
# PUBSPEC CHECKSUM: ef8e
|
||||
# PUBSPEC CHECKSUM: b48d
|
||||
|
Loading…
x
Reference in New Issue
Block a user