jolt 0.9.76__py3-none-any.whl → 0.9.429__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.
Files changed (201) hide show
  1. jolt/__init__.py +88 -7
  2. jolt/__main__.py +9 -1
  3. jolt/bin/fstree-darwin-x86_64 +0 -0
  4. jolt/bin/fstree-linux-x86_64 +0 -0
  5. jolt/cache.py +839 -367
  6. jolt/chroot.py +156 -0
  7. jolt/cli.py +362 -143
  8. jolt/common_pb2.py +63 -0
  9. jolt/common_pb2_grpc.py +4 -0
  10. jolt/config.py +99 -42
  11. jolt/error.py +19 -4
  12. jolt/expires.py +2 -2
  13. jolt/filesystem.py +8 -6
  14. jolt/graph.py +705 -117
  15. jolt/hooks.py +63 -1
  16. jolt/influence.py +129 -6
  17. jolt/loader.py +369 -121
  18. jolt/log.py +225 -63
  19. jolt/manifest.py +28 -38
  20. jolt/options.py +35 -10
  21. jolt/pkgs/abseil.py +42 -0
  22. jolt/pkgs/asio.py +25 -0
  23. jolt/pkgs/autoconf.py +41 -0
  24. jolt/pkgs/automake.py +41 -0
  25. jolt/pkgs/b2.py +31 -0
  26. jolt/pkgs/boost.py +111 -0
  27. jolt/pkgs/boringssl.py +32 -0
  28. jolt/pkgs/busybox.py +39 -0
  29. jolt/pkgs/bzip2.py +43 -0
  30. jolt/pkgs/cares.py +29 -0
  31. jolt/pkgs/catch2.py +36 -0
  32. jolt/pkgs/cbindgen.py +17 -0
  33. jolt/pkgs/cista.py +19 -0
  34. jolt/pkgs/clang.py +44 -0
  35. jolt/pkgs/cli11.py +23 -0
  36. jolt/pkgs/cmake.py +48 -0
  37. jolt/pkgs/cpython.py +196 -0
  38. jolt/pkgs/crun.py +29 -0
  39. jolt/pkgs/curl.py +38 -0
  40. jolt/pkgs/dbus.py +18 -0
  41. jolt/pkgs/double_conversion.py +24 -0
  42. jolt/pkgs/fastfloat.py +21 -0
  43. jolt/pkgs/ffmpeg.py +28 -0
  44. jolt/pkgs/flatbuffers.py +29 -0
  45. jolt/pkgs/fmt.py +27 -0
  46. jolt/pkgs/fstree.py +20 -0
  47. jolt/pkgs/gflags.py +18 -0
  48. jolt/pkgs/glib.py +18 -0
  49. jolt/pkgs/glog.py +25 -0
  50. jolt/pkgs/glslang.py +21 -0
  51. jolt/pkgs/golang.py +16 -11
  52. jolt/pkgs/googlebenchmark.py +18 -0
  53. jolt/pkgs/googletest.py +46 -0
  54. jolt/pkgs/gperf.py +15 -0
  55. jolt/pkgs/grpc.py +73 -0
  56. jolt/pkgs/hdf5.py +19 -0
  57. jolt/pkgs/help2man.py +14 -0
  58. jolt/pkgs/inja.py +28 -0
  59. jolt/pkgs/jsoncpp.py +31 -0
  60. jolt/pkgs/libarchive.py +43 -0
  61. jolt/pkgs/libcap.py +44 -0
  62. jolt/pkgs/libdrm.py +44 -0
  63. jolt/pkgs/libedit.py +42 -0
  64. jolt/pkgs/libevent.py +31 -0
  65. jolt/pkgs/libexpat.py +27 -0
  66. jolt/pkgs/libfastjson.py +21 -0
  67. jolt/pkgs/libffi.py +16 -0
  68. jolt/pkgs/libglvnd.py +30 -0
  69. jolt/pkgs/libogg.py +28 -0
  70. jolt/pkgs/libpciaccess.py +18 -0
  71. jolt/pkgs/libseccomp.py +21 -0
  72. jolt/pkgs/libtirpc.py +24 -0
  73. jolt/pkgs/libtool.py +42 -0
  74. jolt/pkgs/libunwind.py +35 -0
  75. jolt/pkgs/libva.py +18 -0
  76. jolt/pkgs/libvorbis.py +33 -0
  77. jolt/pkgs/libxml2.py +35 -0
  78. jolt/pkgs/libxslt.py +17 -0
  79. jolt/pkgs/libyajl.py +16 -0
  80. jolt/pkgs/llvm.py +81 -0
  81. jolt/pkgs/lua.py +54 -0
  82. jolt/pkgs/lz4.py +26 -0
  83. jolt/pkgs/m4.py +14 -0
  84. jolt/pkgs/make.py +17 -0
  85. jolt/pkgs/mesa.py +81 -0
  86. jolt/pkgs/meson.py +17 -0
  87. jolt/pkgs/mstch.py +28 -0
  88. jolt/pkgs/mysql.py +60 -0
  89. jolt/pkgs/nasm.py +49 -0
  90. jolt/pkgs/ncurses.py +30 -0
  91. jolt/pkgs/ng_log.py +25 -0
  92. jolt/pkgs/ninja.py +45 -0
  93. jolt/pkgs/nlohmann_json.py +25 -0
  94. jolt/pkgs/nodejs.py +19 -11
  95. jolt/pkgs/opencv.py +24 -0
  96. jolt/pkgs/openjdk.py +26 -0
  97. jolt/pkgs/openssl.py +103 -0
  98. jolt/pkgs/paho.py +76 -0
  99. jolt/pkgs/patchelf.py +16 -0
  100. jolt/pkgs/perl.py +42 -0
  101. jolt/pkgs/pkgconfig.py +64 -0
  102. jolt/pkgs/poco.py +39 -0
  103. jolt/pkgs/protobuf.py +77 -0
  104. jolt/pkgs/pugixml.py +27 -0
  105. jolt/pkgs/python.py +19 -0
  106. jolt/pkgs/qt.py +35 -0
  107. jolt/pkgs/rapidjson.py +26 -0
  108. jolt/pkgs/rapidyaml.py +28 -0
  109. jolt/pkgs/re2.py +30 -0
  110. jolt/pkgs/re2c.py +17 -0
  111. jolt/pkgs/readline.py +15 -0
  112. jolt/pkgs/rust.py +41 -0
  113. jolt/pkgs/sdl.py +28 -0
  114. jolt/pkgs/simdjson.py +27 -0
  115. jolt/pkgs/soci.py +46 -0
  116. jolt/pkgs/spdlog.py +29 -0
  117. jolt/pkgs/spirv_llvm.py +21 -0
  118. jolt/pkgs/spirv_tools.py +24 -0
  119. jolt/pkgs/sqlite.py +83 -0
  120. jolt/pkgs/ssl.py +12 -0
  121. jolt/pkgs/texinfo.py +15 -0
  122. jolt/pkgs/tomlplusplus.py +22 -0
  123. jolt/pkgs/wayland.py +26 -0
  124. jolt/pkgs/x11.py +58 -0
  125. jolt/pkgs/xerces_c.py +20 -0
  126. jolt/pkgs/xorg.py +360 -0
  127. jolt/pkgs/xz.py +29 -0
  128. jolt/pkgs/yamlcpp.py +30 -0
  129. jolt/pkgs/zeromq.py +47 -0
  130. jolt/pkgs/zlib.py +69 -0
  131. jolt/pkgs/zstd.py +33 -0
  132. jolt/plugins/alias.py +3 -0
  133. jolt/plugins/allure.py +5 -2
  134. jolt/plugins/autotools.py +66 -0
  135. jolt/plugins/cache.py +133 -0
  136. jolt/plugins/cmake.py +74 -6
  137. jolt/plugins/conan.py +238 -0
  138. jolt/plugins/cxx.py +698 -0
  139. jolt/plugins/cxxinfo.py +7 -0
  140. jolt/plugins/dashboard.py +1 -1
  141. jolt/plugins/docker.py +91 -23
  142. jolt/plugins/email.py +5 -2
  143. jolt/plugins/email.xslt +144 -101
  144. jolt/plugins/environ.py +11 -0
  145. jolt/plugins/fetch.py +141 -0
  146. jolt/plugins/gdb.py +44 -21
  147. jolt/plugins/gerrit.py +1 -14
  148. jolt/plugins/git.py +316 -101
  149. jolt/plugins/googletest.py +522 -1
  150. jolt/plugins/http.py +36 -38
  151. jolt/plugins/libtool.py +63 -0
  152. jolt/plugins/linux.py +990 -0
  153. jolt/plugins/logstash.py +4 -4
  154. jolt/plugins/meson.py +61 -0
  155. jolt/plugins/ninja-compdb.py +107 -31
  156. jolt/plugins/ninja.py +929 -134
  157. jolt/plugins/paths.py +11 -1
  158. jolt/plugins/pkgconfig.py +219 -0
  159. jolt/plugins/podman.py +148 -91
  160. jolt/plugins/python.py +137 -0
  161. jolt/plugins/remote_execution/__init__.py +0 -0
  162. jolt/plugins/remote_execution/administration_pb2.py +46 -0
  163. jolt/plugins/remote_execution/administration_pb2_grpc.py +170 -0
  164. jolt/plugins/remote_execution/log_pb2.py +32 -0
  165. jolt/plugins/remote_execution/log_pb2_grpc.py +68 -0
  166. jolt/plugins/remote_execution/scheduler_pb2.py +41 -0
  167. jolt/plugins/remote_execution/scheduler_pb2_grpc.py +141 -0
  168. jolt/plugins/remote_execution/worker_pb2.py +38 -0
  169. jolt/plugins/remote_execution/worker_pb2_grpc.py +112 -0
  170. jolt/plugins/report.py +12 -2
  171. jolt/plugins/rust.py +25 -0
  172. jolt/plugins/scheduler.py +710 -0
  173. jolt/plugins/selfdeploy/setup.py +9 -4
  174. jolt/plugins/selfdeploy.py +138 -88
  175. jolt/plugins/strings.py +35 -22
  176. jolt/plugins/symlinks.py +26 -11
  177. jolt/plugins/telemetry.py +5 -2
  178. jolt/plugins/timeline.py +13 -3
  179. jolt/plugins/volume.py +46 -48
  180. jolt/scheduler.py +591 -191
  181. jolt/tasks.py +1783 -245
  182. jolt/templates/export.sh.template +12 -6
  183. jolt/templates/timeline.html.template +44 -47
  184. jolt/timer.py +22 -0
  185. jolt/tools.py +749 -302
  186. jolt/utils.py +245 -18
  187. jolt/version.py +1 -1
  188. jolt/version_utils.py +2 -2
  189. jolt/xmldom.py +12 -2
  190. {jolt-0.9.76.dist-info → jolt-0.9.429.dist-info}/METADATA +98 -38
  191. jolt-0.9.429.dist-info/RECORD +207 -0
  192. {jolt-0.9.76.dist-info → jolt-0.9.429.dist-info}/WHEEL +1 -1
  193. jolt/plugins/amqp.py +0 -834
  194. jolt/plugins/debian.py +0 -338
  195. jolt/plugins/ftp.py +0 -181
  196. jolt/plugins/ninja-cache.py +0 -64
  197. jolt/plugins/ninjacli.py +0 -271
  198. jolt/plugins/repo.py +0 -253
  199. jolt-0.9.76.dist-info/RECORD +0 -79
  200. {jolt-0.9.76.dist-info → jolt-0.9.429.dist-info}/entry_points.txt +0 -0
  201. {jolt-0.9.76.dist-info → jolt-0.9.429.dist-info}/top_level.txt +0 -0
