Add source links to dartdoc output.

Dartdoc > 0.18.1 allows generation of source code links
to documented objects.  Enable this for the Dart SDK build.

Change-Id: Ib385d3e51f6f5852f37e591d7a60ba7b4e7f93c1
Reviewed-on: https://dart-review.googlesource.com/c/92303
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
This commit is contained in:
Janice Collins 2019-02-07 18:46:31 +00:00 committed by commit-bot@chromium.org
parent a0516965b4
commit 1c8f571f76
3 changed files with 52 additions and 8 deletions

View file

@ -1,2 +0,0 @@
dartdoc:
categoryOrder: ["Core", VM", "Web"]

View file

@ -856,14 +856,20 @@ copy("copy_license") {
]
}
# This rule copies the dartdoc_options.yaml file.
copy("copy_dartdoc_options") {
# This rule generates a custom dartdoc_options.yaml file.
action("write_dartdoc_options") {
visibility = [ ":create_common_sdk" ]
sources = [
"../dartdoc_options.yaml",
inputs = [
"../.git/logs/HEAD",
]
output = "$root_out_dir/dart-sdk/dartdoc_options.yaml"
outputs = [
"$root_out_dir/dart-sdk/dartdoc_options.yaml",
output,
]
script = "../tools/write_dartdoc_options_file.py"
args = [
"--output",
rebase_path(output),
]
}
@ -886,13 +892,13 @@ group("create_common_sdk") {
":copy_api_readme",
":copy_dart",
":copy_dartdoc_files",
":copy_dartdoc_options",
":copy_headers",
":copy_libraries_dart",
":copy_license",
":copy_libraries_specification",
":copy_readme",
":copy_vm_dill_files",
":write_dartdoc_options",
":write_revision_file",
":write_version_file",
]

View file

@ -0,0 +1,40 @@
#!/usr/bin/env python
# Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
# for details. 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 sys
import utils
def ParseArgs(args):
args = args[1:]
parser = argparse.ArgumentParser(
description='A script to write a custom dartdoc_options.yaml to a file')
parser.add_argument('--output', '-o',
type=str,
required=True,
help='File to write')
return parser.parse_args(args)
def Main(argv):
args = ParseArgs(argv)
# TODO(jcollins-g): switch to version numbers when github has its tags synced
revision = utils.GetGitRevision()
if revision is None:
revision = 'master'
output = '''dartdoc:
categoryOrder: ["Core", "VM", "Web"]
linkToSource:
root: '.'
uriTemplate: 'https://github.com/dart-lang/sdk/blob/%s/sdk/%%f%%#L%%l%%'
''' % revision
with open(args.output, 'w') as f:
f.write(output)
return 0
if __name__ == '__main__':
sys.exit(Main(sys.argv))