Maybe :ladybug: on 2.14.0rc3? ```MappingError: Fa...
# development
b
Maybe ๐Ÿž on 2.14.0rc3?
Copy code
MappingError: Failed to parse ./path/to/BUILD.pants:
Name 'wo_resolved_system_packages' is not defined.
...
All registered symbols: ['__defaults__', ..., 'wo_resolved_system_packages', ...]
๐Ÿงต
โœ… 1
So I have 2 macro files declared as:
Copy code
build_file_prelude_globs = [
    # These are our Watson Orders macros (for reducing boilerplate)
    "pants-plugins/wo_syspkg_macros.py",
    "pants-plugins/wo_macros.py",
]
The first defines
wo_resolved_system_packages
and the latter uses it inside another macro. The
BUILD.pants
file is referring to a macro in the latter which refers to the former. This "works" on 2.13
(Jumping from 2.13.0rc1 to 2.14.0rc3)
(And I can't easily merge the two files ๐Ÿ™‚ One is generated ๐Ÿ˜›)
Hmm:
pants.engine.internals.build_files.parse_address_family
is where the error is
Copy code
This also means that if multiple
        # prelude files are present, they probably cannot see each others' symbols. We may choose
        # to change this at some point.
๐Ÿ‘ 1
๐Ÿ‘€ 1
h
feel free to improve that
b
well whats weird from looking at the code is that this worked in 2.13 and the code doesn't seem to have changed (much). Defintely not the code referenced in the comment
h
I made a lot of changes to parser.py etc for the sake of environments, but I thought it was only on 2.15
b
__defaults__
seems to be the only substantial change for 2.14.x
h
ah yeah, which was a big change
b
The parsing code wasn't heavily changed though ๐Ÿ˜• https://github.com/pantsbuild/pants/pull/15836/files
Debugging it shows that symbol is defined ๐Ÿค”