jolt 0.9.395__py3-none-any.whl → 0.9.414__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
jolt/plugins/git.py CHANGED
@@ -111,7 +111,7 @@ class GitRepository(object):
111
111
 
112
112
  utils.call_and_catch(self.tools.run, "git remote remove origin", output=False)
113
113
  self.tools.run("git remote add origin {}", self.url, output_on_error=True)
114
- self.tools.run("git fetch origin", output_on_error=True)
114
+ self._fetch_origin()
115
115
  self.tools.run("git checkout -f FETCH_HEAD", output_on_error=True)
116
116
  else:
117
117
  if refpath and os.path.isdir(refpath):
@@ -124,6 +124,11 @@ class GitRepository(object):
124
124
  self.repository is None,
125
125
  "Failed to clone repository '{0}'", self.relpath)
126
126
 
127
+ @utils.retried.on_exception(JoltCommandError, pattern="Command failed: git fetch", count=6, backoff=[2, 5, 10, 15, 20, 30])
128
+ def _fetch_origin(self):
129
+ with self.tools.cwd(self.path):
130
+ self.tools.run("git fetch origin", output_on_error=True)
131
+
127
132
  @utils.cached.instance
128
133
  def diff_unchecked(self):
129
134
  if not self.is_indexed():
@@ -247,6 +252,7 @@ class GitRepository(object):
247
252
  with self.tools.cwd(self.path):
248
253
  return self.tools.run("git reset --hard", output_on_error=True)
249
254
 
255
+ @utils.retried.on_exception(JoltCommandError, pattern="Command failed: git fetch", count=6, backoff=[2, 5, 10, 15, 20, 30])
250
256
  def fetch(self, commit=None):
251
257
  if commit and not self.is_valid_sha(commit):
252
258
  commit = None
@@ -255,7 +261,7 @@ class GitRepository(object):
255
261
  with self.tools.cwd(self.path):
256
262
  log.info("Fetching {0} from {1}", commit or refspec or 'commits', self.url)
257
263
  self.tools.run(
258
- "git fetch --prune {url} {what}",
264
+ "git fetch --force --prune {url} {what}",
259
265
  url=self.url,
260
266
  what=commit or refspec or '',
261
267
  output_on_error=True)
@@ -1,5 +1,5 @@
1
+ import importlib_metadata
1
2
  import os
2
- import pkg_resources
3
3
 
4
4
  from jolt import config
5
5
  from jolt import filesystem as fs
@@ -100,21 +100,33 @@ class Jolt(Task):
100
100
  def get_dependencies(packages=None):
101
101
  reqs = packages or ["jolt"]
102
102
  pkgs = {}
103
+ skip = set()
103
104
 
104
105
  while reqs:
105
106
  req = reqs.pop()
106
107
 
107
- dist = pkg_resources.working_set.by_key.get(req)
108
+ try:
109
+ dist = importlib_metadata.distribution(req)
110
+ except (ImportError, importlib_metadata.PackageNotFoundError):
111
+ dist = None
112
+ except Exception:
113
+ dist = None
108
114
  if dist is None:
109
- log.debug("[SelfDeploy] Dependency not found: {}", req)
110
- pkgs[req] = req
115
+ skip.add(req)
111
116
  continue
112
117
 
113
- for dep in dist.requires():
114
- if dep.name not in pkgs:
115
- reqs.append(dep.name)
116
-
117
- pkgs[req] = f"{dist.project_name}=={dist.version}"
118
+ for dep in dist.requires or []:
119
+ dep = dep.split(" ", 1)[0].strip()
120
+ dep = dep.split("[", 1)[0].strip()
121
+ dep = dep.split(";", 1)[0].strip()
122
+ dep = dep.split(">", 1)[0].strip()
123
+ dep = dep.split("=", 1)[0].strip()
124
+ dep = dep.split("<", 1)[0].strip()
125
+ dep = dep.split("!", 1)[0].strip()
126
+ if dep not in pkgs and dep not in skip:
127
+ reqs.append(dep)
128
+
129
+ pkgs[req] = f"{dist.name}=={dist.version}"
118
130
 
119
131
  try:
120
132
  del pkgs["jolt"]
jolt/tasks.py CHANGED
@@ -10,6 +10,7 @@ import platform
10
10
  from threading import RLock
