#!/usr/bin/env python3 # 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') parser.add_argument('--no-git-hash', help='Omit the git hash in the output', dest='no_git_hash', action='store_true') 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 = None if not args.no_git_hash: revision = utils.GetGitRevision() if revision is None: revision = 'main' output = '''dartdoc: categoryOrder: ["Core", "VM", "Web", "Web (Legacy)"] categories: 'Web': external: - name: 'package:web' url: https://pub.dev/documentation/web/latest/ docs: >- This package exposes browser APIs. It's intended to replace dart:html and similar Dart SDK libraries. It will support access to browser APIs from Dart code compiled to either JavaScript or WebAssembly. 'Web (Legacy)': external: - name: 'package:js' url: https://pub.dev/documentation/js/latest/ docs: >- Use this package when you want to call JavaScript APIs from Dart code, or vice versa. linkToSource: root: '.' uriTemplate: 'https://github.com/dart-lang/sdk/blob/%s/sdk/%%f%%#L%%l%%' errors: # Default errors of dartdoc: - duplicate-file - invalid-parameter - no-defining-library-found - tool-error - unresolved-export # Warnings that are elevated to errors: - ambiguous-doc-reference - ambiguous-reexport - broken-link - category-order-gives-missing-package-name - deprecated - ignored-canonical-for - missing-from-search-index - no-canonical-found - no-documentable-libraries - no-library-level-docs - not-implemented - orphaned-file - reexported-private-api-across-packages # - unknown-directive # Disabled due to https://github.com/dart-lang/dartdoc/issues/2353 - unknown-file - unknown-macro - unresolved-doc-reference header: - ../../../tools/bots/dartdoc_header.html footer: - ../../../tools/bots/dartdoc_footer.html footerText: - ../../../tools/bots/dartdoc_footer_text.html ''' % revision with open(args.output, 'w') as f: f.write(output) return 0 if __name__ == '__main__': sys.exit(Main(sys.argv))