Index: sdk/lib/_internal/dartdoc/lib/dartdoc.dart |
diff --git a/sdk/lib/_internal/dartdoc/lib/dartdoc.dart b/sdk/lib/_internal/dartdoc/lib/dartdoc.dart |
index dfc0f457bde7c3b2608f2be37d42e7af33a4fc03..76638b97527cf89a6617679fb58e9e20f2f28a69 100644 |
--- a/sdk/lib/_internal/dartdoc/lib/dartdoc.dart |
+++ b/sdk/lib/_internal/dartdoc/lib/dartdoc.dart |
@@ -783,30 +783,47 @@ class Dartdoc { |
endFile(); |
} |
+ /// Whether dartdoc is running from within the Dart SDK or the |
+ /// Dart source repository. |
+ bool get runningFromSdk => pathos.extension(new Options().script) == |
+ '.snapshot'; |
nweiz
2013/06/04 22:54:00
This overflow is kind of ugly. Just put the entire
Andrei Mouravski
2013/06/05 00:18:49
Done.
|
+ |
+ /// Gets the path to the root directory of the SDK. |
+ String get rootDirectory { |
+ return pathos.dirname(pathos.dirname(new Options().executable)); |
nweiz
2013/06/04 22:54:00
Style nit: use "=>"
Andrei Mouravski
2013/06/05 00:18:49
Done.
|
+ } |
+ |
+ /// Gets the path to the dartdoc directory normalized for running in different |
+ /// places. |
nweiz
2013/06/04 22:54:00
What is "the dartdoc directory"? The directory con
Andrei Mouravski
2013/06/05 00:18:49
Done.
|
+ String get normalizedDartdocPath => runningFromSdk ? |
nweiz
2013/06/04 22:54:00
Why aren't you using this in bin/dartdoc to get at
Andrei Mouravski
2013/06/05 00:18:49
Done.
|
+ pathos.join(rootDirectory, 'lib', '_internal', 'dartdoc') : |
+ dartdocPath.toString(); |
+ |
+ String get tmpPath => pathos.join(normalizedDartdocPath, 'tmp'); |
dgrove
2013/06/04 22:51:42
How will this work in the SDK when dart-sdk/lib/_i
nweiz
2013/06/04 22:54:00
Document this.
Also, why is your temp path in you
Andrei Mouravski
2013/06/05 00:18:49
Will be addressed in next CL.
Andrei Mouravski
2013/06/05 00:18:49
Done.
|
+ |
void docNavigationDart() { |
- final dir = new Directory.fromPath(tmpPath); |
- if (!dir.existsSync()) { |
+ var tmpDir = new Directory(tmpPath); |
+ if (!tmpDir.existsSync()) { |
// TODO(3914): Hack to avoid 'file already exists' exception |
// thrown due to invalid result from dir.existsSync() (probably due to |
// race conditions). |
try { |
- dir.createSync(); |
+ tmpDir.createSync(); |
} on DirectoryIOException catch (e) { |
// Ignore. |
} |
} |
String jsonString = json.stringify(createNavigationInfo()); |
String dartString = jsonString.replaceAll(r"$", r"\$"); |
- final filePath = tmpPath.append('nav.dart'); |
- writeString(new File.fromPath(filePath), |
+ |
+ var navPath = pathos.join(tmpPath, 'nav.dart'); |
+ writeString(new File(navPath), |
'''part of client; |
- get json => $dartString;'''); |
+ get json => $dartString;'''); |
} |
- Path get tmpPath => dartdocPath.append('tmp'); |
- |
void cleanup() { |
- final dir = new Directory.fromPath(tmpPath); |
+ final dir = new Directory(tmpPath); |
if (dir.existsSync()) { |
dir.deleteSync(recursive: true); |
} |