spec.py: fix hash change due to None vs {} (#48854)
* Fix hash change due to None vs {} * Enforce null for empty list of external_modules
This commit is contained in:
parent
d34b709425
commit
fbb688af07
@ -1527,9 +1527,8 @@ def __init__(self, spec_like=None, *, external_path=None, external_modules=None)
|
|||||||
self._external_path = external_path
|
self._external_path = external_path
|
||||||
self.external_modules = Spec._format_module_list(external_modules)
|
self.external_modules = Spec._format_module_list(external_modules)
|
||||||
|
|
||||||
# This attribute is used to store custom information for
|
# This attribute is used to store custom information for external specs.
|
||||||
# external specs. None signal that it was not set yet.
|
self.extra_attributes: dict = {}
|
||||||
self.extra_attributes = None
|
|
||||||
|
|
||||||
# This attribute holds the original build copy of the spec if it is
|
# This attribute holds the original build copy of the spec if it is
|
||||||
# deployed differently than it was built. None signals that the spec
|
# deployed differently than it was built. None signals that the spec
|
||||||
@ -2351,15 +2350,10 @@ def to_node_dict(self, hash=ht.dag_hash):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if self.external:
|
if self.external:
|
||||||
if self.extra_attributes:
|
|
||||||
extra_attributes = syaml.sorted_dict(self.extra_attributes)
|
|
||||||
else:
|
|
||||||
extra_attributes = None
|
|
||||||
|
|
||||||
d["external"] = {
|
d["external"] = {
|
||||||
"path": self.external_path,
|
"path": self.external_path,
|
||||||
"module": self.external_modules,
|
"module": self.external_modules or None,
|
||||||
"extra_attributes": extra_attributes,
|
"extra_attributes": syaml.sorted_dict(self.extra_attributes),
|
||||||
}
|
}
|
||||||
|
|
||||||
if not self._concrete:
|
if not self._concrete:
|
||||||
|
Loading…
Reference in New Issue
Block a user