11
11
  import subprocess
12
12
  from os import environ
13
+ from os import sys as os_sys
13
14
  import sys
14
15
  import unittest as ut
15
16
  from urllib.parse import urlparse
@@ -3134,7 +3135,8 @@ class Script(Task):
3134
3135
  doc = self.__doc__.split("---", 1)
3135
3136
  script = doc[1] if len(doc) > 1 else doc[0]
3136
3137
  script = script.splitlines()
3137
- script = [line[4:] for line in script]
3138
+ if os_sys.version_info < (3, 13):
3139
+ script = [line[4:] for line in script]
3138
3140
  script = "\n".join(script)
3139
3141
  script = script.lstrip()
3140
3142
  if not script.startswith("#!"):
jolt/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.9.395"
1
+ __version__ = "0.9.414"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jolt
3
- Version: 0.9.395
3
+ Version: 0.9.414
4
4
  Summary: A task executor
5
5
  Home-page: https://github.com/srand/jolt
6
6
  Author: Robert Andersson
@@ -21,38 +21,66 @@ Classifier: Programming Language :: Java
21
21
  Classifier: Programming Language :: JavaScript
22
22
  Classifier: Programming Language :: Python :: 3
23
23
  Requires-Python: >=3.8
24
- Requires-Dist: MarkupSafe
25
- Requires-Dist: SecretStorage
24
+ Requires-Dist: Jinja2==3.1.4
25
+ Requires-Dist: Jinja2==3.1.4
26
+ Requires-Dist: MarkupSafe==2.1.5
27
+ Requires-Dist: PyJWT==2.9.0
28
+ Requires-Dist: PyYAML==6.0.2
29
+ Requires-Dist: Pygments==2.18.0
30
+ Requires-Dist: SecretStorage==3.3.3
31
+ Requires-Dist: allure-python-commons==2.13.5
32
+ Requires-Dist: attrs==24.2.0
26
33
  Requires-Dist: backports.tarfile==1.2.0
34
+ Requires-Dist: bottle==0.12.25
27
35
  Requires-Dist: bz2file==0.98
28
36
  Requires-Dist: certifi==2024.8.30
29
37
  Requires-Dist: cffi==1.17.1
30
38
  Requires-Dist: charset-normalizer==3.3.2
31
39
  Requires-Dist: click==8.1.7
32
40
  Requires-Dist: colorama==0.4.6
41
+ Requires-Dist: conan==2.10.2
42
+ Requires-Dist: cryptography==43.0.1
43
+ Requires-Dist: distro==1.8.0
44
+ Requires-Dist: docutils==0.21.2
33
45
  Requires-Dist: fasteners==0.19
46
+ Requires-Dist: flake8==7.1.1
34
47
  Requires-Dist: grpcio==1.66.1
35
48
  Requires-Dist: idna==3.10
36
- Requires-Dist: importlib-metadata==8.5.0
37
- Requires-Dist: importlib_metadata
49
+ Requires-Dist: importlib_metadata==8.5.0
50
+ Requires-Dist: importlib_metadata==8.5.0
38
51
  Requires-Dist: jaraco.classes==3.4.0
39
52
  Requires-Dist: jaraco.context==6.0.1
40
53
  Requires-Dist: jaraco.functools==4.0.2
41
54
  Requires-Dist: jeepney==0.8.0
42
- Requires-Dist: jinja2==3.1.4
43
55
  Requires-Dist: keyring==25.4.1
44
56
  Requires-Dist: keyrings.alt==5.0.2
45
57
  Requires-Dist: lxml==5.3.0
58
+ Requires-Dist: mccabe==0.7.0
46
59
  Requires-Dist: more-itertools==10.5.0
47
- Requires-Dist: multi_key_dict
60
+ Requires-Dist: more-itertools==10.5.0
61
+ Requires-Dist: multi_key_dict==2.0.3
62
+ Requires-Dist: nh3==0.2.19
48
63
  Requires-Dist: ninja==1.11.1.1
64
+ Requires-Dist: packaging==24.2
65
+ Requires-Dist: patch-ng==1.18.1
66
+ Requires-Dist: pip==25.3
67
+ Requires-Dist: pluggy==1.5.0
68
+ Requires-Dist: pluginbase==1.0.1
49
69
  Requires-Dist: protobuf==5.28.2
