| Index: pkg/front_end/example/incremental_reload/run.dart
|
| diff --git a/pkg/front_end/example/incremental_reload/run.dart b/pkg/front_end/example/incremental_reload/run.dart
|
| index 7fadbc7fb4a7012ef1eb9dabe5747a16345bcd3e..5b3dab48350358aa6dbc1be59d40c32a92e38f60 100644
|
| --- a/pkg/front_end/example/incremental_reload/run.dart
|
| +++ b/pkg/front_end/example/incremental_reload/run.dart
|
| @@ -46,21 +46,46 @@ import 'dart:io';
|
| import 'dart:async';
|
| import 'dart:convert' show ASCII;
|
|
|
| +import 'package:args/args.dart';
|
| +import 'package:kernel/target/targets.dart';
|
| +
|
| import '../../tool/vm/reload.dart';
|
|
|
| import 'compiler_with_invalidation.dart';
|
|
|
| +ArgParser argParser = new ArgParser(allowTrailingOptions: true)
|
| + ..addOption('sdk-root', help: 'Path to sdk for compilation')
|
| + ..addOption('output',
|
| + help: 'Output dill file', defaultsTo: 'out.dill', abbr: 'o')
|
| + ..addOption('target',
|
| + help: 'One of none, vm, vm_fasta, vmcc, vmreify, flutter, flutter_fasta',
|
| + defaultsTo: 'vm');
|
| +
|
| +String usage = '''
|
| +Usage: dart [options] input.dart
|
| +
|
| +Runs console-driven incremental compiler.
|
| +
|
| +Options:
|
| +${argParser.usage}
|
| +''';
|
| +
|
| RemoteVm remoteVm = new RemoteVm();
|
| AnsiTerminal terminal = new AnsiTerminal();
|
|
|
| main(List<String> args) async {
|
| - if (args.length <= 1) {
|
| - print('usage: dart incremental_compile.dart input.dart out.dill');
|
| + ArgResults options = argParser.parse(args);
|
| + if (options.rest.isEmpty) {
|
| + print('Need an input file');
|
| + print(usage);
|
| exit(1);
|
| }
|
|
|
| - var compiler = await createIncrementalCompiler(args[0]);
|
| - var outputUri = Uri.base.resolve(args[1]);
|
| + var compiler = await createIncrementalCompiler(options.rest[0],
|
| + sdkRoot:
|
| + options['sdk-root'] != null ? Uri.parse(options['sdk-root']) : null,
|
| + target: targets[options['target']](new TargetFlags()));
|
| + var outputUri = Uri.base.resolve(options['output']);
|
|
|
| showHeader();
|
| listenOnKeyPress(compiler, outputUri)
|
| @@ -76,7 +101,7 @@ Future listenOnKeyPress(IncrementalCompiler compiler, Uri outputUri) {
|
| try {
|
| CompilationResult compilationResult;
|
| ReloadResult reloadResult;
|
| - switch (char) {
|
| + switch (char.trim()) {
|
| case 'r':
|
| compilationResult = await rebuild(compiler, outputUri);
|
| if (!compilationResult.errorSeen &&
|
| @@ -242,7 +267,9 @@ class AnsiTerminal {
|
| ];
|
|
|
| String bolden(String message) => wrap(message, _bold);
|
| +
|
| String green(String message) => wrap(message, _green);
|
| +
|
| String red(String message) => wrap(message, _red);
|
|
|
| String wrap(String message, String escape) {
|
|
|