# This file is used by dartdoc when generating API documentation for Flutter.
dartdoc:
  # Before you can run dartdoc, the snippets tool needs to be
  # activated with "pub global activate snippets <version>"
  # The dev/bots/docs.sh script does this automatically.
  tools:
    snippet:
      command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=snippet"]
      description: "Creates sample code documentation output from embedded documentation samples."
    sample:
      command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=sample"]
      description: "Creates full application sample code documentation output from embedded documentation samples."
    dartpad:
      command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=dartpad"]
      description: "Creates full application sample code documentation output from embedded documentation samples and displays it in an embedded DartPad."
  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
