#!/usr/bin/env python # Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import argparse import os import subprocess import sys import webbrowser 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') DARTDOC = 'dartdoc' def main(): try: subprocess.check_output(['pub', 'global', 'run', DARTDOC, '--version']) except: print 'Cannot find "dartdoc". Did you run `pub global activate dartdoc` ?' return 1 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') analyzer_args = [ 'pub', 'global', 'run', DARTDOC, '--input', sky_package, '--output', doc_dir ] subprocess.check_call(analyzer_args) if args.open: webbrowser.open(os.path.join(doc_dir, 'index.html')) if __name__ == '__main__': sys.exit(main())