cool-easter-32542
07/02/2025, 6:26 PMdirname:dirname) like so:
python_source(
name='foo', # no error if this is 'resolve'
source='foo.py')
python_source(
name='bar',
source='bar.py',
dependencies=['!./foo.py'] # no error if this line is removed
)
pantsbuild/example-python@ec833b2
Then peek, --changed-dependents=transitive, and visibility rules, all throw ResolveErrors.
$ PANTS_SOURCE=/home/ecsb/src/o/2alt-pants pants --print-stacktrace lint --changed-since=origin/main --changed-dependents=transitive
Pantsd has been turned off via Env.
Exception caught: (pants.engine.internals.scheduler.ExecutionError)
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/pants_loader.py", line 133, in <module>
main()
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/pants_loader.py", line 129, in main
PantsLoader.main()
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/pants_loader.py", line 125, in main
cls.run_default_entrypoint()
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/pants_loader.py", line 106, in run_default_entrypoint
exit_code = runner.run(start_time)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/pants_runner.py", line 150, in run
runner = LocalPantsRunner.create(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/bin/local_pants_runner.py", line 152, in create
specs = calculate_specs(
^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/init/specs_calculator.py", line 105, in calculate_specs
(changed_addresses,) = session.product_request(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/scheduler.py", line 601, in product_request
return self.execute(request)
^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/scheduler.py", line 542, in execute
self._raise_on_error([t for _, t in throws])
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/scheduler.py", line 526, in _raise_on_error
raise ExecutionError(
Exception message: 1 Exception encountered:
Engine traceback:
in root
..
in pants.vcs.changed.find_changed_owners
..
Traceback (most recent call last):
File "/home/ecsb/src/o/2alt-pants/src/python/pants/vcs/changed.py", line 79, in find_changed_owners
dependents = await find_dependents(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in __await__
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/backend/project_info/dependents.py", line 45, in map_addresses_to_dependents
dependencies_per_target = await concurrently(
^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 363, in MultiGet
return await _MultiGet(tuple(__arg0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 170, in __await__
result = yield self.gets
^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in __await__
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/graph.py", line 1700, in resolve_dependencies
await _fill_parameters(
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/graph.py", line 1589, in _fill_parameters
parametrizations = await concurrently(
^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 363, in MultiGet
return await _MultiGet(tuple(__arg0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 170, in __await__
result = yield self.gets
^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in __await__
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/graph.py", line 443, in resolve_target_parametrizations
adaptor_and_type = await _determine_target_adaptor_and_type(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in __await__
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/graph.py", line 182, in _determine_target_adaptor_and_type
target_adaptor = await find_target_adaptor(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in __await__
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/build_files.py", line 543, in find_target_adaptor
target_adaptor = _get_target_adaptor(address, address_family, request.description_of_origin)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/build_files.py", line 524, in _get_target_adaptor
raise ResolveError.did_you_mean(
pants.build_graph.address.ResolveError: The address helloworld/resolve:resolve from the `dependencies` field of the target helloworld/resolve:bar does not exist.
The target name ':resolve' is not defined in the directory helloworld/resolve. Did you mean one of these target names?
* :bar
* :foo
```
$ PANTS_SOURCE=/home/ecsb/src/o/2alt-pants pants --print-stacktrace peek helloworld/resolve:bar
Pantsd has been turned off via Env.
142601.64 [ERROR] 1 Exception encountered:
Engine traceback:
in root
..
in pants.backend.project_info.peek.peek
peek goal
Traceback (most recent call last):
File "/home/ecsb/src/o/2alt-pants/src/python/pants/backend/project_info/peek.py", line 428, in peek
tds = await get_target_data(targets, **implicitly())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/rules.py", line 71, in wrapper
return await call
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 78, in await
result = yield self
^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/backend/project_info/peek.py", line 307, in get_target_data
dependencies_per_target = await concurrently(
^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants/src/python/pants/engine/internals/selectors.py", line 363, in MultiGet
return await _MultiGet(tuple(__arg0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ecsb/src/o/2alt-pants…
pantsbuild/pants