Unverified Commit 765191e7 authored by Greg Spencer's avatar Greg Spencer Committed by GitHub

Adding minzip to packaging steps for Windows (#13679)

This adds our self-compiled copy of the MinGit executable (built from the flutter/git repo) to the archive when building an archive for Windows.

I also tweaked the internal API for prepare_package.dart so that there's a single entry point to build an archive.
parent 83134cd3
...@@ -38,7 +38,7 @@ dependencies: ...@@ -38,7 +38,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -53,7 +53,7 @@ dev_dependencies: ...@@ -53,7 +53,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -34,7 +34,7 @@ dependencies: ...@@ -34,7 +34,7 @@ dependencies:
package_config: 1.0.3 # TRANSITIVE DEPENDENCY package_config: 1.0.3 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.5.1 # TRANSITIVE DEPENDENCY path: 1.5.1 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY petitparser: 1.7.0 # TRANSITIVE DEPENDENCY
pool: 1.3.3 # TRANSITIVE DEPENDENCY pool: 1.3.3 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.26.2 # TRANSITIVE DEPENDENCY quiver: 0.26.2 # TRANSITIVE DEPENDENCY
...@@ -46,7 +46,7 @@ dependencies: ...@@ -46,7 +46,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -2,15 +2,20 @@ ...@@ -2,15 +2,20 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'dart:typed_data';
import 'package:args/args.dart'; import 'package:args/args.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:http/http.dart' as http;
const String CHROMIUM_REPO = const String CHROMIUM_REPO =
'https://chromium.googlesource.com/external/github.com/flutter/flutter'; 'https://chromium.googlesource.com/external/github.com/flutter/flutter';
const String GITHUB_REPO = 'https://github.com/flutter/flutter.git'; const String GITHUB_REPO = 'https://github.com/flutter/flutter.git';
const String MINGIT_FOR_WINDOWS_URL = 'https://storage.googleapis.com/flutter_infra/mingit/'
'603511c649b00bbef0a6122a827ac419b656bc19/mingit.zip';
/// The type of the process runner function. This allows us to /// The type of the process runner function. This allows us to
/// inject a fake process runner into the ArchiveCreator for tests. /// inject a fake process runner into the ArchiveCreator for tests.
...@@ -39,16 +44,16 @@ class ProcessFailedException extends Error { ...@@ -39,16 +44,16 @@ class ProcessFailedException extends Error {
/// Creates a pre-populated Flutter archive from a git repo. /// Creates a pre-populated Flutter archive from a git repo.
class ArchiveCreator { class ArchiveCreator {
/// [tempDir] is the directory to use for creating the archive. Will place /// [tmpDir] is the directory to use for creating the archive. Will place
/// several GiB of data there, so it should have available space. /// several GiB of data there, so it should have available space.
/// [outputFile] is the name of the output archive. It should end in either /// [outputFile] is the name of the output archive. It should end in either
/// ".tar.xz" or ".zip". /// ".tar.xz" or ".zip".
/// The runner argument is used to inject a mock of [Process.runSync] for /// The runner argument is used to inject a mock of [Process.runSync] for
/// testing purposes. /// testing purposes.
ArchiveCreator(this.tempDir, this.outputFile, {ProcessRunner runner}) ArchiveCreator(this.tmpDir, this.outputFile, {ProcessRunner runner})
: assert(outputFile.path.toLowerCase().endsWith('.zip') || : assert(outputFile.path.toLowerCase().endsWith('.zip') ||
outputFile.path.toLowerCase().endsWith('.tar.xz')), outputFile.path.toLowerCase().endsWith('.tar.xz')),
flutterRoot = new Directory(path.join(tempDir.path, 'flutter')), flutterRoot = new Directory(path.join(tmpDir.path, 'flutter')),
_runner = runner ?? Process.runSync { _runner = runner ?? Process.runSync {
flutter = path.join( flutter = path.join(
flutterRoot.absolute.path, flutterRoot.absolute.path,
...@@ -60,22 +65,31 @@ class ArchiveCreator { ...@@ -60,22 +65,31 @@ class ArchiveCreator {
} }
final Directory flutterRoot; final Directory flutterRoot;
final Directory tempDir; final Directory tmpDir;
final File outputFile; final File outputFile;
final ProcessRunner _runner; final ProcessRunner _runner;
String flutter; String flutter;
final String git = Platform.isWindows ? 'git.bat' : 'git'; final String git = Platform.isWindows ? 'git.bat' : 'git';
final String zip = Platform.isWindows ? '7za.exe' : 'zip'; final String zip = Platform.isWindows ? '7za.exe' : 'zip';
final String tar = Platform.isWindows ? 'tar.exe' : 'tar'; final String tar = Platform.isWindows ? 'tar.exe' : 'tar';
final Uri minGitUri = Uri.parse(MINGIT_FOR_WINDOWS_URL);
Map<String, String> environment; Map<String, String> environment;
/// Performs all of the steps needed to create an archive.
Future<Null> createArchive(String revision) async {
checkoutFlutter(revision);
await installMinGitIfNeeded();
populateCaches();
archiveFiles();
}
/// Clone the Flutter repo and make sure that the git environment is sane /// Clone the Flutter repo and make sure that the git environment is sane
/// for when the user will unpack it. /// for when the user will unpack it.
void checkoutFlutter(String revision) { void checkoutFlutter(String revision) {
// We want the user to start out the in the 'master' branch instead of a // We want the user to start out the in the 'master' branch instead of a
// detached head. To do that, we need to make sure master points at the // detached head. To do that, we need to make sure master points at the
// desired revision. // desired revision.
runGit(<String>['clone', '-b', 'master', CHROMIUM_REPO], workingDirectory: tempDir); runGit(<String>['clone', '-b', 'master', CHROMIUM_REPO], workingDirectory: tmpDir);
runGit(<String>['reset', '--hard', revision]); runGit(<String>['reset', '--hard', revision]);
// Make the origin point to github instead of the chromium mirror. // Make the origin point to github instead of the chromium mirror.
...@@ -83,19 +97,34 @@ class ArchiveCreator { ...@@ -83,19 +97,34 @@ class ArchiveCreator {
runGit(<String>['remote', 'add', 'origin', GITHUB_REPO]); runGit(<String>['remote', 'add', 'origin', GITHUB_REPO]);
} }
/// Retrieve the MinGit executable from storage and unpack it.
Future<Null> installMinGitIfNeeded() async {
if (!Platform.isWindows) {
return;
}
final Uint8List data = await http.readBytes(minGitUri);
final File gitFile = new File(path.join(tmpDir.path, 'mingit.zip'));
await gitFile.open(mode: FileMode.WRITE);
await gitFile.writeAsBytes(data);
final Directory minGitPath = new Directory(path.join(flutterRoot.path, 'bin', 'mingit'));
await minGitPath.create(recursive: true);
unzipArchive(gitFile, currentDirectory: minGitPath);
}
/// Prepare the archive repo so that it has all of the caches warmed up and /// Prepare the archive repo so that it has all of the caches warmed up and
/// is configured for the user to being working. /// is configured for the user to being working.
void prepareArchive() { void populateCaches() {
runFlutter(<String>['doctor']); runFlutter(<String>['doctor']);
runFlutter(<String>['update-packages']); runFlutter(<String>['update-packages']);
runFlutter(<String>['precache']); runFlutter(<String>['precache']);
runFlutter(<String>['ide-config']); runFlutter(<String>['ide-config']);
// Create each of the templates, since they will call pub get on // Create each of the templates, since they will call 'pub get' on
// themselves when created, and this will warm the cache with their // themselves when created, and this will warm the cache with their
// dependencies too. // dependencies too.
for (String template in <String>['app', 'package', 'plugin']) { for (String template in <String>['app', 'package', 'plugin']) {
final String createName = path.join(tempDir.path, 'create_$template'); final String createName = path.join(tmpDir.path, 'create_$template');
runFlutter( runFlutter(
<String>['create', '--template=$template', createName], <String>['create', '--template=$template', createName],
); );
...@@ -108,7 +137,7 @@ class ArchiveCreator { ...@@ -108,7 +137,7 @@ class ArchiveCreator {
} }
/// Create the archive into the given output file. /// Create the archive into the given output file.
void createArchive() { void archiveFiles() {
if (outputFile.path.toLowerCase().endsWith('.zip')) { if (outputFile.path.toLowerCase().endsWith('.zip')) {
createZipArchive(outputFile, flutterRoot); createZipArchive(outputFile, flutterRoot);
} else if (outputFile.path.toLowerCase().endsWith('.tar.xz')) { } else if (outputFile.path.toLowerCase().endsWith('.tar.xz')) {
...@@ -153,13 +182,27 @@ class ArchiveCreator { ...@@ -153,13 +182,27 @@ class ArchiveCreator {
return _runProcess(git, args, workingDirectory: workingDirectory); return _runProcess(git, args, workingDirectory: workingDirectory);
} }
void createZipArchive(File output, Directory source) { void unzipArchive(File archive, {Directory currentDirectory}) {
currentDirectory ??= new Directory(path.dirname(archive.absolute.path));
final List<String> args = <String>[]; final List<String> args = <String>[];
if (Platform.isWindows) { String executable;
// We use 7-Zip on Windows, which has different args. if (zip == 'zip') {
args.addAll(<String>['a', '-tzip', '-mx=9']); executable = 'unzip';
} else { } else {
executable = zip;
args.addAll(<String>['x']);
}
args.add(archive.absolute.path);
_runProcess(executable, args, workingDirectory: currentDirectory);
}
void createZipArchive(File output, Directory source) {
final List<String> args = <String>[];
if (zip == 'zip') {
args.addAll(<String>['-r', '-9', '-q']); args.addAll(<String>['-r', '-9', '-q']);
} else {
args.addAll(<String>['a', '-tzip', '-mx=9']);
} }
args.addAll(<String>[ args.addAll(<String>[
output.absolute.path, output.absolute.path,
...@@ -185,7 +228,12 @@ class ArchiveCreator { ...@@ -185,7 +228,12 @@ class ArchiveCreator {
/// It mainly serves to populate the .pub-cache with any appropriate Dart /// It mainly serves to populate the .pub-cache with any appropriate Dart
/// packages, and the flutter cache in bin/cache with the appropriate /// packages, and the flutter cache in bin/cache with the appropriate
/// dependencies and snapshots. /// dependencies and snapshots.
void main(List<String> argList) { ///
/// Note that archives contain the executables and customizations for the
/// platform that they are created on. So, for instance, a ZIP archive
/// created on a Mac will contain Mac executables and setup, even though
/// it's in a zip file.
Future<Null> main(List<String> argList) async {
final ArgParser argParser = new ArgParser(); final ArgParser argParser = new ArgParser();
argParser.addOption( argParser.addOption(
'temp_dir', 'temp_dir',
...@@ -249,9 +297,7 @@ void main(List<String> argList) { ...@@ -249,9 +297,7 @@ void main(List<String> argList) {
int exitCode = 0; int exitCode = 0;
String message; String message;
try { try {
preparer.checkoutFlutter(args['revision']); await preparer.createArchive(args['revision']);
preparer.prepareArchive();
preparer.createArchive();
} on ProcessFailedException catch (e) { } on ProcessFailedException catch (e) {
exitCode = e.exitCode; exitCode = e.exitCode;
message = e.message; message = e.message;
...@@ -266,4 +312,5 @@ void main(List<String> argList) { ...@@ -266,4 +312,5 @@ void main(List<String> argList) {
} }
exit(0); exit(0);
} }
return new Future<Null>.value();
} }
...@@ -2,12 +2,13 @@ name: tests_on_bots ...@@ -2,12 +2,13 @@ name: tests_on_bots
description: Scripts which run on bots. description: Scripts which run on bots.
dependencies: dependencies:
path: 1.5.1
args: 0.13.7 args: 0.13.7
http: 0.11.3+14
path: 1.5.1
dev_dependencies: dev_dependencies:
test: 0.12.26
mockito: 2.2.1 mockito: 2.2.1
test: 0.12.26
async: 1.13.3 # TRANSITIVE DEPENDENCY async: 1.13.3 # TRANSITIVE DEPENDENCY
barback: 0.15.2+13 # TRANSITIVE DEPENDENCY barback: 0.15.2+13 # TRANSITIVE DEPENDENCY
...@@ -17,7 +18,6 @@ dev_dependencies: ...@@ -17,7 +18,6 @@ dev_dependencies:
convert: 2.0.1 # TRANSITIVE DEPENDENCY convert: 2.0.1 # TRANSITIVE DEPENDENCY
crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY crypto: 2.0.2+1 # TRANSITIVE DEPENDENCY
glob: 1.1.5 # TRANSITIVE DEPENDENCY glob: 1.1.5 # TRANSITIVE DEPENDENCY
http: 0.11.3+14 # TRANSITIVE DEPENDENCY
http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY http_multi_server: 2.0.4 # TRANSITIVE DEPENDENCY
http_parser: 3.1.1 # TRANSITIVE DEPENDENCY http_parser: 3.1.1 # TRANSITIVE DEPENDENCY
io: 0.3.1 # TRANSITIVE DEPENDENCY io: 0.3.1 # TRANSITIVE DEPENDENCY
...@@ -38,7 +38,7 @@ dev_dependencies: ...@@ -38,7 +38,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -62,7 +62,12 @@ void main() { ...@@ -62,7 +62,12 @@ void main() {
}); });
tearDown(() async { tearDown(() async {
await tmpDir.delete(recursive: true); // On Windows, the directory is locked and not able to be deleted, because it is a
// temporary directory. So we just leave some (very small, because we're not actually
// building archives here) trash around to be deleted at the next reboot.
if (!Platform.isWindows) {
await tmpDir.delete(recursive: true);
}
}); });
test('sets PUB_CACHE properly', () async { test('sets PUB_CACHE properly', () async {
...@@ -70,9 +75,7 @@ void main() { ...@@ -70,9 +75,7 @@ void main() {
preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner); preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner);
_answerWithResults(); _answerWithResults();
results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)]; results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)];
preparer.checkoutFlutter('master'); await preparer.createArchive('master');
preparer.prepareArchive();
preparer.createArchive();
expect( expect(
verify(runner.call( verify(runner.call(
captureAny, captureAny,
...@@ -90,14 +93,17 @@ void main() { ...@@ -90,14 +93,17 @@ void main() {
preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner); preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner);
_answerWithResults(); _answerWithResults();
results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)]; results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)];
preparer.checkoutFlutter('master'); await preparer.createArchive('master');
preparer.prepareArchive();
preparer.createArchive();
final List<String> commands = <String>[ final List<String> commands = <String>[
'$gitExe clone -b master https://chromium.googlesource.com/external/github.com/flutter/flutter', '$gitExe clone -b master https://chromium.googlesource.com/external/github.com/flutter/flutter',
'$gitExe reset --hard master', '$gitExe reset --hard master',
'$gitExe remote remove origin', '$gitExe remote remove origin',
'$gitExe remote add origin https://github.com/flutter/flutter.git', '$gitExe remote add origin https://github.com/flutter/flutter.git',
];
if (Platform.isWindows) {
commands.add('$zipExe x ${path.join(tmpDir.path, 'mingit.zip')}');
}
commands.addAll(<String>[
'$flutterExe doctor', '$flutterExe doctor',
'$flutterExe update-packages', '$flutterExe update-packages',
'$flutterExe precache', '$flutterExe precache',
...@@ -107,7 +113,7 @@ void main() { ...@@ -107,7 +113,7 @@ void main() {
'$flutterExe create --template=plugin ${path.join(tmpDir.path, 'create_plugin')}', '$flutterExe create --template=plugin ${path.join(tmpDir.path, 'create_plugin')}',
'$gitExe clean -f -X **/.packages', '$gitExe clean -f -X **/.packages',
'$tarExe cJf ${path.join(tmpDir.path, 'flutter_master.tar.xz')} flutter', '$tarExe cJf ${path.join(tmpDir.path, 'flutter_master.tar.xz')} flutter',
]; ]);
int step = 0; int step = 0;
for (String command in commands) { for (String command in commands) {
_verifyCommand(args[step++], command); _verifyCommand(args[step++], command);
...@@ -119,14 +125,17 @@ void main() { ...@@ -119,14 +125,17 @@ void main() {
preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner); preparer = new ArchiveCreator(tmpDir, outputFile, runner: runner);
_answerWithResults(); _answerWithResults();
results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)]; results = <MockProcessResult>[new MockProcessResult('deadbeef\n', '', 0)];
preparer.checkoutFlutter('master'); await preparer.createArchive('master');
preparer.prepareArchive();
preparer.createArchive();
final List<String> commands = <String>[ final List<String> commands = <String>[
'$gitExe clone -b master https://chromium.googlesource.com/external/github.com/flutter/flutter', '$gitExe clone -b master https://chromium.googlesource.com/external/github.com/flutter/flutter',
'$gitExe reset --hard master', '$gitExe reset --hard master',
'$gitExe remote remove origin', '$gitExe remote remove origin',
'$gitExe remote add origin https://github.com/flutter/flutter.git', '$gitExe remote add origin https://github.com/flutter/flutter.git',
];
if (Platform.isWindows) {
commands.add('$zipExe x ${path.join(tmpDir.path, 'mingit.zip')}');
}
commands.addAll(<String>[
'$flutterExe doctor', '$flutterExe doctor',
'$flutterExe update-packages', '$flutterExe update-packages',
'$flutterExe precache', '$flutterExe precache',
...@@ -135,7 +144,7 @@ void main() { ...@@ -135,7 +144,7 @@ void main() {
'$flutterExe create --template=package ${path.join(tmpDir.path, 'create_package')}', '$flutterExe create --template=package ${path.join(tmpDir.path, 'create_package')}',
'$flutterExe create --template=plugin ${path.join(tmpDir.path, 'create_plugin')}', '$flutterExe create --template=plugin ${path.join(tmpDir.path, 'create_plugin')}',
'$gitExe clean -f -X **/.packages', '$gitExe clean -f -X **/.packages',
]; ]);
if (Platform.isWindows) { if (Platform.isWindows) {
commands.add('$zipExe a -tzip -mx=9 ${path.join(tmpDir.path, 'flutter_master.zip')} flutter'); commands.add('$zipExe a -tzip -mx=9 ${path.join(tmpDir.path, 'flutter_master.zip')} flutter');
} else { } else {
......
...@@ -44,7 +44,7 @@ dev_dependencies: ...@@ -44,7 +44,7 @@ dev_dependencies:
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_config: 1.0.3 # TRANSITIVE DEPENDENCY package_config: 1.0.3 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY petitparser: 1.7.0 # TRANSITIVE DEPENDENCY
pool: 1.3.3 # TRANSITIVE DEPENDENCY pool: 1.3.3 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
shelf: 0.7.1 # TRANSITIVE DEPENDENCY shelf: 0.7.1 # TRANSITIVE DEPENDENCY
...@@ -54,7 +54,7 @@ dev_dependencies: ...@@ -54,7 +54,7 @@ dev_dependencies:
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -43,7 +43,7 @@ dependencies: ...@@ -43,7 +43,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -43,7 +43,7 @@ dependencies: ...@@ -43,7 +43,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -43,7 +43,7 @@ dependencies: ...@@ -43,7 +43,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -43,7 +43,7 @@ dependencies: ...@@ -43,7 +43,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -40,7 +40,7 @@ dev_dependencies: ...@@ -40,7 +40,7 @@ dev_dependencies:
package_config: 1.0.3 # TRANSITIVE DEPENDENCY package_config: 1.0.3 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.5.1 # TRANSITIVE DEPENDENCY path: 1.5.1 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY petitparser: 1.7.0 # TRANSITIVE DEPENDENCY
pool: 1.3.3 # TRANSITIVE DEPENDENCY pool: 1.3.3 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.26.2 # TRANSITIVE DEPENDENCY quiver: 0.26.2 # TRANSITIVE DEPENDENCY
...@@ -52,7 +52,7 @@ dev_dependencies: ...@@ -52,7 +52,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -41,7 +41,7 @@ dev_dependencies: ...@@ -41,7 +41,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -46,7 +46,7 @@ dev_dependencies: ...@@ -46,7 +46,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -3,11 +3,11 @@ dependencies: ...@@ -3,11 +3,11 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
collection: 1.14.3 collection: 1.14.3
device_info: 0.0.5 device_info: 0.1.0
intl: 0.15.2 intl: 0.15.2
connectivity: 0.1.1 connectivity: 0.2.0
string_scanner: 1.0.2 string_scanner: 1.0.2
url_launcher: 1.0.3 url_launcher: 2.0.0
cupertino_icons: 0.1.1 cupertino_icons: 0.1.1
video_player: 0.0.6 video_player: 0.0.6
...@@ -57,7 +57,7 @@ dev_dependencies: ...@@ -57,7 +57,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -37,7 +37,7 @@ dependencies: ...@@ -37,7 +37,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -41,7 +41,7 @@ dev_dependencies: ...@@ -41,7 +41,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -40,7 +40,7 @@ dev_dependencies: ...@@ -40,7 +40,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -46,7 +46,7 @@ dev_dependencies: ...@@ -46,7 +46,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -46,7 +46,7 @@ dev_dependencies: ...@@ -46,7 +46,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -36,7 +36,7 @@ dependencies: ...@@ -36,7 +36,7 @@ dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -39,7 +39,7 @@ dev_dependencies: ...@@ -39,7 +39,7 @@ dev_dependencies:
package_config: 1.0.3 # TRANSITIVE DEPENDENCY package_config: 1.0.3 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.5.1 # TRANSITIVE DEPENDENCY path: 1.5.1 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY petitparser: 1.7.0 # TRANSITIVE DEPENDENCY
pool: 1.3.3 # TRANSITIVE DEPENDENCY pool: 1.3.3 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
quiver: 0.26.2 # TRANSITIVE DEPENDENCY quiver: 0.26.2 # TRANSITIVE DEPENDENCY
...@@ -51,7 +51,7 @@ dev_dependencies: ...@@ -51,7 +51,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -49,7 +49,7 @@ dev_dependencies: ...@@ -49,7 +49,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -54,7 +54,7 @@ dev_dependencies: ...@@ -54,7 +54,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -44,7 +44,7 @@ dev_dependencies: ...@@ -44,7 +44,7 @@ dev_dependencies:
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY stack_trace: 1.9.1 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
test: 0.12.26 # TRANSITIVE DEPENDENCY test: 0.12.26 # TRANSITIVE DEPENDENCY
......
...@@ -55,7 +55,7 @@ dependencies: ...@@ -55,7 +55,7 @@ dependencies:
source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY source_map_stack_trace: 1.1.4 # TRANSITIVE DEPENDENCY
source_maps: 0.10.4 # TRANSITIVE DEPENDENCY source_maps: 0.10.4 # TRANSITIVE DEPENDENCY
source_span: 1.4.0 # TRANSITIVE DEPENDENCY source_span: 1.4.0 # TRANSITIVE DEPENDENCY
stream_channel: 1.6.2 # TRANSITIVE DEPENDENCY stream_channel: 1.6.3 # TRANSITIVE DEPENDENCY
string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY string_scanner: 1.0.2 # TRANSITIVE DEPENDENCY
term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY term_glyph: 1.0.0 # TRANSITIVE DEPENDENCY
typed_data: 1.1.4 # TRANSITIVE DEPENDENCY typed_data: 1.1.4 # TRANSITIVE DEPENDENCY
......
...@@ -17,7 +17,7 @@ dependencies: ...@@ -17,7 +17,7 @@ dependencies:
http: 0.11.3+14 http: 0.11.3+14
intl: 0.15.2 intl: 0.15.2
json_rpc_2: 2.0.4 json_rpc_2: 2.0.4
json_schema: 1.0.6 json_schema: 1.0.7
linter: 0.1.41 linter: 0.1.41
meta: 1.1.1 meta: 1.1.1
mustache: 1.0.0 mustache: 1.0.0
...@@ -27,7 +27,7 @@ dependencies: ...@@ -27,7 +27,7 @@ dependencies:
process: 2.0.6 process: 2.0.6
quiver: 0.26.2 quiver: 0.26.2
stack_trace: 1.9.1 stack_trace: 1.9.1
stream_channel: 1.6.2 stream_channel: 1.6.3
usage: 3.3.0 usage: 3.3.0
vm_service_client: 0.2.3 vm_service_client: 0.2.3
web_socket_channel: 1.0.6 web_socket_channel: 1.0.6
...@@ -66,7 +66,7 @@ dev_dependencies: ...@@ -66,7 +66,7 @@ dev_dependencies:
node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY node_preamble: 1.4.0 # TRANSITIVE DEPENDENCY
package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY package_resolver: 1.0.2 # TRANSITIVE DEPENDENCY
path: 1.5.1 # TRANSITIVE DEPENDENCY path: 1.5.1 # TRANSITIVE DEPENDENCY
petitparser: 1.6.1 # TRANSITIVE DEPENDENCY petitparser: 1.7.0 # TRANSITIVE DEPENDENCY
pool: 1.3.3 # TRANSITIVE DEPENDENCY pool: 1.3.3 # TRANSITIVE DEPENDENCY
pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY pub_semver: 1.3.2 # TRANSITIVE DEPENDENCY
shelf: 0.7.1 # TRANSITIVE DEPENDENCY shelf: 0.7.1 # TRANSITIVE DEPENDENCY
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment