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

Unified Diff: sdk/lib/_internal/dartdoc/lib/dartdoc.dart

Issue 19500013: Use path package in dartdoc (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 5 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 | « sdk/lib/_internal/dartdoc/bin/dartdoc.dart ('k') | sdk/lib/_internal/dartdoc/lib/src/dart2js_mirrors.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/_internal/dartdoc/lib/dartdoc.dart
===================================================================
--- sdk/lib/_internal/dartdoc/lib/dartdoc.dart (revision 25311)
+++ sdk/lib/_internal/dartdoc/lib/dartdoc.dart (working copy)
@@ -22,7 +22,7 @@
import 'dart:json' as json;
import 'dart:math';
-import 'package:path/path.dart' as pathos;
+import 'package:path/path.dart' as path;
import 'classify.dart';
import 'markdown.dart' as md;
@@ -70,14 +70,13 @@
*/
// TODO(johnniwinther): Convert to final (lazily initialized) variables when
// the feature is supported.
-Path get scriptDir =>
- new Path(Platform.script).directoryPath;
+String get scriptDir => path.dirname(Platform.script);
/**
* Deletes and recreates the output directory at [path] if it exists.
*/
-void cleanOutputDirectory(Path path) {
- final outputDir = new Directory.fromPath(path);
+void cleanOutputDirectory(String path) {
+ final outputDir = new Directory(path);
if (outputDir.existsSync()) {
outputDir.deleteSync(recursive: true);
}
@@ -99,20 +98,20 @@
* Note: runs asynchronously, so you won't see any files copied until after the
* event loop has had a chance to pump (i.e. after `main()` has returned).
*/
-Future copyDirectory(Path from, Path to) {
+Future copyDirectory(String from, String to) {
print('Copying static files...');
final completer = new Completer();
- final fromDir = new Directory.fromPath(from);
+ final fromDir = new Directory(from);
var futureList = [];
fromDir.list(recursive: false).listen(
(FileSystemEntity entity) {
if (entity is File) {
- final name = new Path(entity.path).filename;
+ final name = path.basename(entity.path);
// TODO(rnystrom): Hackish. Ignore 'hidden' files like .DS_Store.
if (name.startsWith('.')) return;
File fromFile = entity;
- File toFile = new File.fromPath(to.append(name));
+ File toFile = new File(path.join(to, name));
futureList.add(fromFile.openRead().pipe(toFile.openWrite()));
}
},
@@ -124,20 +123,18 @@
/**
* Compiles the dartdoc client-side code to JavaScript using Dart2js.
*/
-Future compileScript(int mode, Path outputDir, Path libPath, String tmpPath) {
+Future compileScript(int mode, String outputDir, String libPath, String tmpPath) {
print('Compiling client JavaScript...');
var clientScript = (mode == MODE_STATIC) ? 'static' : 'live-nav';
- var dartdocLibPath = pathos.join(libPath.toNativePath(),
- 'lib', '_internal', 'dartdoc', 'lib');
+ var dartdocLibPath = path.join(libPath, 'lib', '_internal', 'dartdoc', 'lib');
var dartPath = mode == MODE_STATIC ?
- pathos.join(tmpPath, 'client.dart') :
- pathos.join(dartdocLibPath, 'src', 'client', 'client-live-nav.dart');
+ path.join(tmpPath, 'client.dart') :
+ path.join(dartdocLibPath, 'src', 'client', 'client-live-nav.dart');
- var jsPath = pathos.join(outputDir.toNativePath(),
- 'client-$clientScript.js');
+ var jsPath = path.join(outputDir, 'client-$clientScript.js');
return dart2js.compile(
- new Path(dartPath), libPath,
+ dartPath, libPath,
options: const <String>['--categories=Client,Server', '--minify'])
.then((jsCode) {
if (jsCode == null) throw new StateError("No javascript was generated.");
@@ -208,10 +205,10 @@
bool generateAppCache = false;
/** Path to the dartdoc directory. */
- Path dartdocPath;
+ String dartdocPath;
/** Path to generate HTML files into. */
- Path outputDir = new Path('docs');
+ String outputDir = 'docs';
/**
* The title used for the overall generated output. Set this to change it.
@@ -300,7 +297,7 @@
MemberMirror _currentMember;
/** The path to the file currently being written to, relative to [outdir]. */
- Path _filePath;
+ String _filePath;
/** The file currently being written to. */
StringBuffer _file;
@@ -428,24 +425,24 @@
return content;
}
- Future documentLibraries(List<Uri> libraryList, Path libPath,
+ Future documentLibraries(List<Uri> libraryList, String libPath,
String packageRoot) {
_packageRoot = packageRoot;
_exports = new ExportMap.parse(libraryList, packageRoot);
var librariesToAnalyze = _exports.allExportedFiles.toList();
librariesToAnalyze.addAll(libraryList.map((uri) {
- if (uri.scheme == 'file') return pathos.fromUri(uri);
+ if (uri.scheme == 'file') return path.fromUri(uri);
// dart2js takes "dart:*" URIs as Path objects for some reason.
return uri.toString();
}));
- var packageRootPath = packageRoot == null ? null : new Path(packageRoot);
+ var packageRootPath = packageRoot == null ? null : packageRoot;
// TODO(amouravski): make all of these print statements into logging
// statements.
print('Analyzing libraries...');
return dart2js.analyze(
- librariesToAnalyze.map((path) => new Path(path)).toList(), libPath,
+ librariesToAnalyze.toList(), libPath,
packageRoot: packageRootPath, options: COMPILER_OPTIONS)
.then((MirrorSystem mirrors) {
print('Generating documentation...');
@@ -466,10 +463,10 @@
_librariesByPath = <String, LibraryMirror>{};
for (var library in mirrors.libraries.values) {
- var path = _libraryPath(library);
- if (path == null) continue;
- path = pathos.normalize(pathos.absolute(path));
- _librariesByPath[path] = library;
+ var libraryPath = _libraryPath(library);
+ if (libraryPath == null) continue;
+ libraryPath = path.normalize(path.absolute(libraryPath));
+ _librariesByPath[libraryPath] = library;
}
_hiddenLibraryExports = _generateHiddenLibraryExports();
@@ -589,13 +586,13 @@
MdnComment lookupMdnComment(Mirror mirror) => null;
void startFile(String path) {
- _filePath = new Path(path);
+ _filePath = path;
_file = new StringBuffer();
}
void endFile() {
- final outPath = outputDir.join(_filePath);
- final dir = new Directory.fromPath(outPath.directoryPath);
+ final outPath = path.join(outputDir, _filePath);
+ final dir = new Directory(path.dirname(outPath));
if (!dir.existsSync()) {
// TODO(3914): Hack to avoid 'file already exists' exception
// thrown due to invalid result from dir.existsSync() (probably due to
@@ -607,7 +604,7 @@
}
}
- writeString(new File.fromPath(outPath), _file.toString());
+ writeString(new File(outPath), _file.toString());
_filePath = null;
_file = null;
}
@@ -771,17 +768,17 @@
/// Whether dartdoc is running from within the Dart SDK or the
/// Dart source repository.
bool get runningFromSdk =>
- pathos.extension(Platform.script) == '.snapshot';
+ path.extension(Platform.script) == '.snapshot';
/// Gets the path to the root directory of the SDK.
String get sdkDir =>
- pathos.dirname(pathos.dirname(Platform.executable));
+ path.dirname(path.dirname(Platform.executable));
/// Gets the path to the dartdoc directory normalized for running in different
/// places.
- String get normalizedDartdocPath => pathos.normalize(
- pathos.absolute(runningFromSdk ?
- pathos.join(sdkDir, 'lib', '_internal', 'dartdoc') :
+ String get normalizedDartdocPath => path.normalize(
+ path.absolute(runningFromSdk ?
+ path.join(sdkDir, 'lib', '_internal', 'dartdoc') :
dartdocPath.toString()));
void docNavigationDart() {
@@ -791,16 +788,16 @@
}
String jsonString = json.stringify(createNavigationInfo());
String dartString = jsonString.replaceAll(r"$", r"\$");
- var filePath = pathos.join(tmpPath, 'client.dart');
+ var filePath = path.join(tmpPath, 'client.dart');
- var clientDir = pathos.join(normalizedDartdocPath,'lib', 'src', 'client');
+ var clientDir = path.join(normalizedDartdocPath,'lib', 'src', 'client');
writeString(new File(filePath),
'''library client;
import 'dart:html';
import 'dart:json';
- import r'${pathos.toUri(pathos.join(clientDir, 'client-shared.dart'))}';
- import r'${pathos.toUri(pathos.join(clientDir, 'dropdown.dart'))}';
+ import r'${path.toUri(path.join(clientDir, 'client-shared.dart'))}';
+ import r'${path.toUri(path.join(clientDir, 'dropdown.dart'))}';
main() {
setup();
« no previous file with comments | « sdk/lib/_internal/dartdoc/bin/dartdoc.dart ('k') | sdk/lib/_internal/dartdoc/lib/src/dart2js_mirrors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698