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

Unified Diff: pkg/docgen/lib/docgen.dart

Issue 18653005: Docgen returning a future (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/docgen/lib/docgen.dart
diff --git a/pkg/docgen/lib/docgen.dart b/pkg/docgen/lib/docgen.dart
index dd5ae22b2663fbe0bd14208532c462bd02d033c5..76cb0bb6299763dfc982b338b18e3a770246973f 100644
--- a/pkg/docgen/lib/docgen.dart
+++ b/pkg/docgen/lib/docgen.dart
@@ -59,18 +59,28 @@ markdown.Resolver linkResolver;
* also be documented.
* If [parseSdk] is 'true', then all Dart SDK libraries will be documented.
* This option is useful when only the SDK libraries are needed.
+ *
+ * Returns true if docgen sucessfuly completes.
Andrei Mouravski 2013/07/03 23:41:38 Just for the future, we wrap "true" and "false" wi
*/
-void docgen(List<String> files, {String packageRoot, bool outputToYaml: true,
- bool includePrivate: false, bool includeSdk: false, bool parseSdk: false}) {
+Future<bool> docgen(List<String> files, {String packageRoot,
+ bool outputToYaml: true, bool includePrivate: false, bool includeSdk: false,
+ bool parseSdk: false}) {
if (packageRoot == null && !parseSdk) {
- packageRoot = _findPackageRoot(files.first);
+ // TODO(janicejl): At the moment, if a single file is passed it, it is
+ // assumed that it does not have a package root unless it is passed in by
+ // the user. In future, find a better way to find the packageRoot and also
+ // fully test finding the packageRoot.
+ if (FileSystemEntity.typeSync(files.first)
+ == FileSystemEntityType.DIRECTORY) {
+ packageRoot = _findPackageRoot(files.first);
+ }
}
logger.info('Package Root: ${packageRoot}');
linkResolver = (name) =>
fixReference(name, _currentLibrary, _currentClass, _currentMember);
- getMirrorSystem(files, packageRoot, parseSdk: parseSdk)
+ return getMirrorSystem(files, packageRoot, parseSdk: parseSdk)
.then((MirrorSystem mirrorSystem) {
if (mirrorSystem.libraries.isEmpty) {
throw new StateError('No library mirrors were created.');
@@ -78,6 +88,8 @@ void docgen(List<String> files, {String packageRoot, bool outputToYaml: true,
_documentLibraries(mirrorSystem.libraries.values,
includeSdk: includeSdk, includePrivate: includePrivate,
outputToYaml: outputToYaml);
+
+ return true;
});
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698