mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Test reporter (#28297)
* Wrap test.main with a custom processor * Report test results to bigquery table
This commit is contained in:
parent
427fcebcc5
commit
20e0f13cc9
10
.cirrus.yml
10
.cirrus.yml
@ -10,6 +10,7 @@ task:
|
||||
PATH: "$CIRRUS_WORKING_DIR/bin:$CIRRUS_WORKING_DIR/bin/cache/dart-sdk/bin:$PATH"
|
||||
ANDROID_SDK_ROOT: "/opt/android_sdk"
|
||||
git_fetch_script:
|
||||
- git clean -xfd
|
||||
- git fetch origin
|
||||
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
||||
pub_cache:
|
||||
@ -49,6 +50,7 @@ task:
|
||||
- dart --enable-asserts ./dev/bots/analyze.dart
|
||||
- name: tests-linux
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tests
|
||||
test_script:
|
||||
- dart --enable-asserts ./dev/bots/test.dart
|
||||
@ -57,6 +59,7 @@ task:
|
||||
memory: 12G
|
||||
- name: tool_tests-linux
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tool_tests
|
||||
test_script:
|
||||
- dart --enable-asserts ./dev/bots/test.dart
|
||||
@ -98,6 +101,7 @@ task:
|
||||
env:
|
||||
CIRRUS_WORKING_DIR: "C:\\Windows\\Temp\\flutter sdk"
|
||||
git_fetch_script:
|
||||
- git clean -xfd
|
||||
- git fetch origin
|
||||
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
||||
pub_cache:
|
||||
@ -119,9 +123,11 @@ task:
|
||||
matrix:
|
||||
- name: tests-windows
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tests
|
||||
- name: tool_tests-windows
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tool_tests
|
||||
- name: build_tests-windows
|
||||
env:
|
||||
@ -158,6 +164,7 @@ task:
|
||||
osx_instance:
|
||||
image: mojave-xcode-10.1
|
||||
git_fetch_script:
|
||||
- git clean -xfd
|
||||
- git fetch origin
|
||||
- git fetch origin master # To set FETCH_HEAD
|
||||
setup_script:
|
||||
@ -178,6 +185,7 @@ task:
|
||||
install_cocoapods_script:
|
||||
- sudo gem install cocoapods
|
||||
git_fetch_script:
|
||||
- git clean -xfd
|
||||
- git fetch origin
|
||||
- git fetch origin master # To set FETCH_HEAD for "git merge-base" to work
|
||||
pub_cache:
|
||||
@ -198,9 +206,11 @@ task:
|
||||
matrix:
|
||||
- name: tests-macos
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tests
|
||||
- name: tool_tests-macos
|
||||
env:
|
||||
GCLOUD_SERVICE_ACCOUNT_KEY: ENCRYPTED[f12abe60f5045d619ef4c79b83dd1e0722a0b0b13dbea95fbe334e2db7fffbcd841a5a92da8824848b539a19afe0c9fb]
|
||||
SHARD: tool_tests
|
||||
- name: build_tests-macos
|
||||
env:
|
||||
|
@ -22,7 +22,7 @@ dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -68,4 +68,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 5756
|
||||
# PUBSPEC CHECKSUM: 9655
|
||||
|
@ -48,7 +48,7 @@ dev_dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -85,4 +85,4 @@ flutter:
|
||||
- packages/flutter_gallery_assets/people/square/ali.png
|
||||
- packages/flutter_gallery_assets/places/india_chettinad_silk_maker.png
|
||||
|
||||
# PUBSPEC CHECKSUM: a329
|
||||
# PUBSPEC CHECKSUM: ca28
|
||||
|
@ -48,7 +48,7 @@ dev_dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -82,4 +82,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: a329
|
||||
# PUBSPEC CHECKSUM: ca28
|
||||
|
@ -27,7 +27,7 @@ dependencies:
|
||||
dart_style: 1.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -47,7 +47,7 @@ dependencies:
|
||||
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.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
plugin: 0.2.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pool: 1.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -76,4 +76,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 60b0
|
||||
# PUBSPEC CHECKSUM: 1baf
|
||||
|
263
dev/bots/flutter_compact_formatter.dart
Normal file
263
dev/bots/flutter_compact_formatter.dart
Normal file
@ -0,0 +1,263 @@
|
||||
// Copyright 2019 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.
|
||||
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
final Stopwatch _stopwatch = Stopwatch();
|
||||
|
||||
/// A wrapper around package:test's JSON reporter.
|
||||
///
|
||||
/// This class behaves similarly to the compact reporter, but supresses all
|
||||
/// output except for progress until the end of testing. In other words, errors,
|
||||
/// [print] calls, and skipped test messages will not be printed during the run
|
||||
/// of the suite.
|
||||
///
|
||||
/// It also processes the JSON data into a collection of [TestResult]s for any
|
||||
/// other post processing needs, e.g. sending data to analytics.
|
||||
class FlutterCompactFormatter {
|
||||
FlutterCompactFormatter() {
|
||||
_stopwatch.start();
|
||||
}
|
||||
|
||||
/// Whether to use color escape codes in writing to stdout.
|
||||
final bool useColor = stdout.supportsAnsiEscapes;
|
||||
|
||||
/// The terminal escape for green text, or the empty string if this is Windows
|
||||
/// or not outputting to a terminal.
|
||||
String get _green => useColor ? '\u001b[32m' : '';
|
||||
|
||||
/// The terminal escape for red text, or the empty string if this is Windows
|
||||
/// or not outputting to a terminal.
|
||||
String get _red => useColor ? '\u001b[31m' : '';
|
||||
|
||||
/// The terminal escape for yellow text, or the empty string if this is
|
||||
/// Windows or not outputting to a terminal.
|
||||
String get _yellow => useColor ? '\u001b[33m' : '';
|
||||
|
||||
/// The terminal escape for gray text, or the empty string if this is
|
||||
/// Windows or not outputting to a terminal.
|
||||
String get _gray => useColor ? '\u001b[1;30m' : '';
|
||||
|
||||
/// The terminal escape for bold text, or the empty string if this is
|
||||
/// Windows or not outputting to a terminal.
|
||||
String get _bold => useColor ? '\u001b[1m' : '';
|
||||
|
||||
/// The terminal escape for removing test coloring, or the empty string if
|
||||
/// this is Windows or not outputting to a terminal.
|
||||
String get _noColor => useColor ? '\u001b[0m' : '';
|
||||
|
||||
/// The termianl escape for clearing the line, or a carriage return if
|
||||
/// this is Windows or not outputting to a termianl.
|
||||
String get _clearLine => useColor ? '\x1b[2K\r' : '\r';
|
||||
|
||||
final Map<int, TestResult> _tests = <int, TestResult>{};
|
||||
|
||||
/// The test results from this run.
|
||||
Iterable<TestResult> get tests => _tests.values;
|
||||
|
||||
/// The number of tests that were started.
|
||||
int started = 0;
|
||||
|
||||
/// The number of test failures.
|
||||
int failures = 0;
|
||||
|
||||
/// The number of skipped tests.
|
||||
int skips = 0;
|
||||
|
||||
/// The number of successful tests.
|
||||
int successes = 0;
|
||||
|
||||
/// Process a single line of JSON output from the JSON test reporter.
|
||||
///
|
||||
/// Callers are responsible for splitting multiple lines before calling this
|
||||
/// method.
|
||||
TestResult processRawOutput(String raw) {
|
||||
assert(raw != null);
|
||||
// We might be getting messages from Flutter Tool about updating/building.
|
||||
if (!raw.startsWith('{')) {
|
||||
print(raw);
|
||||
return null;
|
||||
}
|
||||
final Map<String, dynamic> decoded = json.decode(raw);
|
||||
final TestResult originalResult = _tests[decoded['testID']];
|
||||
switch (decoded['type']) {
|
||||
case 'done':
|
||||
stdout.write(_clearLine);
|
||||
stdout.write('$_bold${_stopwatch.elapsed}$_noColor ');
|
||||
stdout.writeln(
|
||||
'$_green+$successes $_yellow~$skips $_red-$failures:$_bold$_gray Done.$_noColor');
|
||||
break;
|
||||
case 'testStart':
|
||||
final Map<String, dynamic> testData = decoded['test'];
|
||||
if (testData['url'] == null) {
|
||||
started += 1;
|
||||
stdout.write(_clearLine);
|
||||
stdout.write('$_bold${_stopwatch.elapsed}$_noColor ');
|
||||
stdout.write(
|
||||
'$_green+$successes $_yellow~$skips $_red-$failures: $_gray${testData['name']}$_noColor');
|
||||
break;
|
||||
}
|
||||
_tests[testData['id']] = TestResult(
|
||||
id: testData['id'],
|
||||
name: testData['name'],
|
||||
line: testData['root_line'] ?? testData['line'],
|
||||
column: testData['root_column'] ?? testData['column'],
|
||||
path: testData['root_url'] ?? testData['url'],
|
||||
startTime: decoded['time'],
|
||||
);
|
||||
break;
|
||||
case 'testDone':
|
||||
if (originalResult == null) {
|
||||
break;
|
||||
}
|
||||
originalResult.endTime = decoded['time'];
|
||||
if (decoded['skipped'] == true) {
|
||||
skips += 1;
|
||||
originalResult.status = TestStatus.skipped;
|
||||
} else {
|
||||
if (decoded['result'] == 'success') {
|
||||
originalResult.status =TestStatus.succeeded;
|
||||
successes += 1;
|
||||
} else {
|
||||
originalResult.status = TestStatus.failed;
|
||||
failures += 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'error':
|
||||
if (originalResult != null) {
|
||||
originalResult.errorMessage = decoded['error'];
|
||||
originalResult.stackTrace = decoded['stackTrace'];
|
||||
}
|
||||
break;
|
||||
case 'print':
|
||||
if (originalResult != null) {
|
||||
originalResult.messages.add(decoded['message']);
|
||||
}
|
||||
break;
|
||||
case 'group':
|
||||
case 'allSuites':
|
||||
case 'start':
|
||||
case 'suite':
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return originalResult;
|
||||
}
|
||||
|
||||
/// Print summary of test results.
|
||||
void finish() {
|
||||
final List<String> skipped = <String>[];
|
||||
final List<String> failed = <String>[];
|
||||
for (TestResult result in _tests.values) {
|
||||
switch (result.status) {
|
||||
case TestStatus.started:
|
||||
failed.add('${_red}Unexpectedly failed to complete a test!');
|
||||
failed.add(result.toString() + _noColor);
|
||||
break;
|
||||
case TestStatus.skipped:
|
||||
skipped.add(
|
||||
'${_yellow}Skipped ${result.name} (${result.pathLineColumn}).$_noColor');
|
||||
break;
|
||||
case TestStatus.failed:
|
||||
failed.addAll(<String>[
|
||||
'$_bold${_red}Failed ${result.name} (${result.pathLineColumn}):',
|
||||
result.errorMessage,
|
||||
_noColor + _red,
|
||||
result.stackTrace,
|
||||
]);
|
||||
failed.addAll(result.messages);
|
||||
failed.add(_noColor);
|
||||
break;
|
||||
case TestStatus.succeeded:
|
||||
break;
|
||||
}
|
||||
}
|
||||
skipped.forEach(print);
|
||||
failed.forEach(print);
|
||||
if (failed.isEmpty) {
|
||||
print('${_green}Completed, $successes test(s) passing ($skips skipped).$_noColor');
|
||||
} else {
|
||||
print('$_gray$failures test(s) failed.$_noColor');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The state of a test received from the JSON reporter.
|
||||
enum TestStatus {
|
||||
/// Test execution has started.
|
||||
started,
|
||||
/// Test completed successfully.
|
||||
succeeded,
|
||||
/// Test failed.
|
||||
failed,
|
||||
/// Test was skipped.
|
||||
skipped,
|
||||
}
|
||||
|
||||
/// The detailed status of a test run.
|
||||
class TestResult {
|
||||
TestResult({
|
||||
@required this.id,
|
||||
@required this.name,
|
||||
@required this.line,
|
||||
@required this.column,
|
||||
@required this.path,
|
||||
@required this.startTime,
|
||||
this.status = TestStatus.started,
|
||||
}) : assert(id != null),
|
||||
assert(name != null),
|
||||
assert(line != null),
|
||||
assert(column != null),
|
||||
assert(path != null),
|
||||
assert(startTime != null),
|
||||
assert(status != null),
|
||||
messages = <String>[];
|
||||
|
||||
/// The state of the test.
|
||||
TestStatus status;
|
||||
|
||||
/// The internal ID of the test used by the JSON reporter.
|
||||
final int id;
|
||||
|
||||
/// The name of the test, specified via the `test` method.
|
||||
final String name;
|
||||
|
||||
/// The line number from the original file.
|
||||
final int line;
|
||||
|
||||
/// The column from the original file.
|
||||
final int column;
|
||||
|
||||
/// The path of the original test file.
|
||||
final String path;
|
||||
|
||||
/// A friendly print out of the [path], [line], and [column] of the test.
|
||||
String get pathLineColumn => '$path:$line:$column';
|
||||
|
||||
/// The start time of the test, in milliseconds relative to suite startup.
|
||||
final int startTime;
|
||||
|
||||
/// The stdout of the test.
|
||||
final List<String> messages;
|
||||
|
||||
/// The error message from the test, from an `expect`, an [Exception] or
|
||||
/// [Error].
|
||||
String errorMessage;
|
||||
|
||||
/// The stacktrace from a test failure.
|
||||
String stackTrace;
|
||||
|
||||
/// The time, in milliseconds relative to suite startup, that the test ended.
|
||||
int endTime;
|
||||
|
||||
/// The total time, in milliseconds, that the test took.
|
||||
int get totalTime => (endTime ?? _stopwatch.elapsedMilliseconds) - startTime;
|
||||
|
||||
@override
|
||||
String toString() => '{$runtimeType: {$id, $name, ${totalTime}ms, $pathLineColumn}}';
|
||||
}
|
@ -14,7 +14,10 @@ dependencies:
|
||||
http: 0.12.0+1
|
||||
http_parser: 3.1.3
|
||||
test: 1.5.3
|
||||
googleapis: 0.53.0
|
||||
googleapis_auth: 0.2.7
|
||||
|
||||
_discoveryapis_commons: 0.1.8+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
analyzer: 0.35.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
async: 2.0.8 # 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"
|
||||
@ -26,7 +29,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
intl: 0.15.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
io: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,4 +70,4 @@ dev_dependencies:
|
||||
mockito: 4.0.0
|
||||
test_api: 0.2.2
|
||||
|
||||
# PUBSPEC CHECKSUM: 00fa
|
||||
# PUBSPEC CHECKSUM: 422e
|
||||
|
@ -30,6 +30,50 @@ void printProgress(String action, String workingDir, String command) {
|
||||
print('$arrow $action: cd $cyan$workingDir$reset; $yellow$command$reset');
|
||||
}
|
||||
|
||||
Stream<String> runAndGetStdout(String executable, List<String> arguments, {
|
||||
String workingDirectory,
|
||||
Map<String, String> environment,
|
||||
bool expectNonZeroExit = false,
|
||||
int expectedExitCode,
|
||||
String failureMessage,
|
||||
Duration timeout = _kLongTimeout,
|
||||
}) async* {
|
||||
final String commandDescription = '${path.relative(executable, from: workingDirectory)} ${arguments.join(' ')}';
|
||||
final String relativeWorkingDir = path.relative(workingDirectory);
|
||||
|
||||
printProgress('RUNNING', relativeWorkingDir, commandDescription);
|
||||
|
||||
final DateTime start = DateTime.now();
|
||||
final Process process = await Process.start(executable, arguments,
|
||||
workingDirectory: workingDirectory,
|
||||
environment: environment,
|
||||
);
|
||||
|
||||
final Stream<String> lines = process.stdout.transform(utf8.decoder).transform(const LineSplitter());
|
||||
await for (String line in lines) {
|
||||
yield line;
|
||||
}
|
||||
|
||||
final int exitCode = await process.exitCode.timeout(timeout, onTimeout: () {
|
||||
stderr.writeln('Process timed out after $timeout');
|
||||
return expectNonZeroExit ? 0 : 1;
|
||||
});
|
||||
print('$clock ELAPSED TIME: $bold${elapsedTime(start)}$reset for $commandDescription in $relativeWorkingDir: ');
|
||||
if ((exitCode == 0) == expectNonZeroExit || (expectedExitCode != null && exitCode != expectedExitCode)) {
|
||||
if (failureMessage != null) {
|
||||
print(failureMessage);
|
||||
}
|
||||
print(
|
||||
'$redLine\n'
|
||||
'${bold}ERROR:$red Last command exited with $exitCode (expected: ${expectNonZeroExit ? (expectedExitCode ?? 'non-zero') : 'zero'}).$reset\n'
|
||||
'${bold}Command:$cyan $commandDescription$reset\n'
|
||||
'${bold}Relative working directory:$red $relativeWorkingDir$reset\n'
|
||||
'$redLine'
|
||||
);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> runCommand(String executable, List<String> arguments, {
|
||||
String workingDirectory,
|
||||
Map<String, String> environment,
|
||||
|
BIN
dev/bots/serviceaccount.enc
Normal file
BIN
dev/bots/serviceaccount.enc
Normal file
Binary file not shown.
@ -5,8 +5,12 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:googleapis/bigquery/v2.dart' as bq;
|
||||
import 'package:googleapis_auth/auth_io.dart' as auth;
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
import 'flutter_compact_formatter.dart';
|
||||
import 'run_command.dart';
|
||||
|
||||
typedef ShardRunner = Future<void> Function();
|
||||
@ -140,13 +144,31 @@ Future<void> _runSmokeTests() async {
|
||||
await _verifyVersion(path.join(flutterRoot, 'version'));
|
||||
}
|
||||
|
||||
Future<bq.BigqueryApi> _getBigqueryApi() async {
|
||||
// TODO(dnfield): How will we do this on LUCI?
|
||||
final String privateKey = Platform.environment['GCLOUD_SERVICE_ACCOUNT_KEY'];
|
||||
if (privateKey == null || privateKey.isEmpty) {
|
||||
return null;
|
||||
}
|
||||
final auth.ServiceAccountCredentials accountCredentials = auth.ServiceAccountCredentials( //.fromJson(credentials);
|
||||
'flutter-ci-test-reporter@flutter-infra.iam.gserviceaccount.com',
|
||||
auth.ClientId.serviceAccount('114390419920880060881.apps.googleusercontent.com'),
|
||||
'-----BEGIN PRIVATE KEY-----\n$privateKey\n-----END PRIVATE KEY-----\n',
|
||||
);
|
||||
final List<String> scopes = <String>[bq.BigqueryApi.BigqueryInsertdataScope];
|
||||
final http.Client client = await auth.clientViaServiceAccount(accountCredentials, scopes);
|
||||
return bq.BigqueryApi(client);
|
||||
}
|
||||
|
||||
Future<void> _runToolTests() async {
|
||||
final bq.BigqueryApi bigqueryApi = await _getBigqueryApi();
|
||||
await _runSmokeTests();
|
||||
|
||||
await _buildRunnerTest(
|
||||
path.join(flutterRoot, 'packages', 'flutter_tools'),
|
||||
flutterRoot,
|
||||
enableFlutterToolAsserts: true,
|
||||
tableData: bigqueryApi?.tabledata,
|
||||
);
|
||||
|
||||
print('${bold}DONE: All tests successful.$reset');
|
||||
@ -198,7 +220,6 @@ Future<void> _flutterBuildAot(String relativePathToApplication) async {
|
||||
}
|
||||
|
||||
Future<void> _flutterBuildApk(String relativePathToApplication) async {
|
||||
// TODO(dnfield): See if we can get Android SDK on all Cirrus platforms.
|
||||
if (
|
||||
(Platform.environment['ANDROID_HOME']?.isEmpty ?? true) &&
|
||||
(Platform.environment['ANDROID_SDK_ROOT']?.isEmpty ?? true)) {
|
||||
@ -255,32 +276,33 @@ Future<void> _runAdd2AppTest() async {
|
||||
}
|
||||
|
||||
Future<void> _runTests() async {
|
||||
final bq.BigqueryApi bigqueryApi = await _getBigqueryApi();
|
||||
await _runSmokeTests();
|
||||
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'), tableData: bigqueryApi?.tabledata);
|
||||
// Only packages/flutter/test/widgets/widget_inspector_test.dart really
|
||||
// needs to be run with --track-widget-creation but it is nice to run
|
||||
// all of the tests in package:flutter with the flag to ensure that
|
||||
// the Dart kernel transformer triggered by the flag does not break anything.
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'), options: <String>['--track-widget-creation']);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_localizations'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_driver'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_test'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'fuchsia_remote_debug_protocol'));
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'bots'));
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'devicelab'));
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'snippets'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'integration_tests', 'android_semantics_testing'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'manual_tests'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'tools', 'vitool'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'hello_world'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'layers'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'stocks'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter'), options: <String>['--track-widget-creation'], tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_localizations'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_driver'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'flutter_test'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'packages', 'fuchsia_remote_debug_protocol'), tableData: bigqueryApi?.tabledata);
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'bots'), tableData: bigqueryApi?.tabledata);
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'devicelab'), tableData: bigqueryApi?.tabledata);
|
||||
await _pubRunTest(path.join(flutterRoot, 'dev', 'snippets'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'integration_tests', 'android_semantics_testing'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'manual_tests'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'dev', 'tools', 'vitool'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'hello_world'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'layers'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'stocks'), tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'), tableData: bigqueryApi?.tabledata);
|
||||
// Regression test to ensure that code outside of package:flutter can run
|
||||
// with --track-widget-creation.
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'), options: <String>['--track-widget-creation']);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'catalog'));
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'flutter_gallery'), options: <String>['--track-widget-creation'], tableData: bigqueryApi?.tabledata);
|
||||
await _runFlutterTest(path.join(flutterRoot, 'examples', 'catalog'), tableData: bigqueryApi?.tabledata);
|
||||
|
||||
print('${bold}DONE: All tests successful.$reset');
|
||||
}
|
||||
@ -310,10 +332,10 @@ Future<void> _runCoverage() async {
|
||||
Future<void> _buildRunnerTest(
|
||||
String workingDirectory,
|
||||
String flutterRoot, {
|
||||
String testPath,
|
||||
bool enableFlutterToolAsserts = false,
|
||||
}
|
||||
) {
|
||||
String testPath,
|
||||
bool enableFlutterToolAsserts = false,
|
||||
bq.TabledataResourceApi tableData,
|
||||
}) async {
|
||||
final List<String> args = <String>['run', 'build_runner', 'test', '--', '-rcompact', '-j1'];
|
||||
if (!hasColor) {
|
||||
args.add('--no-color');
|
||||
@ -335,19 +357,21 @@ Future<void> _buildRunnerTest(
|
||||
toolsArgs += ' --enable-asserts';
|
||||
pubEnvironment['FLUTTER_TOOL_ARGS'] = toolsArgs.trim();
|
||||
}
|
||||
return runCommand(
|
||||
pub, args,
|
||||
|
||||
final Stream<String> testOutput = runAndGetStdout(pub, args,
|
||||
workingDirectory: workingDirectory,
|
||||
environment: pubEnvironment,
|
||||
);
|
||||
await _processTestOutput(testOutput, tableData);
|
||||
}
|
||||
|
||||
Future<void> _pubRunTest(
|
||||
String workingDirectory, {
|
||||
String testPath,
|
||||
bool enableFlutterToolAsserts = false,
|
||||
}) {
|
||||
final List<String> args = <String>['run', 'test', '-rcompact', '-j1'];
|
||||
bq.TabledataResourceApi tableData,
|
||||
}) async {
|
||||
final List<String> args = <String>['run', 'test', '-rjson', '-j1'];
|
||||
if (!hasColor)
|
||||
args.add('--no-color');
|
||||
if (testPath != null)
|
||||
@ -364,11 +388,127 @@ Future<void> _pubRunTest(
|
||||
toolsArgs += ' --enable-asserts';
|
||||
pubEnvironment['FLUTTER_TOOL_ARGS'] = toolsArgs.trim();
|
||||
}
|
||||
return runCommand(
|
||||
pub, args,
|
||||
final Stream<String> testOutput = runAndGetStdout(pub, args,
|
||||
workingDirectory: workingDirectory,
|
||||
environment: pubEnvironment,
|
||||
);
|
||||
await _processTestOutput(testOutput, tableData);
|
||||
}
|
||||
|
||||
enum CiProviders {
|
||||
cirrus,
|
||||
luci,
|
||||
}
|
||||
|
||||
CiProviders _getCiProvider() {
|
||||
if (Platform.environment['CIRRUS_CI'] == 'true') {
|
||||
return CiProviders.cirrus;
|
||||
}
|
||||
if (Platform.environment['LUCI_CONTEXT'] != null) {
|
||||
return CiProviders.luci;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
String _getCiProviderName() {
|
||||
switch(_getCiProvider()) {
|
||||
case CiProviders.cirrus:
|
||||
return 'cirrusci';
|
||||
case CiProviders.luci:
|
||||
return 'luci';
|
||||
}
|
||||
return 'unknown';
|
||||
}
|
||||
|
||||
int _getPrNumber() {
|
||||
switch(_getCiProvider()) {
|
||||
case CiProviders.cirrus:
|
||||
return int.tryParse(Platform.environment['CIRRUS_PR']);
|
||||
case CiProviders.luci:
|
||||
return -1; // LUCI doesn't know about this.
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
Future<String> _getAuthors() async {
|
||||
final String exe = Platform.isWindows ? '.exe' : '';
|
||||
final String author = await runAndGetStdout(
|
||||
'git$exe', <String>['log', _getGitHash(), '--pretty="%an <%ae>"'],
|
||||
workingDirectory: flutterRoot,
|
||||
).first;
|
||||
return author;
|
||||
}
|
||||
|
||||
String _getCiUrl() {
|
||||
switch(_getCiProvider()) {
|
||||
case CiProviders.cirrus:
|
||||
return 'https://cirrus-ci.com/task/${Platform.environment['CIRRUS_TASK_ID']}';
|
||||
case CiProviders.luci:
|
||||
return 'https://ci.chromium.org/p/flutter/g/framework/console'; // TODO(dnfield): can we get a direct link to the actual build?
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
String _getGitHash() {
|
||||
switch(_getCiProvider()) {
|
||||
case CiProviders.cirrus:
|
||||
return Platform.environment['CIRRUS_CHANGE_IN_REPO'];
|
||||
case CiProviders.luci:
|
||||
return 'HEAD'; // TODO(dnfield): Set this in the env for LUCI.
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
Future<void> _processTestOutput(Stream<String> testOutput, bq.TabledataResourceApi tableData) async {
|
||||
final FlutterCompactFormatter formatter = FlutterCompactFormatter();
|
||||
await testOutput.forEach(formatter.processRawOutput);
|
||||
if (tableData == null || formatter.tests.isEmpty) {
|
||||
return;
|
||||
}
|
||||
final bq.TableDataInsertAllRequest request = bq.TableDataInsertAllRequest();
|
||||
final String authors = await _getAuthors();
|
||||
request.rows = List<bq.TableDataInsertAllRequestRows>.from(
|
||||
formatter.tests.map<bq.TableDataInsertAllRequestRows>((TestResult result) =>
|
||||
bq.TableDataInsertAllRequestRows.fromJson(<String, dynamic> {
|
||||
'json': <String, dynamic>{
|
||||
'source': <String, dynamic>{
|
||||
'provider': _getCiProviderName(),
|
||||
'url': _getCiUrl(),
|
||||
'platform': <String, dynamic>{
|
||||
'os': Platform.operatingSystem,
|
||||
'version': Platform.operatingSystemVersion,
|
||||
},
|
||||
},
|
||||
'test': <String, dynamic>{
|
||||
'name': result.name,
|
||||
'result': result.status.toString(),
|
||||
'file': result.path,
|
||||
'line': result.line,
|
||||
'column': result.column,
|
||||
'time': result.totalTime,
|
||||
},
|
||||
'git': <String, dynamic>{
|
||||
'author': authors,
|
||||
'pull_request': _getPrNumber(),
|
||||
'commit': _getGitHash(),
|
||||
'organization': 'flutter',
|
||||
'repository': 'flutter',
|
||||
},
|
||||
'error': result.status != TestStatus.failed ? null : <String, dynamic>{
|
||||
'message': result.errorMessage,
|
||||
'stack_trace': result.stackTrace,
|
||||
},
|
||||
'information': result.messages,
|
||||
},
|
||||
}),
|
||||
),
|
||||
growable: false,
|
||||
);
|
||||
final bq.TableDataInsertAllResponse response = await tableData.insertAll(request, 'flutter-infra', 'tests', 'ci');
|
||||
if (response.insertErrors != null && response.insertErrors.isNotEmpty) {
|
||||
print('${red}BigQuery insert errors:');
|
||||
print(response.toJson());
|
||||
print(reset);
|
||||
}
|
||||
}
|
||||
|
||||
class EvalResult {
|
||||
@ -390,10 +530,16 @@ Future<void> _runFlutterTest(String workingDirectory, {
|
||||
List<String> options = const <String>[],
|
||||
bool skip = false,
|
||||
Duration timeout = _kLongTimeout,
|
||||
}) {
|
||||
bq.TabledataResourceApi tableData,
|
||||
}) async {
|
||||
final List<String> args = <String>['test']..addAll(options);
|
||||
if (flutterTestArgs != null && flutterTestArgs.isNotEmpty)
|
||||
args.addAll(flutterTestArgs);
|
||||
|
||||
if (!expectFailure) {
|
||||
args.add('--machine');
|
||||
}
|
||||
|
||||
if (script != null) {
|
||||
final String fullScriptPath = path.join(workingDirectory, script);
|
||||
if (!FileSystemEntity.isFileSync(fullScriptPath)) {
|
||||
@ -408,13 +554,21 @@ Future<void> _runFlutterTest(String workingDirectory, {
|
||||
}
|
||||
args.add(script);
|
||||
}
|
||||
return runCommand(flutter, args,
|
||||
if (expectFailure) {
|
||||
return runCommand(flutter, args,
|
||||
workingDirectory: workingDirectory,
|
||||
expectNonZeroExit: true,
|
||||
printOutput: printOutput,
|
||||
skip: skip,
|
||||
timeout: timeout,
|
||||
);
|
||||
}
|
||||
final Stream<String> testOutput = runAndGetStdout(flutter, args,
|
||||
workingDirectory: workingDirectory,
|
||||
expectNonZeroExit: expectFailure,
|
||||
printOutput: printOutput,
|
||||
skip: skip,
|
||||
timeout: timeout,
|
||||
);
|
||||
await _processTestOutput(testOutput, tableData);
|
||||
}
|
||||
|
||||
Future<void> _verifyVersion(String filename) async {
|
||||
|
@ -26,14 +26,14 @@ dependencies:
|
||||
crypto: 2.0.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
intl: 0.15.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
json_rpc_2: 2.0.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
source_span: 1.5.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
stream_channel: 1.6.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
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"
|
||||
web_socket_channel: 1.0.9 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
xml: 3.3.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
xml: 3.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
dev_dependencies:
|
||||
# See packages/flutter_test/pubspec.yaml for why we're pinning this version.
|
||||
@ -44,7 +44,7 @@ dev_dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -74,4 +74,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: 3de5
|
||||
# PUBSPEC CHECKSUM: 20e4
|
||||
|
@ -20,7 +20,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -66,4 +66,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -45,7 +45,7 @@ dev_dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # 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: 4ead
|
||||
# PUBSPEC CHECKSUM: 49ac
|
||||
|
@ -24,7 +24,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -70,4 +70,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -40,7 +40,7 @@ dev_dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -78,4 +78,4 @@ builders:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -24,7 +24,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -70,4 +70,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -24,7 +24,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -70,4 +70,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -24,7 +24,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -70,4 +70,4 @@ dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: e99f
|
||||
# PUBSPEC CHECKSUM: 2b9e
|
||||
|
@ -14,7 +14,7 @@ dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
kernel: 0.3.13 # 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"
|
||||
meta: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -34,4 +34,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: a5d3
|
||||
# PUBSPEC CHECKSUM: eed2
|
||||
|
@ -26,7 +26,7 @@ dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -45,7 +45,7 @@ dependencies:
|
||||
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.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
plugin: 0.2.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pool: 1.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,7 +67,7 @@ dependencies:
|
||||
vm_service_client: 0.2.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
watcher: 0.9.7+10 # 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"
|
||||
xml: 3.3.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
xml: 3.4.0 # 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"
|
||||
|
||||
dev_dependencies:
|
||||
@ -80,4 +80,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 14b7
|
||||
# PUBSPEC CHECKSUM: f2b6
|
||||
|
@ -27,7 +27,7 @@ dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
kernel: 0.3.13 # 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"
|
||||
package_config: 1.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -101,4 +101,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: eebb
|
||||
# PUBSPEC CHECKSUM: 4eba
|
||||
|
@ -11,12 +11,12 @@ environment:
|
||||
dependencies:
|
||||
args: 1.5.1
|
||||
vector_math: 2.0.8
|
||||
xml: 3.3.1
|
||||
xml: 3.4.0
|
||||
|
||||
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"
|
||||
convert: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.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"
|
||||
|
||||
dev_dependencies:
|
||||
@ -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.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
|
||||
# PUBSPEC CHECKSUM: 8cb1
|
||||
# PUBSPEC CHECKSUM: 94b1
|
||||
|
@ -33,7 +33,7 @@ dev_dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # 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: 3f88
|
||||
# PUBSPEC CHECKSUM: 6687
|
||||
|
@ -48,7 +48,7 @@ dev_dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -256,4 +256,4 @@ flutter:
|
||||
- asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Regular.ttf
|
||||
- asset: packages/flutter_gallery_assets/fonts/merriweather/Merriweather-Light.ttf
|
||||
|
||||
# PUBSPEC CHECKSUM: 848d
|
||||
# PUBSPEC CHECKSUM: d08c
|
||||
|
@ -31,7 +31,7 @@ dev_dependencies:
|
||||
file: 5.0.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http: 0.12.0+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_multi_server: 2.0.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -75,4 +75,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 3f88
|
||||
# PUBSPEC CHECKSUM: 6687
|
||||
|
@ -25,14 +25,14 @@ dependencies:
|
||||
dart_style: 1.2.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
kernel: 0.3.13 # 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"
|
||||
meta: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
package_config: 1.0.5 # 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"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
plugin: 0.2.0+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
source_span: 1.5.5 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -65,4 +65,4 @@ dev_dependencies:
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
# PUBSPEC CHECKSUM: 208d
|
||||
# PUBSPEC CHECKSUM: 358c
|
||||
|
@ -20,7 +20,7 @@ dependencies:
|
||||
csslib: 0.14.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
kernel: 0.3.13 # 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"
|
||||
meta: 1.1.6 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -38,4 +38,4 @@ dartdoc:
|
||||
# Exclude this package from the hosted API docs.
|
||||
nodoc: true
|
||||
|
||||
# PUBSPEC CHECKSUM: a5d3
|
||||
# PUBSPEC CHECKSUM: eed2
|
||||
|
@ -34,7 +34,7 @@ dependencies:
|
||||
usage: 3.4.1
|
||||
vm_service_client: 0.2.6
|
||||
web_socket_channel: 1.0.9
|
||||
xml: 3.3.1
|
||||
xml: 3.4.0
|
||||
yaml: 2.1.15
|
||||
flutter_goldens_client:
|
||||
path: ../flutter_goldens_client
|
||||
@ -50,8 +50,8 @@ dependencies:
|
||||
dart_style: 1.2.3
|
||||
code_builder: 3.2.0
|
||||
build: 1.1.1
|
||||
build_modules: 1.0.8
|
||||
build_daemon: 0.4.1
|
||||
build_modules: 1.0.9
|
||||
build_daemon: 0.4.2
|
||||
|
||||
async: 2.0.8 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
bazel_worker: 0.1.20 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -67,7 +67,7 @@ dependencies:
|
||||
front_end: 0.1.13 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
glob: 1.1.7 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
graphs: 0.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.3+3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
html: 0.13.4+1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
http_parser: 3.1.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
io: 0.3.3 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
json_annotation: 2.0.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -77,7 +77,7 @@ dependencies:
|
||||
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.5.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.1.1 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
petitparser: 2.2.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pool: 1.4.0 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
protobuf: 0.13.4 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
pub_semver: 1.4.2 # THIS LINE IS AUTOGENERATED - TO UPDATE USE "flutter update-packages --force-upgrade"
|
||||
@ -118,4 +118,4 @@ dartdoc:
|
||||
# Exclude this package from the hosted API docs.
|
||||
nodoc: true
|
||||
|
||||
# PUBSPEC CHECKSUM: d62c
|
||||
# PUBSPEC CHECKSUM: 222d
|
||||
|
Loading…
Reference in New Issue
Block a user