50
70
  Requires-Dist: psutil==6.0.0
71
+ Requires-Dist: pycodestyle==2.12.1
51
72
  Requires-Dist: pycparser==2.22
73
+ Requires-Dist: pyflakes==3.2.0
52
74
  Requires-Dist: pygit2==1.15.1
75
+ Requires-Dist: python-dateutil==2.9.0.post0
76
+ Requires-Dist: readme_renderer==44.0
53
77
  Requires-Dist: requests==2.32.3
78
+ Requires-Dist: setuptools==80.9.0
79
+ Requires-Dist: six==1.16.0
54
80
  Requires-Dist: tqdm==4.66.5
81
+ Requires-Dist: typing_extensions==4.12.2
55
82
  Requires-Dist: urllib3==1.26.20
83
+ Requires-Dist: wheel==0.45.1
56
84
  Requires-Dist: zipp==3.20.2
57
85
  Requires-Dist: zstandard==0.23.0
58
86
  Provides-Extra: allure
@@ -19,11 +19,11 @@ jolt/log.py,sha256=cqEfX__AWSA4onueTTdoL4HnovEtzT4yoRoyKQk2MH8,14592
19
19
  jolt/manifest.py,sha256=V5fkvTE-cZt0IQbA8sBdC4WEaYrz7FEXQdSt6Uj-DWc,7256
20
20
  jolt/options.py,sha256=BrsyKsj3sY5qogMreHGgbimQuyGjnyilCa8QXPVm1Y0,947
21
21
  jolt/scheduler.py,sha256=2xehPvoJDLdv211UdP2cqqQs2M2L5Ozw2_GuE556Tjg,32513
22
- jolt/tasks.py,sha256=fD-huf0h0xN5x3MjClaZMRDPuhjwHeF3SBnqXXlHjtM,115888
22
+ jolt/tasks.py,sha256=45UcZYaXV2-KQZHTsA4_TCiY1G8Bvpf6M7K2_R6ELJo,115963
23
23
  jolt/timer.py,sha256=PE-7vmsqZpF73e_cKSsrhd36-A7fJ9_XGYI_oBWJn5w,644
24
24
  jolt/tools.py,sha256=A9mbyZkp4NH9Xkroz5KKhsvn8jIqnvnogVaI4VbgM20,80171
25
25
  jolt/utils.py,sha256=bbp5mMhQRdq7sHDAxaqVVgD4QGGWXcwMCyIgG8LvyoA,19133
26
- jolt/version.py,sha256=iL8LBuTPisUZhLTYDKVadH6mpJf0bAZWS8ZdechzVOM,24
26
+ jolt/version.py,sha256=ULqTpfbLz-5Z_aP6GcjaiAJnQO__jRJkmSUyiuS_zKk,24
27
27
  jolt/version_utils.py,sha256=tNCGT6ZmSGFHW1aw2Hx1l19m-RR1UnTN6xJV1I54KRw,3900
28
28
  jolt/xmldom.py,sha256=SbygiDUMYczzWGxXa60ZguWS6Nztg8gDAirdbtjT15I,5982
29
29
  jolt/bin/fstree-darwin-x86_64,sha256=i4Ppbdr7CxsEhJzWpy3GMB5Gn5ikmskh41MyUwQS3-o,29549000
@@ -47,7 +47,7 @@ jolt/plugins/email.xslt,sha256=3vrrfnG-KH_cfJq6RDOXHKQxKd-6s28qy4znapGaciM,8513
47
47
  jolt/plugins/environ.py,sha256=k382rvEKWj-nlibJcCUWcYtYheU8p9df9ZY0DAAkjDE,3561
48
48
  jolt/plugins/gdb.py,sha256=gg-H_IQvRRPDZpk-djdIU7j3PO8CDINCSxWOemD2fA8,6288
49
49
  jolt/plugins/gerrit.py,sha256=tc8NeIDAg3mZJINU5aZg1fs3YsaVxM_MvkHa149aAIs,768
