| 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;
 | 
|  }
 | 
|  
 | 
| 
 |