Skip to main content
Version: 2.23 (prerelease)

source


Configuration for roots of source trees.

Backend: pants.backend.docker

Config section: [source]

Basic options

None

Advanced options

marker_filenames

--source-marker-filenames="[filename, filename, ...]"
PANTS_SOURCE_MARKER_FILENAMES
pants.toml
[source]
marker_filenames = [
filename,
filename,
...,
]
default: []

The presence of a file of this name in a directory indicates that the directory is a source root. The content of the file doesn't matter, and may be empty. Useful when you can't or don't wish to centrally enumerate source roots via root_patterns.

root_patterns

--source-root-patterns="[["pattern1", "pattern2", ...], ["pattern1", "pattern2", ...], ...]"
PANTS_SOURCE_ROOT_PATTERNS
pants.toml
[source]
root_patterns = [
["pattern1",
"pattern2",
...],
["pattern1",
"pattern2",
...],
...,
]
default:
[
  "/",
  "src",
  "src/python",
  "src/py",
  "src/thrift",
  "src/protobuf",
  "src/protos",
  "src/scala",
  "src/java"
]

A list of source root suffixes.

A directory with this suffix will be considered a potential source root. E.g., src/python will match <buildroot>/src/python, <buildroot>/project1/src/python etc.

Prepend a / to anchor the match at the buildroot. E.g., /src/python will match <buildroot>/src/python but not <buildroot>/project1/src/python.

A * wildcard will match a single path segment, E.g., src/* will match <buildroot>/src/python and <buildroot>/src/rust.

Use / to signify that the buildroot itself is a source root.

See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots.

Deprecated options

None

None