blob: 4109f08969f677f54489fd2e7970f393ce4dbd5e [file] [log] [blame]
#!/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_DIR = os.path.join(SRC_ROOT, 'sky', 'packages', 'workbench')
SKY_PACKAGE = os.path.join(SRC_ROOT, 'sky', 'packages', 'sky')
DART_SDK = os.path.join(SRC_ROOT, 'third_party', 'dart-sdk', 'dart-sdk', 'bin')
DARTDOC = os.path.join(DART_SDK, 'dartdoc')
def main():
parser = argparse.ArgumentParser(description='Sky Documentation Generator')
parser.add_argument('--open', action='store_true',
help='Open docs after building.')
args = parser.parse_args()
doc_dir = os.path.join(SKY_PACKAGE, 'doc', 'api')
cmd = [
DARTDOC,
'--header', os.path.join(SKY_PACKAGE, 'doc', 'styles.html'),
'--input', SKY_PACKAGE,
'--output', doc_dir
]
subprocess.check_call(cmd, cwd=WORKBENCH_DIR)
if args.open:
webbrowser.open(os.path.join(doc_dir, 'index.html'))
if __name__ == '__main__':
sys.exit(main())