Skip to content

Commit e7dbb8e

Browse files
committed
fix: No warning emitting in case of SCM error when fallback_version is used. Fixes #293
Signed-off-by: Frost Ming <me@frostming.com>
1 parent 743fd55 commit e7dbb8e

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/pdm/backend/hooks/version/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
)
1818
from pdm.backend.utils import evaluate_module_attribute
1919

20+
_fallback_version_warning = (
21+
"Can't get a valid version from {}, use fallback_version instead."
22+
)
23+
2024

2125
class DynamicVersionBuildHook:
2226
"""Dynamic version implementation.
@@ -102,6 +106,7 @@ def resolve_version_from_scm(
102106
)
103107
if scm_version is None:
104108
if fallback_version is not None:
109+
warnings.warn(_fallback_version_warning.format("scm"), PDMWarning)
105110
version = fallback_version
106111
else:
107112
raise ConfigError(
@@ -119,6 +124,7 @@ def resolve_version_from_scm(
119124
parsed_version = Version(version)
120125
except ValueError:
121126
if fallback_version is not None:
127+
warnings.warn(_fallback_version_warning.format("scm"), PDMWarning)
122128
return Version(fallback_version)
123129
raise ConfigError(
124130
f"Invalid version {version}, it must comply with PEP 440. \n"
@@ -162,6 +168,7 @@ def resolve_version_from_call(
162168
version = version_getter(*args)
163169
if version is None:
164170
if fallback_version is not None:
171+
warnings.warn(_fallback_version_warning.format("call"), PDMWarning)
165172
return Version(fallback_version)
166173
else:
167174
raise ConfigError(

0 commit comments

Comments
 (0)