From 686ca173848efb76e6c2f529bf448522987b708e Mon Sep 17 00:00:00 2001 From: keertip Date: Mon, 1 Dec 2014 09:00:55 -0800 Subject: [PATCH 1/4] process excludes --- lib/dartdoc.dart | 16 +++++++++++++--- lib/src/package_utils.dart | 25 +++++++++++++------------ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/lib/dartdoc.dart b/lib/dartdoc.dart index 1469b83fdb..1adc702c39 100644 --- a/lib/dartdoc.dart +++ b/lib/dartdoc.dart @@ -29,7 +29,6 @@ const String DEFAULT_OUTPUT_DIRECTORY = 'docs'; /// directory. class DartDoc { - //TODO(keertip): implement excludes List _excludes; Directory _rootDir; final CSS css = new CSS(); @@ -45,7 +44,16 @@ class DartDoc { Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); var files = findFilesToDocumentInPackage(_rootDir.path); - libraries.addAll(parseLibraries(files)); + List libs = []; + libs.addAll(parseLibraries(files)); + // remove excluded libraries + _excludes.forEach( + (pattern) => libs.removeWhere((l) => l.name.startsWith(pattern))); + libs.removeWhere( + (LibraryElement library) => _excludes.contains(library.name)); + libs.sort(elementCompare); + libraries.addAll(libs); + generator = new GeneratorHelper(libraries); // create the out directory out = new Directory(DEFAULT_OUTPUT_DIRECTORY); @@ -122,7 +130,9 @@ class DartDoc { html.startTag('div', attributes: "class='span3'"); html.startTag('ul', attributes: 'class="nav nav-tabs nav-stacked left-nav"'); html.startTag('li', attributes: 'class="active"', newLine: false); - html.write('' ' ' '${packageName}'); + html.write('' + ' ' + '${packageName}-${getPackageVersion(_rootDir.path)}'); html.endTag(); //li html.endTag(); //ul html.endTag(); diff --git a/lib/src/package_utils.dart b/lib/src/package_utils.dart index d17ce40dc2..02019f987e 100644 --- a/lib/src/package_utils.dart +++ b/lib/src/package_utils.dart @@ -2,7 +2,6 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. - library dartdoc.package_utils; import 'dart:io'; @@ -10,17 +9,19 @@ import 'dart:io'; import 'package:path/path.dart' as path; import 'package:yaml/yaml.dart'; - String getPackageName(String directoryName) => _getPubspec(directoryName)['name']; - Map _getPubspec(String directoryName) { - var pubspecName = path.join(directoryName, 'pubspec.yaml'); - File pubspec = new File(pubspecName); - if (!pubspec.existsSync()) return {'name': ''}; - var contents = pubspec.readAsStringSync(); - return loadYaml(contents); - } - - String getPackageDescription(String directoryName) => - _getPubspec(directoryName)['description']; \ No newline at end of file +Map _getPubspec(String directoryName) { + var pubspecName = path.join(directoryName, 'pubspec.yaml'); + File pubspec = new File(pubspecName); + if (!pubspec.existsSync()) return {'name': ''}; + var contents = pubspec.readAsStringSync(); + return loadYaml(contents); +} + +String getPackageDescription(String directoryName) => + _getPubspec(directoryName)['description']; + +String getPackageVersion(String directoryName) => + _getPubspec(directoryName)['version']; \ No newline at end of file From 52f2ad6a351b72ef71a8fc8ff96b1f1fc88f5522 Mon Sep 17 00:00:00 2001 From: keertip Date: Mon, 1 Dec 2014 09:39:36 -0800 Subject: [PATCH 2/4] added version info --- lib/dartdoc.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dartdoc.dart b/lib/dartdoc.dart index 1adc702c39..36aa5a7bb6 100644 --- a/lib/dartdoc.dart +++ b/lib/dartdoc.dart @@ -116,6 +116,7 @@ class DartDoc { void generatePackage() { var packageName = getPackageName(_rootDir.path); var packageDesc = getPackageDescription(_rootDir.path); + var packageVersion = getPackageVersion(_rootDir.path); if (packageName.isNotEmpty) { File f = joinFile(new Directory(out.path), ['${packageName}_package.html']); print('generating ${f.path}'); @@ -132,7 +133,7 @@ class DartDoc { html.startTag('li', attributes: 'class="active"', newLine: false); html.write('' ' ' - '${packageName}-${getPackageVersion(_rootDir.path)}'); + '${packageName}-${packageVersion}'); html.endTag(); //li html.endTag(); //ul html.endTag(); From 37e425af1f855aec5aa11f03e03e499cb4d04358 Mon Sep 17 00:00:00 2001 From: keertip Date: Mon, 1 Dec 2014 09:52:17 -0800 Subject: [PATCH 3/4] add prints to show work --- lib/dartdoc.dart | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/dartdoc.dart b/lib/dartdoc.dart index 36aa5a7bb6..10cd8ea8a1 100644 --- a/lib/dartdoc.dart +++ b/lib/dartdoc.dart @@ -87,6 +87,7 @@ class DartDoc { context.sourceFactory = sourceFactory; files.forEach((String filePath) { + print('parsing ${filePath}...'); Source source = new FileBasedSource.con1(new JavaFile(filePath)); if (context.computeKindOf(source) == SourceKind.LIBRARY) { LibraryElement library = context.computeLibraryElement(source); @@ -158,8 +159,6 @@ class DartDoc { } - - void generateLibrary(LibraryElement library) { File f = joinFile(new Directory(out.path), [getFileNameFor(library)]); print('generating ${f.path}'); @@ -176,18 +175,11 @@ class DartDoc { // left nav html.startTag('div', attributes: "class='span3'"); html.startTag('ul', attributes: 'class="nav nav-tabs nav-stacked left-nav"'); -// for (LibraryElement lib in libraries) { -// if (lib == library) { html.startTag('li', attributes: 'class="active"', newLine: false); - html.write('' ' ' '${library.name}'); -// } else { -// html.startTag('li', newLine: false); -// html.write('' -// ' ' -// '${lib.name}'); -// } + html.write('' + ' ' + '${library.name}'); html.endTag(); // li -// } html.endTag(); // ul.nav html.endTag(); // div.span3 From aca6d28e817f99397a3e94d7418873eb855f9f38 Mon Sep 17 00:00:00 2001 From: keertip Date: Mon, 1 Dec 2014 09:54:02 -0800 Subject: [PATCH 4/4] fix whitespace --- lib/src/package_utils.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/package_utils.dart b/lib/src/package_utils.dart index 02019f987e..c9c7f4a89f 100644 --- a/lib/src/package_utils.dart +++ b/lib/src/package_utils.dart @@ -24,4 +24,4 @@ String getPackageDescription(String directoryName) => _getPubspec(directoryName)['description']; String getPackageVersion(String directoryName) => - _getPubspec(directoryName)['version']; \ No newline at end of file + _getPubspec(directoryName)['version'];