Merge pull request #331 from abarth/flutter_upgrade
Add a `flutter upgrade` command
This commit is contained in:
@@ -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);
|
||||
|
||||
30
packages/flutter_tools/lib/src/commands/upgrade.dart
Normal file
30
packages/flutter_tools/lib/src/commands/upgrade.dart
Normal 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']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user