Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(370)

Unified Diff: lib/dwc.dart

Issue 11092092: Support compiling templates in the browser. Base URL: git@github.com:dart-lang/dart-web-components.git@master
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extension/manifest.json ('k') | lib/dwc_shared.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dwc.dart
diff --git a/lib/dwc.dart b/lib/dwc.dart
index f699b9deb370c06d6fda2b841dcc8b205bb51074..16c4ab0230bc1af3f653074edd9a342ed5ca6c29 100644
--- a/lib/dwc.dart
+++ b/lib/dwc.dart
@@ -5,7 +5,6 @@
/** The entry point to the compiler. Used to implement `bin/dwc.dart`. */
library dwc;
-import 'dart:io';
import 'package:args/args.dart';
import 'src/template/cmd_options.dart';
import 'src/template/file_system.dart';
@@ -14,43 +13,13 @@ import 'src/template/file_system_memory.dart';
import 'src/template/compile.dart';
import 'src/template/utils.dart';
import 'src/template/world.dart';
-
-ArgParser commandOptions() {
- var args = new ArgParser();
- args.addFlag('verbose', help: 'Display detail info', defaultsTo: false);
- args.addFlag('clean', help: 'Remove all generated files', defaultsTo: false);
- args.addFlag('dump', help: 'Dump AST', defaultsTo: false);
- args.addFlag('suppress_warnings', help: 'Warnings not displayed',
- defaultsTo: true);
- args.addFlag('warnings_as_errors', help: 'Warning handled as errors',
- defaultsTo: false);
- args.addFlag('throw_on_errors', help: 'Throw on errors encountered',
- defaultsTo: false);
- args.addFlag('throw_on_warnings', help: 'Throw on warnings encountered',
- defaultsTo: false);
- args.addFlag('no_colors', help: 'Display errors/warnings in colored text',
- defaultsTo: true);
- args.addFlag('help', help: 'Displays this help message', defaultsTo: false);
-
- return args;
-}
-
-void initHtmlWorld(CmdOptions opts) {
- var fs = new MemoryFileSystem();
- initializeWorld(fs, opts);
-
- // TODO(terry): Should be set by arguments. When run as a tool these aren't
- // set when run internaly set these so we can compile CSS and catch any
- // problems programmatically.
- // options.throwOnErrors = true;
- // options.throwOnFatal = true;
- // options.useColors = commandLine ? true : false;
-}
+import 'dwc_shared.dart';
+import 'dart:io';
FileSystem fileSystem;
/** bin/dwc.dart [options...] <sourcefile fullpath> <outputfile fullpath> */
-void run(List<String> args) {
+Future run(List<String> args) {
var argParser = commandOptions();
ArgResults results = argParser.parse(args);
if (results['help'] || results.rest.length == 0) {
@@ -104,17 +73,19 @@ void run(List<String> args) {
outDirectory.createSync();
}
- String source = fileSystem.readAll(sourceFullFn);
- time('Compiled $sourceFullFn', () {
- var compiler = new Compile(fileSystem);
- compiler.run(srcPath.filename, srcDir.path);
-
- // Write out the code associated with each source file.
- print("Write files to ${outDirectory.path}:");
- for (var file in compiler.output) {
- writeFile(file.filename, outDirectory, file.contents);
- }
- }, printTime: true);
+ return fileSystem.readAll(sourceFullFn).chain((source) {
+ return asyncTime('Compiled $sourceFullFn', () {
+ var compiler = new Compile(fileSystem);
+ return compiler.run(srcPath.filename, srcDir.path).chain((_) {
+ // Write out the code associated with each source file.
+ print("Write files to ${outDirectory.path}:");
+ for (var file in compiler.output) {
+ writeFile(file.filename, outDirectory, file.contents);
+ }
+ return fileSystem.flush();
+ });
+ }, printTime: true);
+ });
}
void writeFile(String filename, Directory outdir, String contents) {
« no previous file with comments | « extension/manifest.json ('k') | lib/dwc_shared.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698