| Index: utils/apidoc/apidoc.dart
 | 
| diff --git a/utils/apidoc/apidoc.dart b/utils/apidoc/apidoc.dart
 | 
| index a4fbe43c5b1433316b74d7b5b176b410ed0d72aa..b7783b46dd7abaddcde35037908da050111e4031 100644
 | 
| --- a/utils/apidoc/apidoc.dart
 | 
| +++ b/utils/apidoc/apidoc.dart
 | 
| @@ -17,6 +17,7 @@ library apidoc;
 | 
|  import 'dart:async';
 | 
|  import 'dart:io';
 | 
|  import 'dart:json' as json;
 | 
| +import 'dart:uri';
 | 
|  
 | 
|  import 'html_diff.dart';
 | 
|  
 | 
| @@ -25,6 +26,7 @@ import '../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart';
 | 
|  import '../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util.dart';
 | 
|  import '../../sdk/lib/_internal/dartdoc/lib/dartdoc.dart';
 | 
|  import '../../sdk/lib/_internal/libraries.dart';
 | 
| +import 'package:pathos/path.dart' as pathos;
 | 
|  
 | 
|  HtmlDiff _diff;
 | 
|  
 | 
| @@ -37,7 +39,7 @@ void main() {
 | 
|  
 | 
|    List<String> excludedLibraries = <String>[];
 | 
|    List<String> includedLibraries = <String>[];
 | 
| -  Path packageRoot;
 | 
| +  String packageRoot;
 | 
|    String version;
 | 
|  
 | 
|    // Parse the command-line arguments.
 | 
| @@ -65,7 +67,7 @@ void main() {
 | 
|          } else if (arg.startsWith('--out=')) {
 | 
|            outputDir = new Path(arg.substring('--out='.length));
 | 
|          } else if (arg.startsWith('--package-root=')) {
 | 
| -          packageRoot = new Path(arg.substring('--package-root='.length));
 | 
| +          packageRoot = arg.substring('--package-root='.length);
 | 
|          } else if (arg.startsWith('--version=')) {
 | 
|            version = arg.substring('--version='.length);
 | 
|          } else {
 | 
| @@ -104,10 +106,10 @@ void main() {
 | 
|    // TODO(johnniwinther): Libraries for the compilation seem to be more like
 | 
|    // URIs. Perhaps Path should have a toURI() method.
 | 
|    // Add all of the core libraries.
 | 
| -  final apidocLibraries = <Path>[];
 | 
| +  final apidocLibraries = <Uri>[];
 | 
|    LIBRARIES.forEach((String name, LibraryInfo info) {
 | 
|      if (info.documented) {
 | 
| -      apidocLibraries.add(new Path('dart:$name'));
 | 
| +      apidocLibraries.add(Uri.parse('dart:$name'));
 | 
|      }
 | 
|    });
 | 
|  
 | 
| @@ -130,7 +132,7 @@ void main() {
 | 
|        }
 | 
|  
 | 
|        if (new File.fromPath(libPath).existsSync()) {
 | 
| -        apidocLibraries.add(libPath);
 | 
| +        apidocLibraries.add(_pathToFileUri(libPath.toNativePath()));
 | 
|          includedLibraries.add(libName);
 | 
|        } else {
 | 
|          print('Warning: could not find package at $path');
 | 
| @@ -147,7 +149,7 @@ void main() {
 | 
|  
 | 
|      // TODO(amouravski): make apidoc use roughly the same flow as bin/dartdoc.
 | 
|      Future.wait([copiedStatic, copiedApiDocStatic, htmlDiff])
 | 
| -      .then((_) => apidoc.documentLibraries( apidocLibraries, libPath,
 | 
| +      .then((_) => apidoc.documentLibraries(apidocLibraries, libPath,
 | 
|              packageRoot))
 | 
|        .then((_) => compileScript(mode, outputDir, libPath))
 | 
|        .then((_) => print(apidoc.status))
 | 
| @@ -447,3 +449,14 @@ class Apidoc extends Dartdoc {
 | 
|      return a(memberUrl(member), memberName);
 | 
|    }
 | 
|  }
 | 
| +
 | 
| +/** Converts a local path string to a `file:` [Uri]. */
 | 
| +Uri _pathToFileUri(String path) {
 | 
| +  path = pathos.absolute(path);
 | 
| +  if (Platform.operatingSystem != 'windows') {
 | 
| +    return Uri.parse('file://$path');
 | 
| +  } else {
 | 
| +    return Uri.parse('file:///${path.replaceAll("\\", "/")}');
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| 
 |