mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Fix process running during package creation (#14508)
There were some problems I introduced with the last PR for this. It passed the test, but failed in practice. This adds tests for those failure cases, adds a "--help" and fixes the test so that it doesn't try and actually download MinGit as part of the Windows test. I added package:platform as a dependency, so I did a force upgrade on the packages. Also, re-enabling 'create package' in the cache warming code, now that #14448 is fixed.
This commit is contained in:
parent
8ccc9a45c9
commit
df791279ab
@ -5,7 +5,7 @@ dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -20,7 +20,7 @@ dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -17,7 +17,7 @@ dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -34,7 +34,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -9,7 +9,7 @@ dependencies:
|
||||
stocks:
|
||||
path: ../../../examples/stocks
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -19,7 +19,7 @@ dependencies:
|
||||
convert: 2.0.1 # TRANSITIVE DEPENDENCY
|
||||
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
|
||||
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
|
||||
dart_style: 1.0.9 # TRANSITIVE DEPENDENCY
|
||||
dart_style: 1.0.9+1 # TRANSITIVE DEPENDENCY
|
||||
glob: 1.1.5 # TRANSITIVE DEPENDENCY
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
@ -27,7 +27,7 @@ dependencies:
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
intl_translation: 0.16.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -13,11 +13,15 @@ import 'package:path/path.dart' as path;
|
||||
import 'package:process/process.dart';
|
||||
import 'package:platform/platform.dart' show Platform, LocalPlatform;
|
||||
|
||||
const String CHROMIUM_REPO =
|
||||
const String chromiumRepo =
|
||||
'https://chromium.googlesource.com/external/github.com/flutter/flutter';
|
||||
const String GITHUB_REPO = 'https://github.com/flutter/flutter.git';
|
||||
const String MINGIT_FOR_WINDOWS_URL = 'https://storage.googleapis.com/flutter_infra/mingit/'
|
||||
const String githubRepo = 'https://github.com/flutter/flutter.git';
|
||||
const String mingitForWindowsUrl = 'https://storage.googleapis.com/flutter_infra/mingit/'
|
||||
'603511c649b00bbef0a6122a827ac419b656bc19/mingit.zip';
|
||||
const String gsBase = 'gs://flutter_infra';
|
||||
const String releaseFolder = '/releases';
|
||||
const String gsReleaseFolder = '$gsBase$releaseFolder';
|
||||
const String baseUrl = 'https://storage.googleapis.com/flutter_infra';
|
||||
|
||||
/// Exception class for when a process fails to run, so we can catch
|
||||
/// it and provide something more readable than a stack trace.
|
||||
@ -74,11 +78,11 @@ Branch fromBranchName(String name) {
|
||||
/// properly without dropping any.
|
||||
class ProcessRunner {
|
||||
ProcessRunner({
|
||||
this.processManager: const LocalProcessManager(),
|
||||
ProcessManager processManager,
|
||||
this.subprocessOutput: true,
|
||||
this.defaultWorkingDirectory,
|
||||
this.platform: const LocalPlatform(),
|
||||
}) {
|
||||
}) : processManager = processManager ?? const LocalProcessManager() {
|
||||
environment = new Map<String, String>.from(platform.environment);
|
||||
}
|
||||
|
||||
@ -167,6 +171,8 @@ class ProcessRunner {
|
||||
}
|
||||
}
|
||||
|
||||
typedef Future<Uint8List> HttpReader(Uri url, {Map<String, String> headers});
|
||||
|
||||
/// Creates a pre-populated Flutter archive from a git repo.
|
||||
class ArchiveCreator {
|
||||
/// [tempDir] is the directory to use for creating the archive. The script
|
||||
@ -185,8 +191,10 @@ class ArchiveCreator {
|
||||
ProcessManager processManager,
|
||||
bool subprocessOutput: true,
|
||||
this.platform: const LocalPlatform(),
|
||||
HttpReader httpReader,
|
||||
}) : assert(revision.length == 40),
|
||||
flutterRoot = new Directory(path.join(tempDir.path, 'flutter')),
|
||||
httpReader = httpReader ?? http.readBytes,
|
||||
_processRunner = new ProcessRunner(
|
||||
processManager: processManager,
|
||||
subprocessOutput: subprocessOutput,
|
||||
@ -200,15 +208,36 @@ class ArchiveCreator {
|
||||
_processRunner.environment['PUB_CACHE'] = path.join(flutterRoot.absolute.path, '.pub-cache');
|
||||
}
|
||||
|
||||
/// The platform to use for the environment and determining which
|
||||
/// platform we're running on.
|
||||
final Platform platform;
|
||||
|
||||
/// The branch to build the archive for. The branch must contain [revision].
|
||||
final Branch branch;
|
||||
|
||||
/// The git revision hash to build the archive for. This revision has
|
||||
/// to be available in the [branch], although it doesn't have to be
|
||||
/// at HEAD, since we clone the branch and then reset to this revision
|
||||
/// to create the archive.
|
||||
final String revision;
|
||||
|
||||
/// The flutter root directory in the [tempDir].
|
||||
final Directory flutterRoot;
|
||||
|
||||
/// The temporary directory used to build the archive in.
|
||||
final Directory tempDir;
|
||||
|
||||
/// The directory to write the output file to.
|
||||
final Directory outputDir;
|
||||
final Uri _minGitUri = Uri.parse(MINGIT_FOR_WINDOWS_URL);
|
||||
|
||||
final Uri _minGitUri = Uri.parse(mingitForWindowsUrl);
|
||||
final ProcessRunner _processRunner;
|
||||
|
||||
/// Used to tell the [ArchiveCreator] which function to use for reading
|
||||
/// bytes from a URL. Used in tests to inject a fake reader. Defaults to
|
||||
/// [http.readBytes].
|
||||
final HttpReader httpReader;
|
||||
|
||||
File _outputFile;
|
||||
String _version;
|
||||
String _flutter;
|
||||
@ -255,12 +284,12 @@ class ArchiveCreator {
|
||||
// We want the user to start out the in the specified branch instead of a
|
||||
// detached head. To do that, we need to make sure the branch points at the
|
||||
// desired revision.
|
||||
await _runGit(<String>['clone', '-b', branchName, CHROMIUM_REPO], workingDirectory: tempDir);
|
||||
await _runGit(<String>['clone', '-b', branchName, chromiumRepo], workingDirectory: tempDir);
|
||||
await _runGit(<String>['reset', '--hard', revision]);
|
||||
|
||||
// Make the origin point to github instead of the chromium mirror.
|
||||
await _runGit(<String>['remote', 'remove', 'origin']);
|
||||
await _runGit(<String>['remote', 'add', 'origin', GITHUB_REPO]);
|
||||
await _runGit(<String>['remote', 'add', 'origin', githubRepo]);
|
||||
}
|
||||
|
||||
/// Retrieve the MinGit executable from storage and unpack it.
|
||||
@ -268,7 +297,7 @@ class ArchiveCreator {
|
||||
if (!platform.isWindows) {
|
||||
return;
|
||||
}
|
||||
final Uint8List data = await http.readBytes(_minGitUri);
|
||||
final Uint8List data = await httpReader(_minGitUri);
|
||||
final File gitFile = new File(path.join(tempDir.absolute.path, 'mingit.zip'));
|
||||
await gitFile.writeAsBytes(data, flush: true);
|
||||
|
||||
@ -289,10 +318,7 @@ class ArchiveCreator {
|
||||
// Create each of the templates, since they will call 'pub get' on
|
||||
// themselves when created, and this will warm the cache with their
|
||||
// dependencies too.
|
||||
// TODO(gspencer): 'package' is broken on dev branch right now!
|
||||
// Add it back in once the following is fixed:
|
||||
// https://github.com/flutter/flutter/issues/14448
|
||||
for (String template in <String>['app', 'plugin']) {
|
||||
for (String template in <String>['app', 'package', 'plugin']) {
|
||||
final String createName = path.join(tempDir.path, 'create_$template');
|
||||
await _runFlutter(
|
||||
<String>['create', '--template=$template', createName],
|
||||
@ -381,11 +407,6 @@ class ArchivePublisher {
|
||||
subprocessOutput: subprocessOutput,
|
||||
);
|
||||
|
||||
static String gsBase = 'gs://flutter_infra';
|
||||
static String releaseFolder = '/releases';
|
||||
static String gsReleaseFolder = '$gsBase$releaseFolder';
|
||||
static String baseUrl = 'https://storage.googleapis.com/flutter_infra';
|
||||
|
||||
final Platform platform;
|
||||
final String platformName;
|
||||
final String metadataGsPath;
|
||||
@ -498,14 +519,24 @@ Future<Null> main(List<String> argList) async {
|
||||
argParser.addFlag(
|
||||
'publish',
|
||||
defaultsTo: false,
|
||||
help: 'The path to the directory where the output archive should be '
|
||||
'written. If --output is not specified, the archive will be written to '
|
||||
"the current directory. If the output directory doesn't exist, it, and "
|
||||
'the path to it, will be created.',
|
||||
help: 'If set, will publish the archive to Google Cloud Storage upon '
|
||||
'successful creation of the archive. Will publish under this '
|
||||
'directory: $baseUrl$releaseFolder',
|
||||
);
|
||||
argParser.addFlag(
|
||||
'help',
|
||||
defaultsTo: false,
|
||||
negatable: false,
|
||||
help: 'Print help for this command.',
|
||||
);
|
||||
|
||||
final ArgResults args = argParser.parse(argList);
|
||||
|
||||
if (args['help']) {
|
||||
print(argParser.usage);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void errorExit(String message, {int exitCode = -1}) {
|
||||
stderr.write('Error: $message\n\n');
|
||||
stderr.write('${argParser.usage}\n');
|
||||
|
@ -3,8 +3,9 @@ description: Scripts which run on bots.
|
||||
|
||||
dependencies:
|
||||
path: 1.5.1
|
||||
args: 1.2.0
|
||||
args: 1.3.0
|
||||
process: 2.0.7
|
||||
platform: 2.1.1
|
||||
|
||||
dev_dependencies:
|
||||
test: 0.12.30+1
|
||||
@ -26,7 +27,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
@ -37,7 +38,6 @@ dev_dependencies:
|
||||
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
|
||||
package_config: 1.0.3 # TRANSITIVE DEPENDENCY
|
||||
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
platform: 2.1.1 # TRANSITIVE DEPENDENCY
|
||||
plugin: 0.2.0+2 # TRANSITIVE DEPENDENCY
|
||||
pool: 1.3.4 # TRANSITIVE DEPENDENCY
|
||||
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
|
||||
|
@ -2,8 +2,10 @@
|
||||
// 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' hide Platform;
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:mockito/mockito.dart';
|
||||
import 'package:test/test.dart';
|
||||
@ -20,6 +22,39 @@ void main() {
|
||||
operatingSystem: platformName,
|
||||
environment: <String, String>{},
|
||||
);
|
||||
group('ProcessRunner for $platform', () {
|
||||
test('Defaults to local process manager, can actually run a command', () async {
|
||||
final ProcessRunner processRunner =
|
||||
new ProcessRunner(subprocessOutput: false, platform: platform);
|
||||
// We want to test that we can actually run a process and obtain stdout.
|
||||
// The command 'echo test' works on all platforms.
|
||||
final String output = await processRunner.runProcess(<String>['echo', 'test']);
|
||||
expect(output, equals('test'));
|
||||
});
|
||||
test('Returns stdout', () async {
|
||||
final FakeProcessManager fakeProcessManager = new FakeProcessManager();
|
||||
fakeProcessManager.fakeResults = <String, List<ProcessResult>>{
|
||||
'echo test': <ProcessResult>[new ProcessResult(0, 0, 'output', 'error')],
|
||||
};
|
||||
final ProcessRunner processRunner = new ProcessRunner(
|
||||
subprocessOutput: false, platform: platform, processManager: fakeProcessManager);
|
||||
final String output = await processRunner.runProcess(<String>['echo', 'test']);
|
||||
expect(output, equals('output'));
|
||||
});
|
||||
test('Throws on process failure', () async {
|
||||
final FakeProcessManager fakeProcessManager = new FakeProcessManager();
|
||||
fakeProcessManager.fakeResults = <String, List<ProcessResult>>{
|
||||
'echo test': <ProcessResult>[new ProcessResult(0, -1, 'output', 'error')],
|
||||
};
|
||||
final ProcessRunner processRunner = new ProcessRunner(
|
||||
subprocessOutput: false, platform: platform, processManager: fakeProcessManager);
|
||||
expect(
|
||||
expectAsync1((List<String> commandLine) async {
|
||||
return processRunner.runProcess(commandLine);
|
||||
})(<String>['echo', 'test']),
|
||||
throwsA(const isInstanceOf<ProcessRunnerException>()));
|
||||
});
|
||||
});
|
||||
group('ArchiveCreator for $platformName', () {
|
||||
ArchiveCreator creator;
|
||||
Directory tmpDir;
|
||||
@ -29,6 +64,10 @@ void main() {
|
||||
final List<Map<Symbol, dynamic>> namedArgs = <Map<Symbol, dynamic>>[];
|
||||
String flutter;
|
||||
|
||||
Future<Uint8List> fakeHttpReader(Uri url, {Map<String, String> headers}) {
|
||||
return new Future<Uint8List>.value(new Uint8List(0));
|
||||
}
|
||||
|
||||
setUp(() async {
|
||||
processManager = new FakeProcessManager();
|
||||
args.clear();
|
||||
@ -44,6 +83,7 @@ void main() {
|
||||
processManager: processManager,
|
||||
subprocessOutput: false,
|
||||
platform: platform,
|
||||
httpReader: fakeHttpReader,
|
||||
);
|
||||
flutter = path.join(creator.flutterRoot.absolute.path, 'bin', 'flutter');
|
||||
});
|
||||
@ -119,9 +159,7 @@ void main() {
|
||||
'$flutter precache': null,
|
||||
'$flutter ide-config': null,
|
||||
'$flutter create --template=app ${createBase}app': null,
|
||||
// TODO(gspencer): Re-enable this when package works again:
|
||||
// https://github.com/flutter/flutter/issues/14448
|
||||
// '$flutter create --template=package ${createBase}package': null,
|
||||
'$flutter create --template=package ${createBase}package': null,
|
||||
'$flutter create --template=plugin ${createBase}plugin': null,
|
||||
'git clean -f -X **/.packages': null,
|
||||
});
|
||||
@ -141,6 +179,7 @@ void main() {
|
||||
processManager: processManager,
|
||||
subprocessOutput: false,
|
||||
platform: platform,
|
||||
httpReader: fakeHttpReader,
|
||||
);
|
||||
await creator.initializeRepo();
|
||||
await creator.createArchive();
|
||||
|
@ -7,7 +7,7 @@ environment:
|
||||
sdk: '>=1.12.0 <2.0.0'
|
||||
|
||||
dependencies:
|
||||
args: 1.2.0
|
||||
args: 1.3.0
|
||||
file: 2.3.5
|
||||
image: 1.1.29
|
||||
meta: 1.1.1
|
||||
@ -38,7 +38,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -7,7 +7,7 @@ dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -24,7 +24,7 @@ dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -7,7 +7,7 @@ dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -24,7 +24,7 @@ dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -7,7 +7,7 @@ dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -24,7 +24,7 @@ dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -7,7 +7,7 @@ dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -24,7 +24,7 @@ dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -14,7 +14,7 @@ dev_dependencies:
|
||||
test: 0.12.30+1
|
||||
|
||||
archive: 1.0.33 # TRANSITIVE DEPENDENCY
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -32,7 +32,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -8,7 +8,7 @@ dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -23,7 +23,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -3,7 +3,7 @@ description: Various repository development tools for flutter.
|
||||
|
||||
dependencies:
|
||||
archive: 1.0.33
|
||||
args: 1.2.0
|
||||
args: 1.3.0
|
||||
http: 0.11.3+16
|
||||
intl: 0.15.2
|
||||
meta: 1.1.1
|
||||
@ -28,7 +28,7 @@ dev_dependencies:
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -8,7 +8,7 @@ environment:
|
||||
sdk: '>=1.20.1 <2.0.0'
|
||||
|
||||
dependencies:
|
||||
args: 1.2.0
|
||||
args: 1.3.0
|
||||
vector_math: 2.0.5
|
||||
xml: 2.6.0
|
||||
|
||||
@ -29,7 +29,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -11,7 +11,7 @@ dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -28,7 +28,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -9,7 +9,7 @@ dependencies:
|
||||
string_scanner: 1.0.2
|
||||
url_launcher: 2.0.1
|
||||
cupertino_icons: 0.1.1
|
||||
video_player: 0.1.1
|
||||
video_player: 0.2.0
|
||||
|
||||
# Also update dev/benchmarks/complex_layout/pubspec.yaml
|
||||
flutter_gallery_assets:
|
||||
@ -23,7 +23,7 @@ dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -38,7 +38,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -5,7 +5,7 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -20,7 +20,7 @@ dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -8,7 +8,7 @@ dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -23,7 +23,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -7,7 +7,7 @@ dev_dependencies:
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -22,7 +22,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -10,7 +10,7 @@ dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -27,7 +27,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -10,7 +10,7 @@ dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -27,7 +27,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
|
@ -4,7 +4,7 @@ dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -19,7 +19,7 @@ dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -15,7 +15,7 @@ dev_dependencies:
|
||||
flutter_driver:
|
||||
sdk: flutter
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -25,13 +25,13 @@ dev_dependencies:
|
||||
convert: 2.0.1 # TRANSITIVE DEPENDENCY
|
||||
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
|
||||
csslib: 0.14.1 # TRANSITIVE DEPENDENCY
|
||||
dart_style: 1.0.9 # TRANSITIVE DEPENDENCY
|
||||
dart_style: 1.0.9+1 # TRANSITIVE DEPENDENCY
|
||||
file: 2.3.5 # TRANSITIVE DEPENDENCY
|
||||
glob: 1.1.5 # TRANSITIVE DEPENDENCY
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
json_rpc_2: 2.0.7 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -19,7 +19,7 @@ dev_dependencies:
|
||||
sdk: flutter
|
||||
mockito: 2.2.1
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -32,7 +32,7 @@ dev_dependencies:
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -23,7 +23,7 @@ dev_dependencies:
|
||||
mockito: 2.2.1
|
||||
quiver: 0.28.0
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -39,7 +39,7 @@ dev_dependencies:
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
intl: 0.15.2 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -11,7 +11,7 @@ dev_dependencies:
|
||||
sdk: flutter
|
||||
mockito: 2.2.1
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -26,7 +26,7 @@ dev_dependencies:
|
||||
http: 0.11.3+16 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -24,7 +24,7 @@ dependencies:
|
||||
# Used by globalToLocal et al.
|
||||
vector_math: 2.0.5
|
||||
|
||||
args: 1.2.0 # TRANSITIVE DEPENDENCY
|
||||
args: 1.3.0 # TRANSITIVE DEPENDENCY
|
||||
async: 2.0.3 # TRANSITIVE DEPENDENCY
|
||||
barback: 0.15.2+14 # TRANSITIVE DEPENDENCY
|
||||
boolean_selector: 1.0.2 # TRANSITIVE DEPENDENCY
|
||||
@ -38,7 +38,7 @@ dependencies:
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
@ -9,7 +9,7 @@ environment:
|
||||
dependencies:
|
||||
# To update these, use "flutter update-packages --force-upgrade".
|
||||
archive: 1.0.33
|
||||
args: 1.2.0
|
||||
args: 1.3.0
|
||||
cli_util: 0.1.2+1
|
||||
coverage: 0.10.0
|
||||
crypto: 2.0.2+1
|
||||
@ -57,7 +57,7 @@ dev_dependencies:
|
||||
html: 0.13.2+2 # TRANSITIVE DEPENDENCY
|
||||
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
|
||||
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.1 # TRANSITIVE DEPENDENCY
|
||||
io: 0.3.2+1 # TRANSITIVE DEPENDENCY
|
||||
isolate: 1.1.0 # TRANSITIVE DEPENDENCY
|
||||
js: 0.6.1 # TRANSITIVE DEPENDENCY
|
||||
logging: 0.11.3+1 # TRANSITIVE DEPENDENCY
|
||||
|
Loading…
Reference in New Issue
Block a user