Compare commits
40 Commits
Author | SHA256 | Date | |
---|---|---|---|
72bcd3dc37 | |||
3a26c2a6a3 | |||
ec9fb3bacf | |||
58edc1c727 | |||
a9b7b31b4c | |||
4665139ca8 | |||
fb1d68a048 | |||
a41675fb7f | |||
5bdbf4564e | |||
2902062b66 | |||
1035dc1d47 | |||
|
461ac3d69b | ||
fa47e6aff2 | |||
f1f73ad80f | |||
|
1831d0d190 | ||
9daec0cff7 | |||
|
b7289e90f2 | ||
1af2325d62 | |||
|
83bc0d9faa | ||
a95365adf5 | |||
|
3a8b908e94 | ||
|
02ca0cf048 | ||
|
162e6bd2e6 | ||
|
201a6e403c | ||
|
7a5153a152 | ||
|
0ce59dd04d | ||
|
c63b567920 | ||
f38a3e5290 | |||
064f8453b0 | |||
2bdd4bede9 | |||
|
b52a0bb1a3 | ||
4a8681fcdb | |||
79fe237902 | |||
43e2f29d2a | |||
|
25a1bd43f1 | ||
712a3d2386 | |||
7b7ff6d862 | |||
d4a481e489 | |||
09641bed8a | |||
b4a14f84f7 |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0180a5463f68e2e0110f382b4248d2284bc68481db4a16fcbf61f4f55801c31f
|
|
||||||
size 64814
|
|
@@ -1,107 +0,0 @@
|
|||||||
Index: python-jenkins-1.8.0/jenkins/plugins.py
|
|
||||||
===================================================================
|
|
||||||
--- python-jenkins-1.8.0.orig/jenkins/plugins.py
|
|
||||||
+++ python-jenkins-1.8.0/jenkins/plugins.py
|
|
||||||
@@ -41,8 +41,7 @@
|
|
||||||
|
|
||||||
import operator
|
|
||||||
import re
|
|
||||||
-
|
|
||||||
-import pkg_resources
|
|
||||||
+from typing import Iterator, Tuple
|
|
||||||
|
|
||||||
|
|
||||||
class Plugin(dict):
|
|
||||||
@@ -67,6 +66,63 @@ class Plugin(dict):
|
|
||||||
super(Plugin, self).__setitem__(key, value)
|
|
||||||
|
|
||||||
|
|
||||||
+# Portion of code from packaging module, dual licensed under the terms of
|
|
||||||
+# the Apache License, Version 2.0, and the BSD License.
|
|
||||||
+_legacy_version_component_re = re.compile(r"(\d+ | [a-z]+ | \.| -)", re.VERBOSE)
|
|
||||||
+
|
|
||||||
+_legacy_version_replacement_map = {
|
|
||||||
+ "pre": "c",
|
|
||||||
+ "preview": "c",
|
|
||||||
+ "-": "final-",
|
|
||||||
+ "rc": "c",
|
|
||||||
+ "dev": "@",
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+def _parse_version_parts(s: str) -> Iterator[str]:
|
|
||||||
+ for part in _legacy_version_component_re.split(s):
|
|
||||||
+ part = _legacy_version_replacement_map.get(part, part)
|
|
||||||
+
|
|
||||||
+ if not part or part == ".":
|
|
||||||
+ continue
|
|
||||||
+
|
|
||||||
+ if part[:1] in "0123456789":
|
|
||||||
+ # pad for numeric comparison
|
|
||||||
+ yield part.zfill(8)
|
|
||||||
+ else:
|
|
||||||
+ yield "*" + part
|
|
||||||
+
|
|
||||||
+ # ensure that alpha/beta/candidate are before final
|
|
||||||
+ yield "*final"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+def _legacy_cmpkey(version: str) -> Tuple[int, Tuple[str, ...]]:
|
|
||||||
+
|
|
||||||
+ # We hardcode an epoch of -1 here. A PEP 440 version can only have a epoch
|
|
||||||
+ # greater than or equal to 0. This will effectively put the LegacyVersion,
|
|
||||||
+ # which uses the defacto standard originally implemented by setuptools,
|
|
||||||
+ # as before all PEP 440 versions.
|
|
||||||
+ epoch = -1
|
|
||||||
+
|
|
||||||
+ # This scheme is taken from pkg_resources.parse_version setuptools prior to
|
|
||||||
+ # it's adoption of the packaging library.
|
|
||||||
+ parts: List[str] = []
|
|
||||||
+ for part in _parse_version_parts(version.lower()):
|
|
||||||
+ if part.startswith("*"):
|
|
||||||
+ # remove "-" before a prerelease tag
|
|
||||||
+ if part < "*final":
|
|
||||||
+ while parts and parts[-1] == "*final-":
|
|
||||||
+ parts.pop()
|
|
||||||
+
|
|
||||||
+ # remove trailing zeros from each series of numeric parts
|
|
||||||
+ while parts and parts[-1] == "00000000":
|
|
||||||
+ parts.pop()
|
|
||||||
+
|
|
||||||
+ parts.append(part)
|
|
||||||
+
|
|
||||||
+ return epoch, tuple(parts)
|
|
||||||
+
|
|
||||||
+
|
|
||||||
class PluginVersion(str):
|
|
||||||
'''Class providing comparison capabilities for plugin versions.'''
|
|
||||||
|
|
||||||
@@ -76,15 +132,14 @@ class PluginVersion(str):
|
|
||||||
'''Parse plugin version and store it for comparison.'''
|
|
||||||
|
|
||||||
self._version = version
|
|
||||||
- self.parsed_version = pkg_resources.parse_version(
|
|
||||||
- self.__convert_version(version))
|
|
||||||
+ self.parsed_version = _legacy_cmpkey(self.__convert_version(version))
|
|
||||||
|
|
||||||
def __convert_version(self, version):
|
|
||||||
return self._VERSION_RE.sub(r'\g<1>.preview', str(version))
|
|
||||||
|
|
||||||
def __compare(self, op, version):
|
|
||||||
- return op(self.parsed_version, pkg_resources.parse_version(
|
|
||||||
- self.__convert_version(version)))
|
|
||||||
+ return op(self.parsed_version,
|
|
||||||
+ _legacy_cmpkey(self.__convert_version(version)))
|
|
||||||
|
|
||||||
def __le__(self, version):
|
|
||||||
return self.__compare(operator.le, version)
|
|
||||||
Index: python-jenkins-1.8.0/requirements.txt
|
|
||||||
===================================================================
|
|
||||||
--- python-jenkins-1.8.0.orig/requirements.txt
|
|
||||||
+++ python-jenkins-1.8.0/requirements.txt
|
|
||||||
@@ -1,5 +1,3 @@
|
|
||||||
-# Setuptools removed support for PEP 440 non-conforming versions
|
|
||||||
-setuptools<66
|
|
||||||
six>=1.3.0
|
|
||||||
pbr>=0.8.2
|
|
||||||
multi_key_dict
|
|
Reference in New Issue
Block a user