Skip to content

Commit 15187a6

Browse files
devoncarewcommit-bot@chromium.org
authored andcommitted
[dartdev] refactor the 'dart migrate' package:args command
Change-Id: Id9f2a5289b75bb26258925f7686d32f4f6a0eb51 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199760 Reviewed-by: Ben Konyi <[email protected]> Reviewed-by: Ivan Inozemtsev <[email protected]> Commit-Queue: Devon Carew <[email protected]>
1 parent fb90f11 commit 15187a6

File tree

2 files changed

+6
-20
lines changed

2 files changed

+6
-20
lines changed

pkg/nnbd_migration/lib/migration_cli.dart

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import 'package:analyzer/src/util/sdk.dart';
2121
import 'package:analyzer_plugin/protocol/protocol_common.dart'
2222
hide AnalysisError;
2323
import 'package:args/args.dart';
24-
import 'package:args/command_runner.dart';
2524
import 'package:cli_util/cli_logging.dart';
25+
import 'package:dartdev/src/core.dart';
2626
import 'package:meta/meta.dart';
2727
import 'package:nnbd_migration/src/edit_plan.dart';
2828
import 'package:nnbd_migration/src/exceptions.dart';
@@ -137,8 +137,7 @@ class CommandLineOptions {
137137
@required this.webPreview});
138138
}
139139

140-
// TODO(devoncarew): Refactor so this class extends DartdevCommand.
141-
class MigrateCommand extends Command<int> {
140+
class MigrateCommand extends DartdevCommand {
142141
static const String cmdName = 'migrate';
143142

144143
static const String cmdDescription =
@@ -152,31 +151,16 @@ class MigrateCommand extends Command<int> {
152151

153152
final bool verbose;
154153

155-
ArgParser _argParser;
156-
157-
MigrateCommand({this.verbose = false}) {
154+
MigrateCommand({this.verbose = false})
155+
: super(cmdName, '$cmdDescription\n\n$migrationGuideLink') {
158156
MigrationCli._defineOptions(argParser, !verbose);
159157
}
160158

161-
@override
162-
ArgParser get argParser {
163-
// We override this in order to configure the help text line wrapping.
164-
return _argParser ??= ArgParser(
165-
usageLineLength: stdout.hasTerminal ? stdout.terminalColumns : null,
166-
);
167-
}
168-
169-
@override
170-
String get description => '$cmdDescription\n\n$migrationGuideLink';
171-
172159
@override
173160
String get invocation {
174161
return '${super.invocation} [project or directory]';
175162
}
176163

177-
@override
178-
String get name => cmdName;
179-
180164
@override
181165
FutureOr<int> run() async {
182166
var cli = MigrationCli(binaryName: 'dart $name');

pkg/nnbd_migration/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ dependencies:
1818
cli_util: ^0.2.0
1919
collection: ^1.14.11
2020
crypto: ^2.0.6
21+
dartdev:
22+
path: ../dartdev
2123
meta:
2224
path: ../meta
2325
path: ^1.6.2

0 commit comments

Comments
 (0)