Skip to content

Commit b9e49ec

Browse files
authored
chore: prevent normalization of semver versioning (#45)
When there is a patch version added to semver versioning, setuptools.setup(version) will normalize the versioning from -patch to .patch which is not correct SEMVER versioning. The added feature with setuptools.sic(version) will prevent this from happening.
1 parent 1536930 commit b9e49ec

File tree

1 file changed

+16
-1
lines changed
  • packages/google-cloud-runtimeconfig

1 file changed

+16
-1
lines changed

packages/google-cloud-runtimeconfig/setup.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@
1717

1818
import setuptools
1919

20+
# Disable version normalization performed by setuptools.setup()
21+
# Adding the workaround to make it compatible for Python2
22+
try:
23+
# Try the approach of using sic(), added in setuptools 46.1.0
24+
from setuptools import sic
25+
except ImportError:
26+
# Try the approach of replacing packaging.version.Version
27+
sic = lambda v: v
28+
try:
29+
# setuptools >=39.0.0 uses packaging from setuptools.extern
30+
from setuptools.extern import packaging
31+
except ImportError:
32+
# setuptools <39.0.0 uses packaging from pkg_resources.extern
33+
from pkg_resources.extern import packaging
34+
packaging.version.Version = packaging.version.LegacyVersion
2035

2136
# Package metadata.
2237

@@ -54,7 +69,7 @@
5469

5570
setuptools.setup(
5671
name=name,
57-
version=version,
72+
version=sic(version),
5873
description=description,
5974
long_description=readme,
6075
author="Google LLC",

0 commit comments

Comments
 (0)