jolt 0.9.347__py3-none-any.whl → 0.9.350__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/graph.py +27 -10
- jolt/plugins/git.py +1 -11
- jolt/version.py +1 -1
- {jolt-0.9.347.dist-info → jolt-0.9.350.dist-info}/METADATA +1 -1
- {jolt-0.9.347.dist-info → jolt-0.9.350.dist-info}/RECORD +8 -8
- {jolt-0.9.347.dist-info → jolt-0.9.350.dist-info}/WHEEL +0 -0
- {jolt-0.9.347.dist-info → jolt-0.9.350.dist-info}/entry_points.txt +0 -0
- {jolt-0.9.347.dist-info → jolt-0.9.350.dist-info}/top_level.txt +0 -0
jolt/graph.py
CHANGED
|
@@ -216,7 +216,7 @@ class TaskProxy(object):
|
|
|
216
216
|
for c in self.children:
|
|
217
217
|
if c.is_resource() or c.is_alias():
|
|
218
218
|
continue
|
|
219
|
-
if not c.is_available_locally():
|
|
219
|
+
if not c.is_available_locally(persistent_only=True):
|
|
220
220
|
return False
|
|
221
221
|
return True
|
|
222
222
|
|
|
@@ -335,16 +335,32 @@ class TaskProxy(object):
|
|
|
335
335
|
self._download = False
|
|
336
336
|
|
|
337
337
|
def download(self, force=False, session_only=False, persistent_only=False):
|
|
338
|
+
"""
|
|
339
|
+
Downloads all artifacts of this task.
|
|
340
|
+
|
|
341
|
+
If the task is not downloadable, the method returns True. Failure to
|
|
342
|
+
download persistent artifacts is considered a failure, and the method
|
|
343
|
+
returns False. Session artifacts are not required to be downloaded.
|
|
344
|
+
|
|
345
|
+
:param force: Force download even if the artifacts are already available.
|
|
346
|
+
:param session_only: Download only session artifacts.
|
|
347
|
+
:param persistent_only: Download only persistent artifacts.
|
|
348
|
+
|
|
349
|
+
"""
|
|
338
350
|
if not force and not self.is_downloadable():
|
|
339
351
|
return True
|
|
352
|
+
success = True
|
|
340
353
|
artifacts = self._artifacts
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
354
|
+
artifacts_session = list(filter(lambda a: a.is_session(), artifacts))
|
|
355
|
+
artifacts_persistent = list(filter(lambda a: not a.is_session(), artifacts))
|
|
356
|
+
download_all = not session_only and not persistent_only
|
|
357
|
+
if session_only or download_all:
|
|
358
|
+
for artifact in artifacts_session:
|
|
359
|
+
if not self.cache.download(artifact, force=force):
|
|
360
|
+
self.warning("Failed to download session artifact: {}", artifact.identity)
|
|
361
|
+
if persistent_only or download_all:
|
|
362
|
+
success = all([self.cache.download(artifact, force=force) for artifact in artifacts_persistent])
|
|
363
|
+
return success
|
|
348
364
|
|
|
349
365
|
def upload(self, force=False, locked=False, session_only=False, persistent_only=False, artifacts=None):
|
|
350
366
|
artifacts = artifacts or self._artifacts
|
|
@@ -426,9 +442,10 @@ class TaskProxy(object):
|
|
|
426
442
|
self.children.extend(n.children)
|
|
427
443
|
n.ancestors.add(self)
|
|
428
444
|
|
|
429
|
-
# Exclude transitive alias and resources dependencies
|
|
445
|
+
# Exclude transitive alias and resources dependencies.
|
|
446
|
+
# Workspace resources are included as they may be required by its dependencies.
|
|
430
447
|
self.children = list(
|
|
431
|
-
filter(lambda n:
|
|
448
|
+
filter(lambda n: (dag.are_neighbors(self, n) or n.is_workspace_resource()) or (not n.is_alias() and not n.is_resource()),
|
|
432
449
|
utils.unique_list(self.children)))
|
|
433
450
|
|
|
434
451
|
# Prepare workspace resources for this task so that influence can be calculated
|
jolt/plugins/git.py
CHANGED
|
@@ -43,7 +43,6 @@ class GitRepository(object):
|
|
|
43
43
|
self._tree_hash = {}
|
|
44
44
|
self._original_head = True
|
|
45
45
|
self._last_rev = None
|
|
46
|
-
self._lock = RLock()
|
|
47
46
|
self._init_repo()
|
|
48
47
|
|
|
49
48
|
def _init_repo(self):
|
|
@@ -77,7 +76,6 @@ class GitRepository(object):
|
|
|
77
76
|
def is_indexed(self):
|
|
78
77
|
return self.is_cloned() and fs.path.exists(self._git_index())
|
|
79
78
|
|
|
80
|
-
@locked
|
|
81
79
|
def clone(self):
|
|
82
80
|
log.info("Cloning into {0}", self.path)
|
|
83
81
|
|
|
@@ -127,7 +125,6 @@ class GitRepository(object):
|
|
|
127
125
|
"Failed to clone repository '{0}'", self.relpath)
|
|
128
126
|
|
|
129
127
|
@utils.cached.instance
|
|
130
|
-
@locked
|
|
131
128
|
def diff_unchecked(self):
|
|
132
129
|
if not self.is_indexed():
|
|
133
130
|
return ""
|
|
@@ -141,7 +138,6 @@ class GitRepository(object):
|
|
|
141
138
|
output_on_error=True,
|
|
142
139
|
output_rstrip=False)
|
|
143
140
|
|
|
144
|
-
@locked
|
|
145
141
|
def diff(self):
|
|
146
142
|
diff = self.diff_unchecked()
|
|
147
143
|
dlim = config.getsize("git", "maxdiffsize", "1 MiB")
|
|
@@ -151,7 +147,6 @@ class GitRepository(object):
|
|
|
151
147
|
.format(self.relpath, len(diff), dlim))
|
|
152
148
|
return diff
|
|
153
149
|
|
|
154
|
-
@locked
|
|
155
150
|
def patch(self, patch):
|
|
156
151
|
if not patch:
|
|
157
152
|
return
|
|
@@ -162,7 +157,6 @@ class GitRepository(object):
|
|
|
162
157
|
log.info("Applying patch to {0}", self.path)
|
|
163
158
|
self.tools.run("git apply --whitespace=nowarn {patchfile}", patchfile=patchfile)
|
|
164
159
|
|
|
165
|
-
@locked
|
|
166
160
|
def head(self):
|
|
167
161
|
if not self.is_cloned():
|
|
168
162
|
return None
|
|
@@ -206,7 +200,6 @@ class GitRepository(object):
|
|
|
206
200
|
output_on_error=True)
|
|
207
201
|
return tree
|
|
208
202
|
|
|
209
|
-
@locked
|
|
210
203
|
def tree_hash(self, rev=None, path="/"):
|
|
211
204
|
# When rev is None, the caller want the tree hash of the repository's
|
|
212
205
|
# current workspace state. If no checkout has been made, that would be the
|
|
@@ -246,17 +239,14 @@ class GitRepository(object):
|
|
|
246
239
|
|
|
247
240
|
return value
|
|
248
241
|
|
|
249
|
-
@locked
|
|
250
242
|
def clean(self):
|
|
251
243
|
with self.tools.cwd(self.path):
|
|
252
244
|
return self.tools.run("git clean -dfx", output_on_error=True)
|
|
253
245
|
|
|
254
|
-
@locked
|
|
255
246
|
def reset(self):
|
|
256
247
|
with self.tools.cwd(self.path):
|
|
257
248
|
return self.tools.run("git reset --hard", output_on_error=True)
|
|
258
249
|
|
|
259
|
-
@locked
|
|
260
250
|
def fetch(self, commit=None):
|
|
261
251
|
if commit and not self.is_valid_sha(commit):
|
|
262
252
|
commit = None
|
|
@@ -270,7 +260,6 @@ class GitRepository(object):
|
|
|
270
260
|
what=commit or refspec or '',
|
|
271
261
|
output_on_error=True)
|
|
272
262
|
|
|
273
|
-
@locked
|
|
274
263
|
def checkout(self, rev, commit=None):
|
|
275
264
|
if rev == self._last_rev:
|
|
276
265
|
log.debug("Checkout skipped, already @ {}", rev)
|
|
@@ -566,6 +555,7 @@ class Git(WorkspaceResource, FileInfluence):
|
|
|
566
555
|
influence = super()._influence()
|
|
567
556
|
return influence + [self] if self._must_influence() else influence
|
|
568
557
|
|
|
558
|
+
@locked
|
|
569
559
|
@utils.cached.instance
|
|
570
560
|
def get_influence(self, task):
|
|
571
561
|
if not self.git.is_cloned():
|
jolt/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.9.
|
|
1
|
+
__version__ = "0.9.350"
|
|
@@ -10,7 +10,7 @@ jolt/config.py,sha256=2S8_bdcHaNzwDfkCkHNjFaWn9pykStA4rUa7pz3m5Sg,10367
|
|
|
10
10
|
jolt/error.py,sha256=wbYU_ip3zGHlhmjQWjEeLlmLdTpiqIeFM5zJndVQdj4,2399
|
|
11
11
|
jolt/expires.py,sha256=GDagfgJOlX_z2LLIFhKHBaXI96jo1S3ca2OGWQi1oj4,2330
|
|
12
12
|
jolt/filesystem.py,sha256=BytxYk6Xq0peuRB9gUZ7EDsvbgirfp4EcjPANNDIstQ,5916
|
|
13
|
-
jolt/graph.py,sha256=
|
|
13
|
+
jolt/graph.py,sha256=fpnpxi7DwTBk9Mh88iskOkptjpdjU1WFEsFmXnockXo,45698
|
|
14
14
|
jolt/hooks.py,sha256=jcCaNwlyFrWkXrO6MiO_roDQVohefbablfXnuQ3dmmM,11029
|
|
15
15
|
jolt/influence.py,sha256=c5Vdizk9kK-8O7cSU9LAHhh8xkvchudstBn7HLIr9hg,16937
|
|
16
16
|
jolt/inspection.py,sha256=QkOCXAbjJBdw1SMsb6xH_3GHXV5BcdzaGD7HrGmOJss,3931
|
|
@@ -23,7 +23,7 @@ jolt/tasks.py,sha256=RYgkG_VB1CxJ_KPbNwPa-EWmqkES7uyvhqyFGtHDtQw,112809
|
|
|
23
23
|
jolt/timer.py,sha256=PE-7vmsqZpF73e_cKSsrhd36-A7fJ9_XGYI_oBWJn5w,644
|
|
24
24
|
jolt/tools.py,sha256=_ijnN47sDFaEDhPMPIkLKcqGOewk2MLzvvyp3kuoask,79867
|
|
25
25
|
jolt/utils.py,sha256=6TphNzqr2AAQ55bGDD36YoJSi8qQM3FRkrY1iIkhtNA,18771
|
|
26
|
-
jolt/version.py,sha256=
|
|
26
|
+
jolt/version.py,sha256=lrUnx27u4yml1xuI2hCpgfAIoqn2zRxc_QY5KPnVTA0,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
|
|
@@ -48,7 +48,7 @@ jolt/plugins/email.xslt,sha256=3vrrfnG-KH_cfJq6RDOXHKQxKd-6s28qy4znapGaciM,8513
|
|
|
48
48
|
jolt/plugins/environ.py,sha256=TKyajli6790VRMAVFKxKxUgdTR8Gg-4ftsgTd05cO74,3371
|
|
49
49
|
jolt/plugins/gdb.py,sha256=EIsAGqMXKQ_EtdW_bsKXVU66J8JfUMFQjo-vzFHAADk,6151
|
|
50
50
|
jolt/plugins/gerrit.py,sha256=tc8NeIDAg3mZJINU5aZg1fs3YsaVxM_MvkHa149aAIs,768
|
|
51
|
-
jolt/plugins/git.py,sha256=
|
|
51
|
+
jolt/plugins/git.py,sha256=AiPzYl0eqPcrd1bw8il42cUUrBLcCQIAG4f54wSVhyQ,21204
|
|
52
52
|
jolt/plugins/golang.py,sha256=vV4iRoJpWkyfrBa96s6jgU8Sz8GnGl-lzG_FSj5epzQ,2049
|
|
53
53
|
jolt/plugins/googletest.py,sha256=9aV_T21JY84YgeSiaV4ppZhVs1XFt19m3pPrJW2iGfI,18708
|
|
54
54
|
jolt/plugins/http.py,sha256=HwuABHR2tuWm_jBdQpCO3AMkjFdwOzUfEi26X-2v_y8,3816
|
|
@@ -86,8 +86,8 @@ jolt/templates/cxxexecutable.cmake.template,sha256=f0dg1VOFlamlF8fuHFTki5dsJ2ssS
|
|
|
86
86
|
jolt/templates/cxxlibrary.cmake.template,sha256=GMEG2G3QoY3E5fsNer52zOqgM221-abeCkV__mVbZ94,1750
|
|
87
87
|
jolt/templates/export.sh.template,sha256=PKkflGXFbq70EIsowqcnLvzbnEDnqh_WgC4E_JNT0VE,1937
|
|
88
88
|
jolt/templates/timeline.html.template,sha256=xdqvFBmhE8XRQaWgcIFBVbd__9HdRq6O-U0o276PyjU,1222
|
|
89
|
-
jolt-0.9.
|
|
90
|
-
jolt-0.9.
|
|
91
|
-
jolt-0.9.
|
|
92
|
-
jolt-0.9.
|
|
93
|
-
jolt-0.9.
|
|
89
|
+
jolt-0.9.350.dist-info/METADATA,sha256=qxGNCJtXk0C9KGspuOEPpTeCYtO_hx1wXaGjGcOtcHA,5557
|
|
90
|
+
jolt-0.9.350.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
91
|
+
jolt-0.9.350.dist-info/entry_points.txt,sha256=VZ-QH38Z9HJc1O57wfzr-soHn6exwc3N0TSrRum4tYg,44
|
|
92
|
+
jolt-0.9.350.dist-info/top_level.txt,sha256=HwzVmAwUrvCUUHRi3zUfcpdKTsdNrZmPCvsrsWSFyqE,5
|
|
93
|
+
jolt-0.9.350.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|