Skip to content

Commit beb7624

Browse files
authored
chore: prevent normalization of semver versioning (#14)
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 ad6615a commit beb7624

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

packages/google-cloud-gke-hub/setup.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,21 @@
1919
import os
2020
import setuptools # type: ignore
2121

22+
# Disable version normalization performed by setuptools.setup()
23+
try:
24+
# Try the approach of using sic(), added in setuptools 46.1.0
25+
from setuptools import sic
26+
except ImportError:
27+
# Try the approach of replacing packaging.version.Version
28+
sic = lambda v: v
29+
try:
30+
# setuptools >=39.0.0 uses packaging from setuptools.extern
31+
from setuptools.extern import packaging
32+
except ImportError:
33+
# setuptools <39.0.0 uses packaging from pkg_resources.extern
34+
from pkg_resources.extern import packaging
35+
packaging.version.Version = packaging.version.LegacyVersion
36+
2237
name = "google-cloud-gke-hub"
2338
version = "0.1.0"
2439
description = "GKE Hub API client library"
@@ -37,7 +52,7 @@
3752

3853
setuptools.setup(
3954
name=name,
40-
version=version,
55+
version=sic(version),
4156
description=description,
4257
long_description=readme,
4358
author="Google LLC",

0 commit comments

Comments
 (0)