• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 35727
0%
main: 93%

Build:
Build:
LAST BUILD BRANCH: fix/prettier-output-files
DEFAULT BRANCH: main
Ran 01 Oct 2020 02:35AM UTC
Jobs 1
Files 429
Run time 40s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
35727

push

travis-ci-com

web-flow
Add `relocated_files` target type (#10880)

### Problem

As explained in https://github.com/pantsbuild/pants/issues/10733 and https://github.com/pantsbuild/pants/pull/10876, we are adding back an improved version of the `bundle` goal, and we need a way for users to have Pants relocate loose source files, which they previously did via `bundle(rel_path=)`.

Further, we want to allow users to relocate in other contexts, too, such as for `tests`.

### Solution

Add a new intermediate target type called `relocated_files`, which has fields for the original `files()` targets and for the desired mapping. This will then use codegen to apply the mapping and generate `FilesSources`.

This solution is chosen instead of two alternative designs:

1) Define the mapping on the `files()` target, as done in https://github.com/pantsbuild/pants/pull/10876. This implementation was messy and leaked in lots of places. We also think the risk was too high that a user would change a `files()` target and accidentally break multiple consumers.
2) Have every consumer define its own mapping. This does not scale well as it's not composable.

Instead, we find a happy medium by using this intermediate type. There is still a risk of #1, where changing the target will break every consumer. But we think this risk is much lower given the explicitness of having a `relocated_files` target type.

You can safely define multiple `relocated_files` targets over the same original `files` target if you want multiple distinct mappings for the same file.

[ci skip-rust]
[ci skip-build-wheels]

0 of 29049 relevant lines covered (0.0%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
4 35727.4 (PANTS_CONFIG_FILES="${TRAVIS_BUILD_DIR}/pants.travis-ci.toml" PANTS_DYNAMIC_UI=false LC_ALL="en_US.UTF-8" AWS_BUCKET=ci-public.pantsbuild.org BOOTSTRAPPED_PEX_KEY_PREFIX=daily/${TRAVIS_BUILD_NUMBER}/${TRAVIS_BUILD_ID}/pants.pex NATIVE_ENGINE_SO_KEY_PREFIX=monthly/native_engine_so PYENV_PY27_VERSION=2.7.18 PYENV_PY36_VERSION=3.6.10 PYENV_PY37_VERSION=3.7.7 PYENV_PY38_VERSION=3.8.3 PYENV_ROOT_OSX=${HOME}/.pants_pyenv PYENV_ROOT="${PYENV_ROOT:-${PYENV_ROOT_OSX}}" PATH="${PYENV_ROOT}/shims:${PATH}" AWS_CLI_ROOT="${HOME}/.aws_cli" AWS_ACCESS_KEY_ID__TO_BE_REEXPORTED_ON_DEPLOYS=AKIAV6A6G7RQ2HFZ5KP7 AWS_SECRET_ACCESS_KEY=[secure] RUST_BACKTRACE="all" BOOTSTRAPPED_PEX_KEY_SUFFIX=py36.linux PANTS_REMOTE_CA_CERTS_PATH=/usr/lib/google-cloud-sdk/lib/third_party/grpc/_cython/_credentials/roots.pem CACHE_NAME=python_tests.py36) 01 Oct 2020 02:35AM UTC 0
0.0
Travis Job 35727.4
Source Files on build 35727
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #35727
  • c03b89d1 on github
  • Prev Build on master (#35725)
  • Next Build on master (#35733)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc