Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

List, build or test locally changed targets

Project Description

Changed Target Tasks Plugin

A plugin for the pants build system make building and testing
locally edited (or a particular commit's) targets easier.

This creates varients of goals like ``compile`` that, rather than
operate on explicitly provided arguments, find "changed" targets
by consulting the active SCM (eg git) and then operate on those
and (optionally) on their dependees.

Provided goals are:

- ``what-changed``: Lists changed targets (or writes to file)
- ``compile-changed``: Build changed targets
- ``test-changed``: Test changed targets
- ``validate-changed``: Check for dependency rules in changed targets

All of thse take flags which can change how they find targets and
whether or not they include dependees.

Determining what is "changed"

"changed" is usually determined asking SCM for files with differences
relative to "upstream/master", though this is configurable via the
``--changes-since`` flag or config option.

"changed" can also be determined by ``--diffspec`` (or ``--shas``).
A diffspec can be a single SHA, a aaa..bbb range, a ref or anything
that is meaningful to the SCM to provide a list of changed filenames.

Including Dependees
These tasks are useful for checking if ones current changes break
things, without having to know what "things" may have been broken
and need to be built (or tested) to be sure.

However, most changes can not only break the targets in which they
are made, but can easily break a dependee, eg by changing a method
which is called in a dependee. Thus including depnedees of changed
targets in addition to changed targets themselves is often helpful.

- ``--direct-dependees`` or ``--dd``
Include direct dependees of changed targets.
(This is the default behavior, but can be explicitly chosen if defaults
are changed via config.)

- ``--transitive-dependees`` or ``--td``
Include all transitive dependees.

- ``--no-dependees`` or ``--nd``
Include no dependees, and act only on directly changed targets.

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(5.0 kB) Copy SHA256 Hash SHA256
Source None Dec 10, 2014

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers