Commit c428c825 authored by Adam Barth's avatar Adam Barth

Merge pull request #331 from abarth/flutter_upgrade

Add a `flutter upgrade` command
parents 3f58d9b7 90991854
...@@ -23,6 +23,7 @@ import 'src/commands/start.dart'; ...@@ -23,6 +23,7 @@ import 'src/commands/start.dart';
import 'src/commands/stop.dart'; import 'src/commands/stop.dart';
import 'src/commands/test.dart'; import 'src/commands/test.dart';
import 'src/commands/trace.dart'; import 'src/commands/trace.dart';
import 'src/commands/upgrade.dart';
import 'src/process.dart'; import 'src/process.dart';
/// Main entry point for commands. /// Main entry point for commands.
...@@ -57,7 +58,8 @@ Future main(List<String> args) async { ...@@ -57,7 +58,8 @@ Future main(List<String> args) async {
..addCommand(new StartCommand()) ..addCommand(new StartCommand())
..addCommand(new StopCommand()) ..addCommand(new StopCommand())
..addCommand(new TestCommand()) ..addCommand(new TestCommand())
..addCommand(new TraceCommand()); ..addCommand(new TraceCommand())
..addCommand(new UpgradeCommand());
return Chain.capture(() async { return Chain.capture(() async {
dynamic result = await runner.run(args); dynamic result = await runner.run(args);
......
// 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']);
}
}
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