| Index: lib/dartdoc/dartdoc.dart
|
| diff --git a/lib/dartdoc/dartdoc.dart b/lib/dartdoc/dartdoc.dart
|
| index 738026ea786af11ef65946c4c1a1e7a3f70fea7a..d336b5dc9c63dfbccaa650027bdd37f46606031f 100644
|
| --- a/lib/dartdoc/dartdoc.dart
|
| +++ b/lib/dartdoc/dartdoc.dart
|
| @@ -165,20 +165,21 @@ void cleanOutputDirectory(String path) {
|
| Future copyFiles(String from, String to) {
|
| final completer = new Completer();
|
| final fromDir = new Directory(from);
|
| - fromDir.onFile = (path) {
|
| + final lister = fromDir.list(recursive: false);
|
| +
|
| + lister.onFile = (path) {
|
| final name = basename(path);
|
| // TODO(rnystrom): Hackish. Ignore 'hidden' files like .DS_Store.
|
| if (name.startsWith('.')) return;
|
|
|
| - new File(path).readAsBytes((bytes) {
|
| + new File(path).readAsBytes().then((bytes) {
|
| final outFile = new File('$to/$name');
|
| final stream = outFile.openOutputStream(FileMode.WRITE);
|
| stream.write(bytes, copyBuffer: false);
|
| stream.close();
|
| });
|
| };
|
| - fromDir.onDone = (done) => completer.complete(true);
|
| - fromDir.list(recursive: false);
|
| + lister.onDone = (done) => completer.complete(true);
|
| return completer.future;
|
| }
|
|
|
| @@ -189,12 +190,12 @@ Future copyFiles(String from, String to) {
|
| Future compileScript(String compilerPath, String libDir,
|
| String dartPath, String jsPath) {
|
| final completer = new Completer();
|
| - onExit(int exitCode, String stdout, String stderr) {
|
| - if (exitCode != 0) {
|
| + onExit(ProcessResult result) {
|
| + if (result.exitCode != 0) {
|
| final message = 'Non-zero exit code from $compilerPath';
|
| print('$message.');
|
| - print(stdout);
|
| - print(stderr);
|
| + print(result.stdout);
|
| + print(result.stderr);
|
| throw message;
|
| }
|
| completer.complete(true);
|
| @@ -207,10 +208,14 @@ Future compileScript(String compilerPath, String libDir,
|
| }
|
|
|
| print('Compiling $dartPath to $jsPath');
|
| - new Process.run(compilerPath, [
|
| + var processFuture = Process.run(compilerPath, [
|
| '--libdir=$libDir', '--out=$jsPath',
|
| '--compile-only', '--enable-type-checks', '--warnings-as-errors',
|
| - dartPath], null, onExit).onError = onError;
|
| + dartPath]);
|
| +
|
| + processFuture.handleException(onError);
|
| + processFuture.then(onExit);
|
| +
|
| return completer.future;
|
| }
|
|
|
|
|