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

pantsbuild / pants / 25259185675

02 May 2026 06:47PM UTC coverage: 92.141% (-0.8%) from 92.955%
25259185675

push

github

web-flow
Fix the dynamic UI. (#23306)

In #23114 we upgraded to indicatif 0.18.4,
which included a fix to respect TERM, and 
display nothing if it's unset.

Since we did not pass TERM through pantsd, the
dynamic ui is now not shown. 

This change fixes that, and also pass NO_COLOR
through, since indicatif inspects it too.

88773 of 96345 relevant lines covered (92.14%)

3.83 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

86.96
/src/python/pants/jvm/util_rules.py
1
# Copyright 2021 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
from __future__ import annotations
11✔
5

6
from dataclasses import dataclass
11✔
7

8
from pants.engine.fs import Digest, DigestSubset, FileDigest, FileEntry, PathGlobs
11✔
9
from pants.engine.intrinsics import digest_subset_to_digest, get_digest_entries
11✔
10
from pants.engine.rules import collect_rules, rule
11✔
11

12

13
@dataclass(frozen=True)
11✔
14
class ExtractFileDigest:
11✔
15
    digest: Digest
11✔
16
    file_path: str
11✔
17

18

19
@rule
11✔
20
async def digest_to_file_digest(request: ExtractFileDigest) -> FileDigest:
11✔
21
    digest = await digest_subset_to_digest(
11✔
22
        DigestSubset(request.digest, PathGlobs([request.file_path]))
23
    )
24
    digest_entries = await get_digest_entries(digest)
11✔
25

26
    if len(digest_entries) == 0:
11✔
27
        raise Exception(f"ExtractFileDigest: '{request.file_path}' not found in {request.digest}.")
×
28
    elif len(digest_entries) > 1:
11✔
29
        raise Exception(
×
30
            f"ExtractFileDigest: Unexpected error: '{request.file_path}' found multiple times in {request.digest}"
31
        )
32

33
    file_info = digest_entries[0]
11✔
34

35
    if not isinstance(file_info, FileEntry):
11✔
36
        raise AssertionError(
×
37
            f"Unexpected error: '{request.file_path}' refers to a directory, not a file."
38
        )
39

40
    return file_info.file_digest
11✔
41

42

43
def rules():
11✔
44
    return [*collect_rules()]
11✔
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