jolt 0.9.350__tar.gz → 0.9.352__tar.gz

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.
Files changed (97) hide show
  1. {jolt-0.9.350 → jolt-0.9.352}/PKG-INFO +1 -1
  2. {jolt-0.9.350 → jolt-0.9.352}/jolt/graph.py +3 -4
  3. {jolt-0.9.350 → jolt-0.9.352}/jolt/tasks.py +43 -0
  4. jolt-0.9.352/jolt/version.py +1 -0
  5. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/PKG-INFO +1 -1
  6. jolt-0.9.350/jolt/version.py +0 -1
  7. {jolt-0.9.350 → jolt-0.9.352}/README.rst +0 -0
  8. {jolt-0.9.350 → jolt-0.9.352}/jolt/__init__.py +0 -0
  9. {jolt-0.9.350 → jolt-0.9.352}/jolt/__main__.py +0 -0
  10. {jolt-0.9.350 → jolt-0.9.352}/jolt/bin/fstree-darwin-x86_64 +0 -0
  11. {jolt-0.9.350 → jolt-0.9.352}/jolt/bin/fstree-linux-x86_64 +0 -0
  12. {jolt-0.9.350 → jolt-0.9.352}/jolt/cache.py +0 -0
  13. {jolt-0.9.350 → jolt-0.9.352}/jolt/chroot.py +0 -0
  14. {jolt-0.9.350 → jolt-0.9.352}/jolt/cli.py +0 -0
  15. {jolt-0.9.350 → jolt-0.9.352}/jolt/colors.py +0 -0
  16. {jolt-0.9.350 → jolt-0.9.352}/jolt/common_pb2.py +0 -0
  17. {jolt-0.9.350 → jolt-0.9.352}/jolt/common_pb2_grpc.py +0 -0
  18. {jolt-0.9.350 → jolt-0.9.352}/jolt/config.py +0 -0
  19. {jolt-0.9.350 → jolt-0.9.352}/jolt/error.py +0 -0
  20. {jolt-0.9.350 → jolt-0.9.352}/jolt/expires.py +0 -0
  21. {jolt-0.9.350 → jolt-0.9.352}/jolt/filesystem.py +0 -0
  22. {jolt-0.9.350 → jolt-0.9.352}/jolt/hooks.py +0 -0
  23. {jolt-0.9.350 → jolt-0.9.352}/jolt/influence.py +0 -0
  24. {jolt-0.9.350 → jolt-0.9.352}/jolt/inspection.py +0 -0
  25. {jolt-0.9.350 → jolt-0.9.352}/jolt/loader.py +0 -0
  26. {jolt-0.9.350 → jolt-0.9.352}/jolt/log.py +0 -0
  27. {jolt-0.9.350 → jolt-0.9.352}/jolt/manifest.py +0 -0
  28. {jolt-0.9.350 → jolt-0.9.352}/jolt/options.py +0 -0
  29. {jolt-0.9.350 → jolt-0.9.352}/jolt/pkgs/__init__.py +0 -0
  30. {jolt-0.9.350 → jolt-0.9.352}/jolt/pkgs/golang.py +0 -0
  31. {jolt-0.9.350 → jolt-0.9.352}/jolt/pkgs/nodejs.py +0 -0
  32. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/__init__.py +0 -0
  33. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/alias.py +0 -0
  34. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/allure.py +0 -0
  35. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/autoweight.py +0 -0
  36. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/cache.py +0 -0
  37. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/cmake.py +0 -0
  38. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/conan.py +0 -0
  39. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/cxx.py +0 -0
  40. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/cxxinfo.py +0 -0
  41. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/dashboard.py +0 -0
  42. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/debian.py +0 -0
  43. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/docker.py +0 -0
  44. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/email.py +0 -0
  45. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/email.xslt +0 -0
  46. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/environ.py +0 -0
  47. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/gdb.py +0 -0
  48. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/gerrit.py +0 -0
  49. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/git.py +0 -0
  50. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/golang.py +0 -0
  51. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/googletest.py +0 -0
  52. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/http.py +0 -0
  53. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/junit.py +0 -0
  54. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/logstash.py +0 -0
  55. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/ninja-compdb.py +0 -0
  56. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/ninja.py +0 -0
  57. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/nodejs.py +0 -0
  58. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/paths.py +0 -0
  59. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/podman.py +0 -0
  60. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/python.py +0 -0
  61. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/__init__.py +0 -0
  62. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/administration_pb2.py +0 -0
  63. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/administration_pb2_grpc.py +0 -0
  64. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/log_pb2.py +0 -0
  65. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/log_pb2_grpc.py +0 -0
  66. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/scheduler_pb2.py +0 -0
  67. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/scheduler_pb2_grpc.py +0 -0
  68. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/worker_pb2.py +0 -0
  69. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/remote_execution/worker_pb2_grpc.py +0 -0
  70. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/repo.py +0 -0
  71. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/report.py +0 -0
  72. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/scheduler.py +0 -0
  73. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/selfdeploy.py +0 -0
  74. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/strings.py +0 -0
  75. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/symlinks.py +0 -0
  76. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/telemetry.py +0 -0
  77. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/timeline.py +0 -0
  78. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/volume.py +0 -0
  79. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/yaml-ninja.py +0 -0
  80. {jolt-0.9.350 → jolt-0.9.352}/jolt/plugins/yamltask.py +0 -0
  81. {jolt-0.9.350 → jolt-0.9.352}/jolt/scheduler.py +0 -0
  82. {jolt-0.9.350 → jolt-0.9.352}/jolt/templates/cxxexecutable.cmake.template +0 -0
  83. {jolt-0.9.350 → jolt-0.9.352}/jolt/templates/cxxlibrary.cmake.template +0 -0
  84. {jolt-0.9.350 → jolt-0.9.352}/jolt/templates/export.sh.template +0 -0
  85. {jolt-0.9.350 → jolt-0.9.352}/jolt/templates/timeline.html.template +0 -0
  86. {jolt-0.9.350 → jolt-0.9.352}/jolt/timer.py +0 -0
  87. {jolt-0.9.350 → jolt-0.9.352}/jolt/tools.py +0 -0
  88. {jolt-0.9.350 → jolt-0.9.352}/jolt/utils.py +0 -0
  89. {jolt-0.9.350 → jolt-0.9.352}/jolt/version_utils.py +0 -0
  90. {jolt-0.9.350 → jolt-0.9.352}/jolt/xmldom.py +0 -0
  91. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/SOURCES.txt +0 -0
  92. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/dependency_links.txt +0 -0
  93. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/entry_points.txt +0 -0
  94. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/requires.txt +0 -0
  95. {jolt-0.9.350 → jolt-0.9.352}/jolt.egg-info/top_level.txt +0 -0
  96. {jolt-0.9.350 → jolt-0.9.352}/setup.cfg +0 -0
  97. {jolt-0.9.350 → jolt-0.9.352}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jolt