50
- jolt/plugins/git.py,sha256=AiPzYl0eqPcrd1bw8il42cUUrBLcCQIAG4f54wSVhyQ,21204
50
+ jolt/plugins/git.py,sha256=PJhOp0uWKMylJoNqHGm7NRqIAU20kv9fc2ZnfvSTqjo,21571
51
51
  jolt/plugins/golang.py,sha256=vV4iRoJpWkyfrBa96s6jgU8Sz8GnGl-lzG_FSj5epzQ,2049
52
52
  jolt/plugins/googletest.py,sha256=9aV_T21JY84YgeSiaV4ppZhVs1XFt19m3pPrJW2iGfI,18708
53
53
  jolt/plugins/http.py,sha256=HwuABHR2tuWm_jBdQpCO3AMkjFdwOzUfEi26X-2v_y8,3816
@@ -62,7 +62,7 @@ jolt/plugins/podman.py,sha256=7xrPWaJvSzsBSsEUaCwBfVtMfzx5pLUrZB7pxf8hLzs,22487
62
62
  jolt/plugins/python.py,sha256=kLx1Y3ezMH9AOW36DH_cNyDlvbIdTkyvPjwLYolnCEU,3073
63
63
  jolt/plugins/report.py,sha256=EiPuZSoxEM-fXDsHBQuRTf1xtvN_gPBodMej3E9CGx0,2695
64
64
  jolt/plugins/scheduler.py,sha256=SJdRb0taOF4zhKkPfc9zg8UyvDn7rJYtbyMPC93XXsk,24560
65
- jolt/plugins/selfdeploy.py,sha256=Mpjxr3O4xqHiBf1wN-fXRp0slfvbH1usSGcthaLO6_c,6508
65
+ jolt/plugins/selfdeploy.py,sha256=oYeBefUfabf-ACEVbdyJi2n9SfAuXLK1Q12D35obZsw,6952
66
66
  jolt/plugins/strings.py,sha256=sHDroW0srlQI1aRwu_WANkmR35sUxPvZGO28CYo-ClY,1783
67
67
  jolt/plugins/symlinks.py,sha256=u4lTcpkepf0_mr_RI85uiSkI_WAUGebAOsbH5WlAnzo,2399
68
68
  jolt/plugins/telemetry.py,sha256=xHgJVbSVRaPy67kblL4wj86mDESlFS1z3NGDJ2uDXZ8,3572
@@ -85,8 +85,8 @@ jolt/templates/cxxexecutable.cmake.template,sha256=f0dg1VOFlamlF8fuHFTki5dsJ2ssS
85
85
  jolt/templates/cxxlibrary.cmake.template,sha256=GMEG2G3QoY3E5fsNer52zOqgM221-abeCkV__mVbZ94,1750
86
86
  jolt/templates/export.sh.template,sha256=PKkflGXFbq70EIsowqcnLvzbnEDnqh_WgC4E_JNT0VE,1937
87
87
  jolt/templates/timeline.html.template,sha256=xdqvFBmhE8XRQaWgcIFBVbd__9HdRq6O-U0o276PyjU,1222
88
- jolt-0.9.395.dist-info/METADATA,sha256=YSnsnUFCUPt9qPdhmrCQLe1-NoCKL-KdpnYe6wmqLRU,5763
89
- jolt-0.9.395.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
90
- jolt-0.9.395.dist-info/entry_points.txt,sha256=VZ-QH38Z9HJc1O57wfzr-soHn6exwc3N0TSrRum4tYg,44
91
- jolt-0.9.395.dist-info/top_level.txt,sha256=HwzVmAwUrvCUUHRi3zUfcpdKTsdNrZmPCvsrsWSFyqE,5
92
- jolt-0.9.395.dist-info/RECORD,,
88
+ jolt-0.9.414.dist-info/METADATA,sha256=hf96S079kixNuNh4JBc26tYnga1mekWWuxJVDkAIneY,6691
89
+ jolt-0.9.414.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
90
+ jolt-0.9.414.dist-info/entry_points.txt,sha256=VZ-QH38Z9HJc1O57wfzr-soHn6exwc3N0TSrRum4tYg,44
91
+ jolt-0.9.414.dist-info/top_level.txt,sha256=HwzVmAwUrvCUUHRi3zUfcpdKTsdNrZmPCvsrsWSFyqE,5
92
+ jolt-0.9.414.dist-info/RECORD,,
File without changes