| 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("\\", "/")}');
|
| + }
|
| +}
|
| +
|
|
|