3
- Version: 0.9.350
3
+ Version: 0.9.352
4
4
  Summary: A task executor
5
5
  Home-page: https://github.com/srand/jolt
6
6
  Author: Robert Andersson
@@ -445,7 +445,7 @@ class TaskProxy(object):
445
445
  # Exclude transitive alias and resources dependencies.
446
446
  # Workspace resources are included as they may be required by its dependencies.
447
447
  self.children = list(
448
- filter(lambda n: (dag.are_neighbors(self, n) or n.is_workspace_resource()) or (not n.is_alias() and not n.is_resource()),
448
+ filter(lambda n: dag.are_neighbors(self, n) or (not n.is_alias() and not n.is_resource()),
449
449
  utils.unique_list(self.children)))
450
450
 
451
451
  # Prepare workspace resources for this task so that influence can be calculated
@@ -733,8 +733,7 @@ class TaskProxy(object):
733
733
  log_prefix = False
734
734
 
735
735
  # Collect list of resource dependencies
736
- resource_deps = [child for child in self.children if child.is_resource() and not child.is_workspace_resource()]
737
- resource_deps_ws = [child for child in self.children if child.is_workspace_resource()]
736
+ resource_deps = [child for child in self.children if child.is_resource()]
738
737
 
739
738
  if self.options.worker:
740
739
  # Exclude local resources when running as worker. They are already acquired by the client.
@@ -749,7 +748,7 @@ class TaskProxy(object):
749
748
  acquired = []
750
749
  try:
751
750
  # Acquire resource dependencies in reverse order.
752
- for resource in reversed(resource_deps + resource_deps_ws):
751
+ for resource in reversed(resource_deps):
753
752
  with resource.lock_artifacts(discard=False) if not resource.is_workspace_resource() else nullcontext():
754
753
  resource.deps = self.cache.get_context(resource)
755
754
  exitstack.enter_context(resource.deps)
@@ -20,6 +20,7 @@ import traceback
20
20
  from jolt import filesystem as fs
21
21
  from jolt import log
22
22
  from jolt import utils
23
+ from jolt.cache import ArtifactAttributeSetProvider
23
24
  from jolt.error import raise_error_if, raise_task_error, raise_task_error_if
24
25
  from jolt.error import raise_unreported_task_error_if
25
26
  from jolt.error import JoltError, JoltCommandError, LoggedJoltError
@@ -3394,3 +3395,45 @@ class Test(Task):
3394
3395
  "{} tests out of {} were successful".format(
3395
3396
  len(self.testresult.successes),
3396
3397
  self.testresult.testsRun))
3398
+
3399
+
3400
+ @ArtifactAttributeSetProvider.Register
3401
+ class WorkspaceResourceAttributeSetProvider(ArtifactAttributeSetProvider):
3402
+ def create(self, artifact):
3403
+ pass
3404
+
3405
+ def parse(self, artifact, content):
3406
+ pass
3407
+
3408
+ def format(self, artifact, content):
3409
+ pass
3410
+
3411
+ def apply(self, task, artifact):
3412
+ resource = artifact.task
3413
+ node = artifact.get_node()
3414
+ if not node.is_workspace_resource():
3415
+ return
3416
+
3417
+ resource.deps = node.cache.get_context(node)
3418
+ resource.deps.__enter__()
3419
+
3420
+ try:
3421
+ resource.acquire(artifact=artifact, deps=resource.deps, tools=resource.tools, owner=task)
3422
+ except (KeyboardInterrupt, Exception) as e:
3423
+ if resource.release_on_error:
3424
+ with utils.ignore_exception():
3425
+ self.unapply(task, artifact)
3426
+ raise e
3427
+
3428
+ def unapply(self, task, artifact):
3429
+ resource = artifact.task
3430
+ node = artifact.get_node()
3431
+ if not node.is_workspace_resource():
3432
+ return
3433
+
3434
+ try:
3435
+ resource.release(artifact=artifact, deps=resource.deps, tools=resource.tools, owner=task)
3436
+ except Exception as e:
3437
+ raise e
3438
+
3439
+ resource.deps.__exit__(None, None, None)
@@ -0,0 +1 @@
1
+ __version__ = "0.9.352"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jolt
3
- Version: 0.9.350
3
+ Version: 0.9.352
4
4
  Summary: A task executor
5
5
  Home-page: https://github.com/srand/jolt
6
6
  Author: Robert Andersson
@@ -1 +0,0 @@
1
- __version__ = "0.9.350"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes