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

Side by Side Diff: pkg/docgen/bin/docgen.dart

Issue 73113002: Generate docgen output along with api_docs as part of the build (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Changed where it's trying to upload to Created 7 years, 1 month 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
« no previous file with comments | « editor/build/build.py ('k') | pkg/docgen/bin/sdk-introduction.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import 'dart:io'; 5 import 'dart:io';
6 6
7 import 'package:args/args.dart'; 7 import 'package:args/args.dart';
8 import 'package:logging/logging.dart'; 8 import 'package:logging/logging.dart';
9 9
10 import '../lib/docgen.dart'; 10 import '../lib/docgen.dart';
11 import 'package:path/path.dart' as path; 11 import 'package:path/path.dart' as path;
12 12
13 List<String> excludedLibraries = [];
14
13 /** 15 /**
14 * Analyzes Dart files and generates a representation of included libraries, 16 * Analyzes Dart files and generates a representation of included libraries,
15 * classes, and members. 17 * classes, and members.
16 */ 18 */
17 void main(List<String> arguments) { 19 void main(List<String> arguments) {
18 logger.onRecord.listen((record) => print(record.message)); 20 logger.onRecord.listen((record) => print(record.message));
19 var results = _initArgParser().parse(arguments); 21 var results = _initArgParser().parse(arguments);
20 22
23 var includeSdk = results['parse-sdk'] || results['include-sdk'];
24 var scriptDir = path.dirname(Platform.script.toFilePath());
25 var introFile =
26 path.join(path.dirname(scriptDir), 'doc', 'sdk-introduction.md');
27 var introduction = includeSdk ? introFile : results['introduction'];
21 docgen(results.rest.map(path.normalize).toList(), 28 docgen(results.rest.map(path.normalize).toList(),
22 packageRoot: results['package-root'], 29 packageRoot: results['package-root'],
23 outputToYaml: !results['json'], 30 outputToYaml: !results['json'],
24 includePrivate: results['include-private'], 31 includePrivate: results['include-private'],
25 includeSdk: results['parse-sdk'] || results['include-sdk'], 32 includeSdk: includeSdk,
26 parseSdk: results['parse-sdk'], 33 parseSdk: results['parse-sdk'],
27 append: results['append'] && new Directory('docs').existsSync(), 34 append: results['append'] && new Directory(results['out']).existsSync(),
28 introduction: (results['parse-sdk'] || results['include-sdk']) ? 35 introduction: introduction,
29 'sdk-introduction.md' : results['introduction']); 36 out: results['out'],
37 excludeLibraries: excludedLibraries);
30 } 38 }
31 39
32 /** 40 /**
33 * Creates parser for docgen command line arguments. 41 * Creates parser for docgen command line arguments.
34 */ 42 */
35 ArgParser _initArgParser() { 43 ArgParser _initArgParser() {
36 var parser = new ArgParser(); 44 var parser = new ArgParser();
37 parser.addFlag('help', abbr: 'h', 45 parser.addFlag('help', abbr: 'h',
38 help: 'Prints help and usage information.', 46 help: 'Prints help and usage information.',
39 negatable: false, 47 negatable: false,
(...skipping 22 matching lines...) Expand all
62 help: 'Parses the SDK libraries only.', 70 help: 'Parses the SDK libraries only.',
63 defaultsTo: false, negatable: false); 71 defaultsTo: false, negatable: false);
64 parser.addOption('package-root', 72 parser.addOption('package-root',
65 help: 'Sets the package root of the library being analyzed.'); 73 help: 'Sets the package root of the library being analyzed.');
66 parser.addFlag('append', 74 parser.addFlag('append',
67 help: 'Append to the docs folder, library_list.json and index.txt', 75 help: 'Append to the docs folder, library_list.json and index.txt',
68 defaultsTo: false, negatable: false); 76 defaultsTo: false, negatable: false);
69 parser.addOption('introduction', 77 parser.addOption('introduction',
70 help: 'Adds the provided markdown text file as the introduction' 78 help: 'Adds the provided markdown text file as the introduction'
71 ' for the outputted documentation.', defaultsTo: ''); 79 ' for the outputted documentation.', defaultsTo: '');
72 80 parser.addOption('out',
81 help: 'The name of the output directory.',
82 defaultsTo: 'docs');
83 parser.addOption('exclude-lib',
84 help: 'Exclude the library by this name from the documentation',
85 allowMultiple: true,
86 callback: (libs) => excludedLibraries.addAll(libs));
73 return parser; 87 return parser;
74 } 88 }
OLDNEW
« no previous file with comments | « editor/build/build.py ('k') | pkg/docgen/bin/sdk-introduction.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698