mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
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.
This commit is contained in:
parent
83134cd39f
commit
765191e7b4
@ -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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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 @@
|
|||||||
// 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 {
|
|||||||
|
|
||||||
/// 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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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 {
|
|||||||
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 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// 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 {
|
|||||||
return _runProcess(git, args, workingDirectory: workingDirectory);
|
return _runProcess(git, args, workingDirectory: workingDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void unzipArchive(File archive, {Directory currentDirectory}) {
|
||||||
|
currentDirectory ??= new Directory(path.dirname(archive.absolute.path));
|
||||||
|
final List<String> args = <String>[];
|
||||||
|
String executable;
|
||||||
|
if (zip == 'zip') {
|
||||||
|
executable = 'unzip';
|
||||||
|
} else {
|
||||||
|
executable = zip;
|
||||||
|
args.addAll(<String>['x']);
|
||||||
|
}
|
||||||
|
args.add(archive.absolute.path);
|
||||||
|
|
||||||
|
_runProcess(executable, args, workingDirectory: currentDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
void createZipArchive(File output, Directory source) {
|
void createZipArchive(File output, Directory source) {
|
||||||
final List<String> args = <String>[];
|
final List<String> args = <String>[];
|
||||||
if (Platform.isWindows) {
|
if (zip == 'zip') {
|
||||||
// We use 7-Zip on Windows, which has different args.
|
|
||||||
args.addAll(<String>['a', '-tzip', '-mx=9']);
|
|
||||||
} else {
|
|
||||||
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 {
|
|||||||
/// 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) {
|
|||||||
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) {
|
|||||||
}
|
}
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
return new Future<Null>.value();
|
||||||
}
|
}
|
||||||
|
@ -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:
|
|||||||
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:
|
|||||||
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() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
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() {
|
|||||||
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() {
|
|||||||
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() {
|
|||||||
'$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() {
|
|||||||
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() {
|
|||||||
'$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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user