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

pantsbuild / pants / 5929
0%
main: 93%

Build:
Build:
LAST BUILD BRANCH: fix/python-build-standalone-provider-in-docker-env
DEFAULT BRANCH: main
Ran 31 Jul 2015 11:37PM UTC
Jobs 10
Files 344
Run time 9min
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
5929

push

travis-ci

baroquebobcat
Introduce a classpath specific product to encapsulate excludes behavior

I'm working on improving excludes behavior. As part of that, I've started encapsulating excludes / classpath generation so that we can more easily change the internal representation of classpath elements and what excludes are represented as during application. This first step towards that just moves exclude handling into a product along with classpaths out of ClasspathUtils.

With this change, the responsibilities are laid out this way:

ClasspathUtils is responsible for

* filtering classpath tuples by conf
* validating paths exist within the buildroot

ClasspathProducts is responsible for

* precomputing excludes and classpath graphs
* applying excludes as classpath tuple lists are constructed
* constructing classpaths based on the precomputed graphs

Also, if a target provides a jar, it adds an exclude for that jar to the excludes used for creating classpaths

Follow on work:

* I'm working towards applying excludes only to the child dependencies of the targets that define them rather than applying them to the full closure of the target whose classpath is being created. That way they'll work as documented. They'll also be easier for users to reason about because they won't have to consider how excludes they introduce may interact with excludes from a separate dependency of a dependee.

* Move towards https://docs.google.com/document/d/1sEMXUmj7v-YCBZ_wHLpCFjkHOeWjsc1NR1hRIJ9uCZ8/edit# by internally representing the classpath elements as python objects that look like those described in the doc

Testing Done:
Passing PR https://github.com/pantsbuild/pants/pull/1637

I'm also doing some internal verification.

Bugs closed: 1637

Reviewed at https://rbcommons.com/s/twitter/r/2541/

15057 of 20500 relevant lines covered (73.45%)

1.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 5929.1 (CI_FLAGS="-cjlpn 'Various pants self checks'") 31 Jul 2015 11:40PM UTC 0
Travis Job 5929.1
2 5929.2 (CI_FLAGS="-fkmsrcn -u 0/2 'Unit tests for pants and pants-plugins - shard 1'") 31 Jul 2015 11:39PM UTC 0
69.3
Travis Job 5929.2
3 5929.3 (CI_FLAGS="-fkmsrcn -u 1/2 'Unit tests for pants and pants-plugins - shard 2'") 31 Jul 2015 11:39PM UTC 0
68.88
Travis Job 5929.3
4 5929.4 (CI_FLAGS="-fkmsrcjlp 'Python contrib tests'") 31 Jul 2015 11:37PM UTC 0
Travis Job 5929.4
5 5929.5 (CI_FLAGS="-fkmsrjlpn -i 0/6 'Python integration tests for pants - shard 1'") 31 Jul 2015 11:41PM UTC 0
Travis Job 5929.5
6 5929.6 (CI_FLAGS="-fkmsrjlpn -i 1/6 'Python integration tests for pants - shard 2'") 31 Jul 2015 11:43PM UTC 0
Travis Job 5929.6
7 5929.7 (CI_FLAGS="-fkmsrjlpn -i 2/6 'Python integration tests for pants - shard 3'") 31 Jul 2015 11:44PM UTC 0
Travis Job 5929.7
8 5929.8 (CI_FLAGS="-fkmsrjlpn -i 3/6 'Python integration tests for pants - shard 4'") 31 Jul 2015 11:45PM UTC 0
Travis Job 5929.8
9 5929.9 (CI_FLAGS="-fkmsrjlpn -i 4/6 'Python integration tests for pants - shard 5'") 31 Jul 2015 11:45PM UTC 0
Travis Job 5929.9
10 5929.10 (CI_FLAGS="-fkmsrjlpn -i 5/6 'Python integration tests for pants - shard 6'") 31 Jul 2015 11:47PM UTC 0
Travis Job 5929.10
Source Files on build 5929
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #5929
  • 61d23f80 on github
  • Prev Build on master (#5918)
  • Next Build on master (#5934)
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