Index: pkg/docgen/lib/src/generator.dart |
diff --git a/pkg/docgen/lib/src/generator.dart b/pkg/docgen/lib/src/generator.dart |
index e1478ff04ee7e51dc2d0eae3b9d241cabaa47684..236619dab0b05984e358f6df8e0a50098caea5df 100644 |
--- a/pkg/docgen/lib/src/generator.dart |
+++ b/pkg/docgen/lib/src/generator.dart |
@@ -24,7 +24,6 @@ import '../../../../sdk/lib/_internal/compiler/implementation/mirrors/source_mir |
import '../../../../sdk/lib/_internal/compiler/implementation/source_file_provider.dart'; |
import '../../../../sdk/lib/_internal/libraries.dart'; |
-import 'dart2yaml.dart'; |
import 'io.dart'; |
import 'library_helpers.dart'; |
import 'models.dart'; |
@@ -62,7 +61,7 @@ String _dartBinary; |
/// Returned Future completes with true if document generation is successful. |
Future<bool> generateDocumentation(List<String> files, {String packageRoot, bool |
outputToYaml: true, bool includePrivate: false, bool includeSdk: false, bool |
- parseSdk: false, bool append: false, String introFileName: '', out: |
+ parseSdk: false, String introFileName: '', out: |
DEFAULT_OUTPUT_DIRECTORY, List<String> excludeLibraries: const [], bool |
includeDependentPackages: false, String startPage, String dartBinary, String |
pubScript}) { |
@@ -72,7 +71,7 @@ Future<bool> generateDocumentation(List<String> files, {String packageRoot, bool |
logger.onRecord.listen((record) => print(record.message)); |
- _ensureOutputDirectory(out, append); |
+ _ensureOutputDirectory(out); |
var updatedPackageRoot = _obtainPackageRoot(packageRoot, parseSdk, files); |
var requestedLibraries = _findLibrariesToDocument(files, |
@@ -105,8 +104,7 @@ Future<bool> generateDocumentation(List<String> files, {String packageRoot, bool |
librariesToDocument.removeWhere((x) => _excluded.contains( |
dart2js_util.nameOf(x))); |
_documentLibraries(librariesToDocument, includeSdk: includeSdk, |
- outputToYaml: outputToYaml, append: append, parseSdk: parseSdk, |
- introFileName: introFileName, startPage: startPage); |
+ parseSdk: parseSdk, introFileName: introFileName, startPage: startPage); |
return true; |
}); |
} |
@@ -134,7 +132,7 @@ Future<MirrorSystem> getMirrorSystem(List<Uri> libraries, |
} |
/// Writes [text] to a file in the output directory. |
-void _writeToFile(String text, String filename, {bool append: false}) { |
+void _writeToFile(String text, String filename) { |
if (text == null) return; |
Directory dir = new Directory(_outputDirectory); |
if (!dir.existsSync()) { |
@@ -154,7 +152,7 @@ void _writeToFile(String text, String filename, {bool append: false}) { |
} |
} |
File file = new File(path.join(_outputDirectory, filename)); |
- file.writeAsStringSync(text, mode: append ? FileMode.APPEND : FileMode.WRITE); |
+ file.writeAsStringSync(text, mode: FileMode.WRITE); |
} |
/// Resolve all the links in the introductory comments for a given library or |
@@ -188,9 +186,8 @@ int _indexableComparer(Indexable a, Indexable b) { |
} |
/// Creates documentation for filtered libraries. |
-void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false, bool |
- outputToYaml: true, bool append: false, bool parseSdk: false, String |
- introFileName: '', String startPage}) { |
+void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false, |
+ bool parseSdk: false, String introFileName: '', String startPage}) { |
libs.forEach((lib) { |
// Files belonging to the SDK have a uri that begins with 'dart:'. |
if (includeSdk || !lib.uri.toString().startsWith('dart:')) { |
@@ -214,45 +211,26 @@ void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false, bool |
// Outputs a JSON file with all libraries and their preview comments. |
// This will help the viewer know what libraries are available to read in. |
- Map<String, dynamic> libraryMap; |
- |
- if (append) { |
- var docsDir = listDir(_outputDirectory); |
- if (!docsDir.contains('$_outputDirectory/library_list.json')) { |
- throw new StateError('No library_list.json'); |
- } |
- libraryMap = JSON.decode(new File('$_outputDirectory/library_list.json' |
- ).readAsStringSync()); |
- libraryMap['libraries'].addAll(filteredEntities.where((e) => e is Library |
- ).map((e) => e.previewMap)); |
- var intro = libraryMap['introduction']; |
- var spacing = intro.isEmpty ? '' : '<br/><br/>'; |
- libraryMap['introduction'] = |
- "$intro$spacing${_readIntroductionFile(introFileName, includeSdk)}"; |
- outputToYaml = libraryMap['filetype'] == 'yaml'; |
- } else { |
- libraryMap = { |
+ Map<String, dynamic> libraryMap = { |
'libraries': filteredEntities.where((e) => e is Library).map((e) => |
e.previewMap).toList(), |
'introduction': _readIntroductionFile(introFileName, includeSdk), |
- 'filetype': outputToYaml ? 'yaml' : 'json' |
+ 'filetype': 'json' |
}; |
- } |
- _writeOutputFiles(libraryMap, filteredEntities, outputToYaml, append, |
- startPage); |
+ _writeOutputFiles(libraryMap, filteredEntities, startPage); |
} |
-/// Output all of the libraries and classes into json or yaml files for |
-/// consumption by a viewer. |
+/// Output all of the libraries and classes into json files for consumption by a |
+/// viewer. |
void _writeOutputFiles(Map<String, dynamic> libraryMap, Iterable<Indexable> |
- filteredEntities, bool outputToYaml, bool append, String startPage) { |
+ filteredEntities, String startPage) { |
if (startPage != null) libraryMap['start-page'] = startPage; |
_writeToFile(JSON.encode(libraryMap), 'library_list.json'); |
// Output libraries and classes to file after all information is generated. |
filteredEntities.where((e) => e is Class || e is Library).forEach((output) { |
- _writeIndexableToFile(output, outputToYaml); |
+ _writeIndexableToFile(output); |
}); |
// Outputs all the qualified names documented with their type. |
@@ -260,40 +238,26 @@ void _writeOutputFiles(Map<String, dynamic> libraryMap, Iterable<Indexable> |
var sortedEntities = filteredEntities.map((e) => |
'${e.qualifiedName} ${e.typeName}').toList()..sort(); |
- _writeToFile(sortedEntities.join('\n') + '\n', 'index.txt', append: append); |
+ _writeToFile(sortedEntities.join('\n') + '\n', 'index.txt'); |
var index = new SplayTreeMap.fromIterable(filteredEntities, |
key: (e) => e.qualifiedName, value: (e) => e.typeName); |
- if (append) { |
- var previousIndex = JSON.decode(new File('$_outputDirectory/index.json' |
- ).readAsStringSync()); |
- index.addAll(previousIndex); |
- } |
_writeToFile(JSON.encode(index), 'index.json'); |
} |
/// Helper method to serialize the given Indexable out to a file. |
-void _writeIndexableToFile(Indexable result, bool outputToYaml) { |
- var outputFile = result.fileName; |
- var output; |
- if (outputToYaml) { |
- output = getYamlString(result.toMap()); |
- outputFile = outputFile + '.yaml'; |
- } else { |
- output = JSON.encode(result.toMap()); |
- outputFile = outputFile + '.json'; |
- } |
+void _writeIndexableToFile(Indexable result) { |
+ var outputFile = result.fileName + '.json'; |
+ var output = JSON.encode(result.toMap()); |
_writeToFile(output, outputFile); |
} |
/// Set the location of the ouput directory, and ensure that the location is |
/// available on the file system. |
-void _ensureOutputDirectory(String outputDirectory, bool append) { |
+void _ensureOutputDirectory(String outputDirectory) { |
_outputDirectory = outputDirectory; |
- if (!append) { |
- var dir = new Directory(_outputDirectory); |
- if (dir.existsSync()) dir.deleteSync(recursive: true); |
- } |
+ var dir = new Directory(_outputDirectory); |
+ if (dir.existsSync()) dir.deleteSync(recursive: true); |
} |
/// Analyzes set of libraries and provides a mirror system which can be used |
@@ -326,8 +290,8 @@ Future<MirrorSystem> analyzeLibraries(List<Uri> libraries, String |
/// |
/// If packageRoot is not explicitly passed, we examine the files we're |
/// documenting to attempt to find a package root. |
-String _obtainPackageRoot(String packageRoot, bool parseSdk, List<String> files) |
- { |
+String _obtainPackageRoot(String packageRoot, bool parseSdk, |
+ List<String> files) { |
if (packageRoot == null && !parseSdk) { |
var type = FileSystemEntity.typeSync(files.first); |
if (type == FileSystemEntityType.DIRECTORY) { |