Skip to content

Commit

Permalink
Update Flutter to use the latest dartdoc
Browse files Browse the repository at this point in the history
Now that dart-lang/dartdoc#1236 is fixed.
  • Loading branch information
abarth committed Jan 11, 2017
1 parent a0666f3 commit ac1a33c
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 10 deletions.
26 changes: 23 additions & 3 deletions dev/bots/docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,35 @@
set -e

# Install dartdoc.
# Versions after 0.9.7+1 suffer from https://github.com/dart-lang/dartdoc/issues/1236
# so are we pinned to this old version until that bug is fixed.
pub global activate dartdoc 0.9.7+1
pub global activate dartdoc 0.9.9

# This script generates a unified doc set, and creates
# a custom index.html, placing everything into dev/docs/doc
(cd dev/tools; pub get)
FLUTTER_ROOT=$PWD dart dev/tools/dartdoc.dart

# Smoke test the docs to make sure we have all the major kinds of things.

if [[ ! -f dev/docs/doc/flutter/widgets/Widget/Widget.html ]]; then
echo 'Failed to find documentation for Widget class. Are the docs complete?'
exit 1
fi

if [[ ! -f dev/docs/doc/flutter/dart-io/File/File.html ]]; then
echo 'Failed to find documentation for File class. Are the docs complete?'
exit 1
fi

if [[ ! -f dev/docs/doc/flutter/dart-ui/Canvas/drawRect.html ]]; then
echo 'Failed to find documentation for Canvas.drawRect. Are the docs complete?'
exit 1
fi

if [[ ! -f dev/docs/doc/flutter/flutter_test/WidgetTester/pumpWidget.html ]]; then
echo 'Failed to find documentation for WidgetTester.pumpWidget. Are the docs complete?'
exit 1
fi

# Ensure google webmaster tools can verify our site.
cp dev/docs/google2ed1af765c529f57.html dev/docs/doc

Expand Down
20 changes: 13 additions & 7 deletions dev/tools/dartdoc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,14 @@ dependencies:
'global', 'run', 'dartdoc',
'--header', 'styles.html',
'--header', 'analytics.html',
'--dart-sdk', '../../bin/cache/dart-sdk',
'--exclude', 'temp_doc',
'--favicon=favicon.ico',
'--use-categories'
];

for (String libraryRef in libraryRefs()) {
String name = path.basename(libraryRef);
for (String libraryRef in libraryRefs(diskPath: true)) {
args.add('--include-external');
args.add(name.substring(0, name.length - 5));
args.add(libraryRef);
}

process = await Process.start('pub', args, workingDirectory: 'dev/docs');
Expand Down Expand Up @@ -145,6 +143,7 @@ List<String> findPackageNames() {
return findPackages().map((Directory dir) => path.basename(dir.path)).toList();
}

/// Finds all packages in the Flutter SDK
List<Directory> findPackages() {
return new Directory('packages')
.listSync()
Expand All @@ -158,12 +157,19 @@ List<Directory> findPackages() {
.toList();
}

Iterable<String> libraryRefs() sync* {
/// Returns import or on-disk paths for all libraries in the Flutter SDK.
///
/// diskPath toggles between import paths vs. disk paths.
Iterable<String> libraryRefs({ bool diskPath: false }) sync* {
for (Directory dir in findPackages()) {
String dirName = path.basename(dir.path);
for (FileSystemEntity file in new Directory('${dir.path}/lib').listSync()) {
if (file is File && file.path.endsWith('.dart'))
yield '$dirName/${path.basename(file.path)}';
if (file is File && file.path.endsWith('.dart')) {
if (diskPath)
yield '$dirName/lib/${path.basename(file.path)}';
else
yield '$dirName/${path.basename(file.path)}';
}
}
}
}
Expand Down

0 comments on commit ac1a33c

Please sign in to comment.