You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
depot_tools/metadata
Jiewei Qian b7ed76a09d metadata: define a clear DependencyMetadata interface
This CL adds a typed interface that exposes parsed metadata for
downstream consumption.

Conventionally:
- A validated field should be retrieved by the property of the same name
- A validated field returns "None" if said field is not provided, or is
  clearly invalid (e.g. "Unknown" values)
- Raw values can still be retrieved with get_entries()

When using the properties accessor, fields are normalized and/or coerced to a suitable type (e.g. list of str, str of a particular format).

Bug: b/321154076
Change-Id: Ia56969a838e682a7b7eb1dc0781d48e1e38a2ff0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5446637
Reviewed-by: Rachael Newitt <renewitt@google.com>
Commit-Queue: Jiewei Qian <qjw@chromium.org>
1 year ago
..
fields metadata: define a clear DependencyMetadata interface 1 year ago
tests metadata: define a clear DependencyMetadata interface 1 year ago
OWNERS
PRESUBMIT.py
README.md
__init__.py
dependency_metadata.py metadata: define a clear DependencyMetadata interface 1 year ago
discover.py
parse.py
scan.py
validate.py
validation_result.py

README.md

Validation for Chromium's Third Party Metadata Files

This directory contains the code to validate Chromium third party metadata files, i.e. README.chromium files.

Prerequisites

  1. Have the Chromium source code checked out on disk
  2. Ensure you've run gclient runhooks on your source checkout

Run

metadata/scan.py can be used to search for and validate all Chromium third party metadata files within a repository. For example, if your chromium/src checkout is at ~/my/path/to/chromium/src, run the following command from the root directory of depot_tools:

vpython3 --vpython-spec=.vpython3 metadata/scan.py ~/my/path/to/chromium/src