| #!/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. | 
 |   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)) |