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

Side by Side Diff: utils/apidoc/apidoc.dart

Issue 12613008: Remove pkg from apidoc. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * This generates the reference documentation for the core libraries that come 6 * This generates the reference documentation for the core libraries that come
7 * with dart. It is built on top of dartdoc, which is a general-purpose library 7 * with dart. It is built on top of dartdoc, which is a general-purpose library
8 * for generating docs from any Dart code. This library extends that to include 8 * for generating docs from any Dart code. This library extends that to include
9 * additional information and styling specific to our standard library. 9 * additional information and styling specific to our standard library.
10 * 10 *
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 // TODO(johnniwinther): Libraries for the compilation seem to be more like 101 // TODO(johnniwinther): Libraries for the compilation seem to be more like
102 // URIs. Perhaps Path should have a toURI() method. 102 // URIs. Perhaps Path should have a toURI() method.
103 // Add all of the core libraries. 103 // Add all of the core libraries.
104 final apidocLibraries = <Path>[]; 104 final apidocLibraries = <Path>[];
105 LIBRARIES.forEach((String name, LibraryInfo info) { 105 LIBRARIES.forEach((String name, LibraryInfo info) {
106 if (info.documented) { 106 if (info.documented) {
107 apidocLibraries.add(new Path('dart:$name')); 107 apidocLibraries.add(new Path('dart:$name'));
108 } 108 }
109 }); 109 });
110 110
111 var lister = new Directory.fromPath(doc.scriptDir.append('../../pkg')).list(); 111 print('Generating docs...');
112 lister.listen( 112 final apidoc = new Apidoc(mdn, outputDir, mode, generateAppCache,
113 (entity) { 113 excludedLibraries, version);
114 if (entity is Directory) { 114 apidoc.dartdocPath =
115 var path = new Path(entity.path); 115 doc.scriptDir.append('../../sdk/lib/_internal/dartdoc/');
116 var libName = path.filename; 116 // Select the libraries to include in the produced documentation:
117 apidoc.includeApi = true;
118 apidoc.includedLibraries = includedLibraries;
117 119
118 // Ignore hidden directories (like .svn) as well as pkg.xcodeproj. 120 Future.wait([copiedStatic, copiedApiDocStatic, htmlDiff]).then((_) {
119 if (libName.startsWith('.') || libName.endsWith('.xcodeproj')) { 121 Future<bool> documented =
120 return; 122 apidoc.documentLibraries(apidocLibraries, libPath, pkgPath);
121 }
122 123
123 // TODO(rnystrom): Get rid of oldStylePath support when all 124 documented.then((_) {
124 // packages are using new layout. See #5106. 125 final compiled = doc.compileScript(mode, outputDir, libPath);
125 var oldStylePath = path.append('${libName}.dart');
126 var newStylePath = path.append('lib/${libName}.dart');
127 126
128 if (new File.fromPath(oldStylePath).existsSync()) { 127 Future.wait([compiled]).then((_) {
129 apidocLibraries.add(oldStylePath); 128 apidoc.cleanup();
130 includedLibraries.add(libName);
131 } else if (new File.fromPath(newStylePath).existsSync()) {
132 apidocLibraries.add(newStylePath);
133 includedLibraries.add(libName);
134 } else {
135 print('Warning: could not find package at $path');
136 }
137 }
138 },
139 onDone: () {
140 print('Generating docs...');
141 final apidoc = new Apidoc(mdn, outputDir, mode, generateAppCache,
142 excludedLibraries, version);
143 apidoc.dartdocPath =
144 doc.scriptDir.append('../../sdk/lib/_internal/dartdoc/');
145 // Select the libraries to include in the produced documentation:
146 apidoc.includeApi = true;
147 apidoc.includedLibraries = includedLibraries;
148
149 Future.wait([copiedStatic, copiedApiDocStatic, htmlDiff]).then((_) {
150 Future<bool> documented =
151 apidoc.documentLibraries(apidocLibraries, libPath, pkgPath);
152
153 documented.then((_) {
154 final compiled = doc.compileScript(mode, outputDir, libPath);
155
156 Future.wait([compiled]).then((_) {
157 apidoc.cleanup();
158 });
159 }, onError: (AsyncError asyncError) {
160 print('Generation failed: ${asyncError.error}');
161 apidoc.cleanup();
162 });
163 });
164 }); 129 });
130 }, onError: (AsyncError asyncError) {
131 print('Generation failed: ${asyncError.error}');
132 apidoc.cleanup();
133 });
134 });
165 } 135 }
166 136
167 class Apidoc extends doc.Dartdoc { 137 class Apidoc extends doc.Dartdoc {
168 /** Big ball of JSON containing the scraped MDN documentation. */ 138 /** Big ball of JSON containing the scraped MDN documentation. */
169 final Map mdn; 139 final Map mdn;
170 140
171 141
172 // A set of type names (TypeMirror.simpleName values) to ignore while 142 // A set of type names (TypeMirror.simpleName values) to ignore while
173 // looking up information from MDN data. TODO(eub, jacobr): fix up the MDN 143 // looking up information from MDN data. TODO(eub, jacobr): fix up the MDN
174 // import scripts so they run correctly and generate data that doesn't have 144 // import scripts so they run correctly and generate data that doesn't have
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 final typeName = member.owner.simpleName; 415 final typeName = member.owner.simpleName;
446 var memberName = '$typeName.${member.simpleName}'; 416 var memberName = '$typeName.${member.simpleName}';
447 if (member is MethodMirror && (member.isConstructor || member.isFactory)) { 417 if (member is MethodMirror && (member.isConstructor || member.isFactory)) {
448 final separator = member.constructorName == '' ? '' : '.'; 418 final separator = member.constructorName == '' ? '' : '.';
449 memberName = 'new $typeName$separator${member.constructorName}'; 419 memberName = 'new $typeName$separator${member.constructorName}';
450 } 420 }
451 421
452 return a(memberUrl(member), memberName); 422 return a(memberUrl(member), memberName);
453 } 423 }
454 } 424 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698