@@ -62,20 +62,28 @@ def _log_hookstart(hook: str, dist: setuptools.Distribution) -> None:
62
62
log .debug ("%s %s %s %r" , hook , id (dist ), id (dist .metadata ), vars (dist .metadata ))
63
63
64
64
65
+ def get_keyword_overrides (
66
+ value : bool | dict [str , Any ] | Callable [[], dict [str , Any ]],
67
+ ) -> dict [str , Any ]:
68
+ """normalize the version keyword input"""
69
+ if value is True :
70
+ return {}
71
+ elif callable (value ):
72
+ return value ()
73
+ else :
74
+ assert isinstance (value , dict ), "version_keyword expects a dict or True"
75
+ return value
76
+
77
+
65
78
def version_keyword (
66
79
dist : setuptools .Distribution ,
67
80
keyword : str ,
68
81
value : bool | dict [str , Any ] | Callable [[], dict [str , Any ]],
69
82
) -> None :
83
+ _log_hookstart ("version_keyword" , dist )
84
+
70
85
# Parse overrides (integration point responsibility)
71
- overrides : dict [str , Any ]
72
- if value is True :
73
- overrides = {}
74
- elif callable (value ):
75
- overrides = value ()
76
- else :
77
- assert isinstance (value , dict ), "version_keyword expects a dict or True"
78
- overrides = value
86
+ overrides = get_keyword_overrides (value )
79
87
80
88
assert "dist_name" not in overrides , (
81
89
"dist_name may not be specified in the setup keyword "
@@ -84,7 +92,6 @@ def version_keyword(
84
92
dist_name : str | None = _dist_name_from_legacy (dist )
85
93
86
94
was_set_by_infer = getattr (dist , "_setuptools_scm_version_set_by_infer" , False )
87
- _log_hookstart ("version_keyword" , dist )
88
95
89
96
# Get pyproject data
90
97
try :
@@ -139,7 +146,7 @@ def infer_version(dist: setuptools.Distribution) -> None:
139
146
try :
140
147
pyproject_data = read_pyproject (Path ("pyproject.toml" ), missing_section_ok = True )
141
148
except FileNotFoundError :
142
- log .debug ("pyproject.toml not found" )
149
+ log .debug ("pyproject.toml not found, skipping infer_version " )
143
150
return
144
151
except (LookupError , ValueError ) as e :
145
152
log .debug ("Configuration issue in pyproject.toml: %s" , e )
0 commit comments