Index: bin/devrun.dart |
diff --git a/bin/devrun.dart b/bin/devrun.dart |
deleted file mode 100755 |
index 10276173677a135ba7f9669b4cd9661902711499..0000000000000000000000000000000000000000 |
--- a/bin/devrun.dart |
+++ /dev/null |
@@ -1,90 +0,0 @@ |
-#!/usr/bin/env dart |
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-/// Runs io.js with dev_compiler's generated code. |
-library dev_compiler.bin.devrun; |
- |
-import 'dart:io'; |
- |
-import 'package:dev_compiler/devc.dart' show devCompilerVersion; |
-import 'package:dev_compiler/src/compiler.dart' show validateOptions, compile; |
-import 'package:dev_compiler/src/options.dart'; |
-import 'package:dev_compiler/src/runner/runtime_utils.dart' |
- show listOutputFiles, getMainModuleName; |
-import 'package:dev_compiler/src/runner/v8_runner.dart' show V8Runner; |
- |
-import 'package:path/path.dart'; |
- |
-const String _appName = 'dartdevrun'; |
- |
-void _showUsageAndExit() { |
- print('usage: ${_appName} [<options>] <file.dart>\n'); |
- print('<file.dart> is a single Dart file to run.\n'); |
- print('<options> include:\n'); |
- print(argParser.usage); |
- exit(1); |
-} |
- |
-main(List<String> args) async { |
- CompilerOptions options; |
- |
- try { |
- options = validateOptions(args, forceOutDir: true); |
- } on FormatException catch (e) { |
- print('${e.message}\n'); |
- _showUsageAndExit(); |
- } |
- |
- if (options == null || options.help) _showUsageAndExit(); |
- if (options.version) { |
- print('${_appName} version ${devCompilerVersion}'); |
- exit(0); |
- } |
- |
- if (options.inputs.length != 1) { |
- stderr.writeln("Please only specify one input to run"); |
- _showUsageAndExit(); |
- } |
- var runner = new V8Runner(options); |
- |
- if (!compile(options)) exit(1); |
- |
- var files = await listOutputFiles(options); |
- var startStatement = 'dart_library.start("${getMainModuleName(options)}");'; |
- |
- // TODO(ochafik): Only generate the html when some flag is set. |
- await _writeHtmlRunner(options, files, startStatement); |
- |
- // Give our soul (and streams) away to iojs. |
- Process process = await runner.start(files, startStatement); |
- stdin.pipe(process.stdin); |
- stdout.addStream(process.stdout); |
- stderr.addStream(process.stderr); |
- exit(await process.exitCode); |
-} |
- |
-/// Generates an HTML file that can be used to run the output with Chrome Dev. |
-_writeHtmlRunner( |
- CompilerOptions options, List<File> files, String startStatement) async { |
- String outputDir = options.codegenOptions.outputDir; |
- String htmlOutput = join(outputDir, "run.html"); |
- await new File(htmlOutput).writeAsString(''' |
- <html><head></head><body> |
- ${files.map((f) => |
- '<script src="${relative(f.path, from: outputDir)}"></script>') |
- .join("\n")} |
- <script>$startStatement</script> |
- </body></html> |
- '''); |
- |
- stderr.writeln( |
- 'Wrote $htmlOutput. It can be opened in Chrome Dev with the following flags:\n' |
- '--js-flags="--harmony-arrow-functions ' |
- '--harmony-classes ' |
- '--harmony-computed-property-names ' |
- '--harmony_destructuring ' |
- '--harmony-spreadcalls"' |
- '\n'); |
-} |