Hey! These docs are for version 2.0, which is no longer officially supported. Click here for the latest version, 2.7!

Configuration for roots of source trees.

Config section: [source]

Basic options


Advanced options

--source-root-patterns="[["pattern1", "pattern2", ...], ["pattern1", "pattern2", ...], ...]"

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/docs/source-roots.

--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`.

Deprecated options

one of: create, fail
default: create
Deprecated, will be removed in version: 2.1.0.dev0
The option `--source-unmatched` does not do anything. Pants will always fail if the source root does not exist.
Configures the behavior when sources are defined outside of any configured source root. `create` will cause a source root to be implicitly created at the definition location of the sources; `fail` will trigger an error.

Did this page help you?