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

pantsbuild / pants / 21552830208

31 Jan 2026 11:40PM UTC coverage: 80.277% (-0.05%) from 80.324%
21552830208

Pull #23062

github

web-flow
Merge 808a9786c into 2c4dcf9cf
Pull Request #23062: Remove support for Get

18 of 25 new or added lines in 4 files covered. (72.0%)

17119 existing lines in 541 files now uncovered.

78278 of 97510 relevant lines covered (80.28%)

3.36 hits per line

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

97.14
/src/python/pants/build_graph/address.py
1
# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
from __future__ import annotations
12✔
5

6
import dataclasses
12✔
7
from collections.abc import Iterable
12✔
8
from dataclasses import dataclass
12✔
9

10
from pants.base.exceptions import MappingError
12✔
11
from pants.engine.engine_aware import EngineAwareParameter
12✔
12
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
13
    BANNED_CHARS_IN_GENERATED_NAME as BANNED_CHARS_IN_GENERATED_NAME,
14
)
15
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
16
    BANNED_CHARS_IN_PARAMETERS as BANNED_CHARS_IN_PARAMETERS,
17
)
18
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
19
    BANNED_CHARS_IN_TARGET_NAME as BANNED_CHARS_IN_TARGET_NAME,
20
)
21
from pants.engine.internals.native_engine import Address as Address  # noqa: F401
12✔
22
from pants.engine.internals.native_engine import AddressInput as AddressInput  # noqa: F401
12✔
23
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
24
    AddressParseException as AddressParseException,
25
)
26
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
27
    InvalidAddressError as InvalidAddressError,
28
)
29
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
30
    InvalidParametersError as InvalidParametersError,
31
)
32
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
33
    InvalidSpecPathError as InvalidSpecPathError,
34
)
35
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
36
    InvalidTargetNameError as InvalidTargetNameError,
37
)
38
from pants.engine.internals.native_engine import (  # noqa: F401
12✔
39
    UnsupportedWildcardError as UnsupportedWildcardError,
40
)
41
from pants.util.strutil import bullet_list, softwrap
12✔
42

43

44
@dataclass(frozen=True)
12✔
45
class BuildFileAddressRequest(EngineAwareParameter):
12✔
46
    """A request to find the BUILD file path for an address."""
47

48
    address: Address
12✔
49
    description_of_origin: str = dataclasses.field(hash=False, compare=False)
12✔
50

51
    def debug_hint(self) -> str:
12✔
52
        return self.address.spec
×
53

54

55
@dataclass(frozen=True)
12✔
56
class BuildFileAddress:
12✔
57
    """An address, along with the relative file path of its BUILD file."""
58

59
    address: Address
12✔
60
    rel_path: str
12✔
61

62

63
class ResolveError(MappingError):
12✔
64
    """Indicates an error resolving targets."""
65

66
    @classmethod
12✔
67
    def did_you_mean(
12✔
68
        cls,
69
        bad_address: Address,
70
        *,
71
        description_of_origin: str,
72
        known_names: Iterable[str],
73
        namespace: str,
74
    ) -> ResolveError:
UNCOV
75
        return cls(
1✔
76
            softwrap(
77
                f"""
78
                The address {bad_address} from {description_of_origin} does not exist.
79

80
                The target name ':{bad_address.target_name}' is not defined in the directory
81
                {namespace}. Did you mean one of these target names?\n
82
                """
83
                + bullet_list(f":{name}" for name in known_names)
84
            )
85
        )
86

87

88
@dataclass(frozen=True)
12✔
89
class MaybeAddress:
12✔
90
    """A target address, or an error if it could not be created.
91

92
    Note that this does not validate the address's target actually exists. It only validates that
93
    the address is well-formed and that its spec_path exists.
94

95
    Reminder: you may need to catch errors when creating the input `AddressInput` if the address is
96
    not well-formed.
97
    """
98

99
    val: Address | ResolveError
12✔
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