Add a flutter upgrade command

This command upgrades the version of flutter that you're using and runs
`pub upgrade` to update the transitive dependencies.
This commit is contained in:
Adam Barth 2015-11-12 10:13:40 -08:00
parent 3f58d9b7c9
commit 90991854e0
2 changed files with 33 additions and 1 deletions

View File

@ -23,6 +23,7 @@ import 'src/commands/start.dart';
import 'src/commands/stop.dart';
import 'src/commands/test.dart';
import 'src/commands/trace.dart';
import 'src/commands/upgrade.dart';
import 'src/process.dart';
/// Main entry point for commands.
@ -57,7 +58,8 @@ Future main(List<String> args) async {
..addCommand(new StartCommand())
..addCommand(new StopCommand())
..addCommand(new TestCommand())
..addCommand(new TraceCommand());
..addCommand(new TraceCommand())
..addCommand(new UpgradeCommand());
return Chain.capture(() async {
dynamic result = await runner.run(args);

View File

@ -0,0 +1,30 @@
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'package:logging/logging.dart';
import '../artifacts.dart';
import '../process.dart';
import 'flutter_command.dart';
final Logger _logging = new Logger('flutter_tools.upgrade');
class UpgradeCommand extends FlutterCommand {
final String name = 'upgrade';
final String description = 'Upgrade your copy of Flutter.';
@override
Future<int> runInProject() async {
int code = await runCommandAndStreamOutput([
'git', 'pull', '--ff-only'
], workingDirectory: ArtifactStore.flutterRoot);
if (code != 0)
return code;
return await runCommandAndStreamOutput([sdkBinaryName('pub'), 'upgrade']);
}
}