@@ -17,20 +17,22 @@
17
17
 
18
18
  deactivate-jolt() {
19
19
  # Common settings
20
- if ! [ -z "${_OLD_PS1+_}" ] ; then
21
- PS1="$_OLD_PS1"
22
- export PS1
20
+ if [ -v "${_OLD_PS1+_}" ] ; then
21
+ export PS1="$_OLD_PS1"
23
22
  unset _OLD_PS1
23
+ elif [ -v "${_UNSET_PS1+_}" ]; then
24
+ unset PS1
24
25
  fi
25
26
 
26
27
 
27
28
  {% if ctx.environ %}
28
29
  # Restore all environment variables
29
30
  {% for key in ctx.environ %}
30
- if ! [ -z "${_OLD_{{ key }}+_}" ] ; then
31
- {{ key }}="$_OLD_{{ key }}"
32
- export {{ key }}
31
+ if [ -v "${_OLD_{{ key }}+_}" ] ; then
32
+ export {{ key }}="$_OLD_{{ key }}"
33
33
  unset _OLD_{{ key }}
34
+ elif [ -v "${_UNSET_{{ key }}+_}" ]; then
35
+ unset {{ key }}
34
36
  fi
35
37
 
36
38
  {% endfor %}
@@ -53,7 +55,11 @@ export PS1="(jolt) $PS1"
53
55
 
54
56
  # Backup all environment variables
55
57
  {% for key in ctx.environ %}
58
+ if [ -v "{{ key }}" ]; then
56
59
  _OLD_{{ key }}="${{ key }}"
60
+ else
61
+ _UNSET_{{ key }}="{{ key }}"
62
+ fi
57
63
  {% endfor %}
58
64
 
59
65
  {% for task in ctx.tasks %}
@@ -1,48 +1,45 @@
1
1
  <html>
2
- <head>
3
- <style>
4
- h1 {
5
- color: #f44336;
6
- }
7
- </style>
8
- <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
9
- <script type="text/javascript">
10
- google.charts.load('current', {'packages':['gantt']});
11
- google.charts.setOnLoadCallback(drawChart);
12
-
13
- function drawChart() {
14
-
15
- var data = new google.visualization.DataTable();
16
- data.addColumn('string', 'Task ID');
17
- data.addColumn('string', 'Task Name');
18
- data.addColumn('date', 'Start');
19
- data.addColumn('date', 'End');
20
- data.addColumn('number', 'Duration');
21
- data.addColumn('number', 'Completion');
22
- data.addColumn('string', 'Dependencies');
23
-
24
- data.addRows([
25
- {% for i, task in enumerate(tasks) %}
26
- ['{{i}}', '{{task.short_qualified_name}}', new Date(Date.parse('{{task._timeline_started}}')), new Date(Date.parse('{{task._timeline_finished}}')), null, 100, {{ deps(task) }}],
27
- {% endfor %}
28
- ]);
29
-
30
- var options = {
31
- height: {{ 200 + tasks|length * 30 }},
32
- gantt: {
33
- trackHeight: 30
34
- }
35
- };
36
-
37
- var chart = new google.visualization.Gantt(document.getElementById('chart_div'));
38
-
39
- chart.draw(data, options);
40
- }
41
- </script>
42
- <title>Jolt - Execution Timeline</title>
43
- </head>
44
- <body onresize="drawChart()">
45
- <h1>Execution Timeline</h1>
46
- <div id="chart_div"></div>
47
- </body>
48
- </html>
2
+
3
+ <head>
4
+ <style>
5
+ h1 {
6
+ color: #f44336;
7
+ }
8
+ </style>
9
+ <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
10
+ <script type="text/javascript">
11
+ google.charts.load('current', { 'packages': ['timeline'] });
12
+ google.charts.setOnLoadCallback(drawChart);
13
+
14
+ function drawChart() {
15
+ var container = document.getElementById('chart_div');
16
+ var chart = new google.visualization.Timeline(container);
17
+
18
+ var data = new google.visualization.DataTable();
19
+ data.addColumn('string', 'Worker');
20
+ data.addColumn('string', 'Task Name');
21
+ data.addColumn('date', 'Start');
22
+ data.addColumn('date', 'End');
23
+
24
+ data.addRows([
25
+ {% for i, task in enumerate(tasks) %}
26
+ ['{{task.worker}}', '{{task.short_qualified_name}}', new Date(Date.parse('{{task._timeline_started}}')), new Date(Date.parse('{{task._timeline_finished}}'))],
27
+ {% endfor %}
28
+ ]);
29
+
30
+ var options = {
31
+ height: {{ 200 + tasks | length * 30 }},
32
+ };
33
+
34
+ chart.draw(data, options);
35
+ }
36
+ </script>
37
+ <title>Jolt - Timeline</title>
38
+ </head>
39
+
40
+ <body onresize="drawChart()">
41
+ <h1>Jolt - Timeline</h1>
42
+ <div id="chart_div"></div>
43
+ </body>
44
+
45
+ </html>
jolt/timer.py ADDED
@@ -0,0 +1,22 @@
1
+ from threading import Thread, Event
2
+
3
+
4
+ class Timer(Thread):
5
+ def __init__(self, interval, function, args=None, kwargs=None):
6
+ Thread.__init__(self)
7
+ self.interval = interval
8
+ self.function = function
9
+ self.args = args if args is not None else []
10
+ self.kwargs = kwargs if kwargs is not None else {}
11
+ self.finished = Event()
12
+
13
+ def cancel(self):
14
+ self.finished.set()
15
+
16
+ def run(self):
17
+ while True:
18
+ self.finished.wait(self.interval)
19
+ if not self.finished.is_set():
20
+ self.function(*self.args, **self.kwargs)
21
+ else:
22
+ break