tree: 5bab613d966844ce7d74ec054f7db51c820960e4 [path history] [tgz]
  1. licenses/
  2. secondary/
  3. exclude.txt
  4. include.txt
  5. README.md
engine/src/flutter/tools/licenses_cpp/data/README.md

Licenses_cpp data directory

This directory contains all the data that the licenses_cpp executable needs to validate the engine repository. There are 3 main divisions of this data:

  • include.txt -- A list of all the files that will be checked.
  • exclude.txt -- A list of all the files that will be excluded.
  • data/ -- A catalog of all the accepted and known licenses.
  • secondary/ -- Secondary licenses to be included.

All regex are in the re2 format.

include.txt

The file format for the include.txt is a list of regular expressions that describe the files that should be considered for checking. Each regex is required to be a full match to be considered.

Lines prefixed with # will be treated as comments. Comments trailing # on lines that start with other characters are not yet supported.

exclude.txt

The exclude file format is in the same format as the include.txt. It‘s important to note that the regex’s must be full matches on the relative paths to the “--working_dir” path.

data/

Each file in the data/ directory represents an accepted license which can show up in source code or in its own LICENSE file. The format is the following:

  1. First line - name of the matcher
  2. Second line - Unique regex which cannot overlap with other matcher's unique regexes.
  3. Remaining lines - Matcher regex that will be used to extract the full text of the accepted license. The regexes have the following properties:
    • All whitespace is considered \s+.
    • Trailing whitespace is ignored.
    • Matched groups are extracted from the output. Example: match("\[(.*)\]", "[hi]") -> "[]".

secondary/

This directory structure needs to match the one found in the working directory. License files here will be added verbatim to the output.