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..5a7f4da6bf76d5ccd84dea559faec50c7c860234 100644 |
--- a/pkg/front_end/example/incremental_reload/run.dart |
+++ b/pkg/front_end/example/incremental_reload/run.dart |
@@ -46,21 +46,41 @@ import 'dart:io'; |
import 'dart:async'; |
import 'dart:convert' show ASCII; |
+import 'package:args/args.dart'; |
+ |
import '../../tool/vm/reload.dart'; |
import 'compiler_with_invalidation.dart'; |
+ArgParser argParser = new ArgParser(allowTrailingOptions: false) |
+ ..addOption('sdk-root', help: 'Path to sdk for compilation') |
+ ..addOption('input', help: 'Input dart file') |
Siggi Cherem (dart-lang)
2017/08/15 00:37:14
minor suggestion: let's remove this option and use
aam
2017/08/15 03:59:49
Done.
|
+ ..addOption('output', help: 'Output dill file', defaultsTo: 'out.dill'); |
Siggi Cherem (dart-lang)
2017/08/15 00:37:15
minor suggestion: let's add `abbr: "o"`
aam
2017/08/15 03:59:49
Done.
|
+ |
+String usage = ''' |
+Usage: dart [options] |
+ |
+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['input'] == null) { |
+ print('Need input file'); |
+ print(usage); |
exit(1); |
} |
- var compiler = await createIncrementalCompiler(args[0]); |
- var outputUri = Uri.base.resolve(args[1]); |
+ var compiler = await createIncrementalCompiler(options['input'], |
+ argSdkRoot: |
+ options['sdk-root'] != null ? Uri.parse(options['sdk-root']) : null); |
+ var outputUri = Uri.base.resolve(options['output']); |
showHeader(); |
listenOnKeyPress(compiler, outputUri) |
@@ -76,7 +96,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 && |