diff options
| author | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2021-09-14 23:33:11 +0200 |
|---|---|---|
| committer | Ronny Pfannschmidt <opensource@ronnypfannschmidt.de> | 2021-09-26 20:05:52 +0200 |
| commit | 864ddaa1c8ec20afecee0409ee12da45a65cb28b (patch) | |
| tree | 71a0c1c85e4ea79cc738472191c6ffaf814dcbe3 /src | |
| parent | 1660900243be8f99cb62c62c0417721a128bdb46 (diff) | |
| download | setuptools-scm-864ddaa1c8ec20afecee0409ee12da45a65cb28b.tar.gz | |
ensure write_to will not error out on invalid PRETEND_VERSION
Diffstat (limited to 'src')
| -rw-r--r-- | src/setuptools_scm/__init__.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/setuptools_scm/__init__.py b/src/setuptools_scm/__init__.py index b4f86ea..4e28809 100644 --- a/src/setuptools_scm/__init__.py +++ b/src/setuptools_scm/__init__.py @@ -4,6 +4,7 @@ """ import os import warnings +from logging import getLogger as _get_logger from ._version_cls import NonNormalizedVersion from ._version_cls import Version @@ -86,13 +87,19 @@ def dump_version(root, version, write_to, template=None): os.path.splitext(target)[1], target ) ) + try: + parsed_version = Version(version) + except Exception: - parsed_version = Version(version) - version_fields = parsed_version.release - if parsed_version.dev is not None: - version_fields += (f"dev{parsed_version.dev}",) - if parsed_version.local is not None: - version_fields += (parsed_version.local,) + log = _get_logger("setuptools_scm") + log.exception("failed to parse version %s", version) + version_fields = (0, 0, 0) + else: + version_fields = parsed_version.release + if parsed_version.dev is not None: + version_fields += (f"dev{parsed_version.dev}",) + if parsed_version.local is not None: + version_fields += (parsed_version.local,) with open(target, "w") as fp: fp.write(template.format(version=version, version_tuple=tuple(version_fields))) |
