From d5fcb7b4ea08676d0a8befdb923b4480ac7d99e8 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Tue, 4 Aug 2015 16:13:58 -0700 Subject: [PATCH] Add a few bits of documentation to package:sky I can't really make further progress until at least: https://github.com/dart-lang/dartdoc/issues/766 is resolved, ideally also: https://github.com/dart-lang/dartdoc/issues/763 @abarth --- engine/src/flutter/sky/tools/skydoc.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/engine/src/flutter/sky/tools/skydoc.py b/engine/src/flutter/sky/tools/skydoc.py index 05e7cf4f474..172e888c69d 100755 --- a/engine/src/flutter/sky/tools/skydoc.py +++ b/engine/src/flutter/sky/tools/skydoc.py @@ -7,17 +7,17 @@ import argparse import os import subprocess import sys +import webbrowser +from skypy.url_mappings import URLMappings SKY_TOOLS_DIR = os.path.dirname(os.path.abspath(__file__)) SKY_ROOT = os.path.dirname(SKY_TOOLS_DIR) SRC_ROOT = os.path.dirname(SKY_ROOT) WORKBENCH_ROOT = os.path.join(SRC_ROOT, 'sky', 'packages', 'workbench') -from skypy.url_mappings import URLMappings - - DARTDOC = 'dartdoc' + def main(): try: subprocess.check_output([DARTDOC, '--version']) @@ -27,20 +27,32 @@ def main(): parser = argparse.ArgumentParser(description='Sky Documentation Generator') parser.add_argument('build_dir', type=str, help='Path to build output') + parser.add_argument('--open', action='store_true', + help='Open docs after building.') args = parser.parse_args() build_dir = os.path.abspath(args.build_dir) sky_package = os.path.join(SRC_ROOT, 'sky/packages/sky') doc_dir = os.path.join(build_dir, 'gen/dart-pkg/sky/doc') + + # dartdoc doesn't understand sdk_ext yet, so we still need url_mappings: + # https://github.com/dart-lang/dartdoc/issues/763 url_mappings = URLMappings(SRC_ROOT, build_dir) analyzer_args = [ DARTDOC, '--input', sky_package, '--output', doc_dir, + # dartdoc appears to ignore --package-root: + # https://github.com/dart-lang/dartdoc/issues/766 + '--package-root', os.path.join(WORKBENCH_ROOT, 'packages') ] + url_mappings.as_args subprocess.check_call(analyzer_args) + if args.open: + webbrowser.open(os.path.join(doc_dir, 'index.html')) + + if __name__ == '__main__': sys.exit(main())