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

pantsbuild / pants / 9129
0%
main: 93%

Build:
Build:
LAST BUILD BRANCH: pantsd/stdio-per-run-log
DEFAULT BRANCH: main
Ran 22 Feb 2016 08:09PM UTC
Jobs 7
Files 0
Run time –
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
9129

push

travis-ci

stuhood
[engine] Implement recursive address walking

This review implements the commandline syntax `x/:` and `x/::` for the new engine via recursive directory walks inside the engine.

- Move the "cast from Struct to literal type" special case out of the Scheduler and into graph tasks. Huzzah!
- Add additional datatypes to represent recursive and non-recursive directory listings
    - In particular, Addresses is the entry point for both SiblingAddresses and DescendantAddresses. They are bootstrapped in BuildRequest by using DependenciesNode to request goal products for each Address in an `Addresses` object for their subject.
- Implement SiblingAddresses by converting an AddressFamily into Addresses
- Implement DescendantAddresses by converting RecursiveSubDirectories into Addresses, and producing RecursiveSubDirectories via recursive requests for the SubDirectories of Directories.
    - This change introduces one slightly annoying special case, which is that we need to use an `identity` function to project the `Directory` field of the DescendantAddresses object in order to begin the recursion. This is pretty minor, but likely an indication that the `Selector` api still needs more polish.
- Refresh the `src/python/pants/engine/exp/legacy:list` command. The performance is approximately on par with the existing engine, but path-excludes/build-ignore-patterns are not yet implemented.
- Removed `self._roots` from the Scheduler. Instead, they are a property of a BuildRequest.

A lovely emergent behaviour of this change is that adding a "list" goal was as simple as aliasing `'list': Address`. The root result is an Address for every member of the Addresses object... ie, identity. The following run is rendered and attached:

    ./pants run src/python/pants/engine/exp/examples:viz -- \
      tests/python/pants_test/engine/exp/examples/scheduler_inputs \
      list \
      3rdparty/jvm::

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/110709884

Bugs closed: 2943, 2944

Reviewed at https://rbcommons.com/s/twitter/r/3485/
Jobs
ID Job ID Ran Files Coverage
1 9129.1 (CI_FLAGS="-cjlpn 'Various pants self checks'") 22 Feb 2016 08:09PM UTC 0
Travis Job 9129.1
4 9129.4 (CI_FLAGS="-fkmsrcjlp 'Python contrib tests'") 22 Feb 2016 08:17PM UTC 0
Travis Job 9129.4
5 9129.5 (CI_FLAGS="-fkmsrjlpn -i 0/6 'Python integration tests for pants - shard 1'") 22 Feb 2016 08:14PM UTC 0
Travis Job 9129.5
6 9129.6 (CI_FLAGS="-fkmsrjlpn -i 1/6 'Python integration tests for pants - shard 2'") 22 Feb 2016 08:24PM UTC 0
Travis Job 9129.6
7 9129.7 (CI_FLAGS="-fkmsrjlpn -i 2/6 'Python integration tests for pants - shard 3'") 22 Feb 2016 08:28PM UTC 0
Travis Job 9129.7
8 9129.8 (CI_FLAGS="-fkmsrjlpn -i 3/6 'Python integration tests for pants - shard 4'") 22 Feb 2016 08:24PM UTC 0
Travis Job 9129.8
9 9129.9 (CI_FLAGS="-fkmsrjlpn -i 4/6 'Python integration tests for pants - shard 5'") 22 Feb 2016 08:30PM UTC 0
Travis Job 9129.9
Source Files on build 9129
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #9129
  • 1e3f7071 on github
  • Prev Build on master (#9128)
  • Next Build on master (#9131)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc