dv-flow-mgr 1.9.15048751637rc0__py3-none-any.whl → 1.9.15098282600rc0__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.
dv_flow/mgr/__init__.py CHANGED
@@ -32,6 +32,6 @@ from .task_runner import TaskSetRunner
32
32
  from .task_listener_log import TaskListenerLog
33
33
 
34
34
  VERSION="1.9.0"
35
- SUFFIX="15048751637rc0"
35
+ SUFFIX="15098282600rc0"
36
36
  __version__="%s%s" % (VERSION, SUFFIX)
37
37
 
@@ -10,6 +10,7 @@ from .task_data import TaskDataResult
10
10
  @dc.dataclass
11
11
  class ExecCallable(object):
12
12
  body : str
13
+ shell: str = "pytask"
13
14
  _log : ClassVar = logging.getLogger("ExecCallable")
14
15
 
15
16
  async def __call__(self, ctxt, input):
dv_flow/mgr/ext_rgy.py CHANGED
@@ -98,6 +98,9 @@ class ExtRgy(object):
98
98
 
99
99
  # Register built-in shells
100
100
  self._shell_m["shell"] = ShellCallable
101
+ self._shell_m["bash"] = ShellCallable
102
+ self._shell_m["csh"] = ShellCallable
103
+ self._shell_m["tcsh"] = ShellCallable
101
104
  self._shell_m["pytask"] = ExecCallable
102
105
 
103
106
 
@@ -1,5 +1,7 @@
1
+ import asyncio
1
2
  import dataclasses as dc
2
3
  import logging
4
+ import os
3
5
  from typing import ClassVar, List
4
6
  from .task_data import TaskDataResult
5
7
 
@@ -10,5 +12,29 @@ class ShellCallable(object):
10
12
  _log : ClassVar = logging.getLogger("ShellCallable")
11
13
 
12
14
  async def __call__(self, ctxt, input):
13
- pass
15
+
16
+ shell = ("/bin/%s" % self.shell) if self.shell != "shell" else "/bin/sh"
17
+ # Setup environment for the call
18
+ env = ctxt.env.copy()
19
+ env["TASK_SRCDIR"] = input.srcdir
20
+ env["TASK_RUNDIR"] = input.rundir
21
+ # env["TASK_PARAMS"] = input.params.dumpto_json()
22
+ fp = open(os.path.join(input.rundir, "%s.log" % input.name), "w")
23
+
24
+ proc = await asyncio.create_subprocess_shell(
25
+ self.body,
26
+ shell=self.shell,
27
+ env=env,
28
+ cwd=input.rundir,
29
+ stdout=fp,
30
+ stderr=asyncio.subprocess.STDOUT)
31
+
32
+ status = await proc.wait()
33
+
34
+ fp.close()
35
+
36
+ return TaskDataResult(
37
+ status=status
38
+ )
39
+
14
40
 
@@ -108,7 +108,8 @@ class TaskGraphBuilder(object):
108
108
 
109
109
  self._ctxt = TaskNodeCtxt(
110
110
  root_pkgdir=self.root_pkg.basedir,
111
- root_rundir=self.rundir)
111
+ root_rundir=self.rundir,
112
+ env=self.env)
112
113
 
113
114
  self._eval.set("root", {
114
115
  "dir": self.root_pkg.basedir
@@ -694,7 +695,7 @@ class TaskGraphBuilder(object):
694
695
  shell = task.shell if task.shell is not None else "shell"
695
696
  if shell in self._shell_m.keys():
696
697
  self._log.debug("Use shell implementation")
697
- callable = self._shell_m[shell](task.run)
698
+ callable = self._shell_m[shell](task.run, task.shell)
698
699
  else:
699
700
  raise Exception("Shell %s not found" % shell)
700
701
 
@@ -1,7 +1,9 @@
1
1
  import dataclasses as dc
2
+ from typing import Dict
2
3
 
3
4
  @dc.dataclass
4
5
  class TaskNodeCtxt(object):
5
6
  """Holds data shared with all task-graph nodes"""
6
7
  root_pkgdir : str
7
8
  root_rundir : str
9
+ env : Dict
@@ -19,7 +19,6 @@ class TaskRunCtxt(object):
19
19
 
20
20
  _markers : List[TaskMarker] = dc.field(default_factory=list)
21
21
  _exec_info : List[ExecInfo] = dc.field(default_factory=list)
22
- _env : Dict[str, str] = dc.field(default=None)
23
22
 
24
23
  @property
25
24
  def root_pkgdir(self):
@@ -31,7 +30,7 @@ class TaskRunCtxt(object):
31
30
 
32
31
  @property
33
32
  def env(self):
34
- return self._env
33
+ return self.ctxt.env if self.ctxt is not None else os.environ
35
34
 
36
35
  def mkDataItem(self, type, **kwargs):
37
36
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.9.15048751637rc0
3
+ Version: 1.9.15098282600rc0
4
4
  Summary: DV Flow Manager is a build system for silicon design
5
5
  Author-email: Matthew Ballance <matt.ballance@gmail.com>
6
6
  License: Apache License
@@ -1,15 +1,15 @@
1
- dv_flow/mgr/__init__.py,sha256=PUdoMbGZNySxaxx5cLeCAyoqulTS45hL5mk5NHYp9Ww,1315
1
+ dv_flow/mgr/__init__.py,sha256=wbon6N-qG1wXMKxECf0ccm5tx7GD9nbmDRQCKBZ1WC4,1315
2
2
  dv_flow/mgr/__main__.py,sha256=BogNdBkXhgg05E8_IumNkVoag6WwvfbpiI8346oOtPo,3844
3
3
  dv_flow/mgr/cond_def.py,sha256=2ZkzPusqVkN1fFMTvkDl9O_OJLPdD_cK3xzX9J75RMw,343
4
4
  dv_flow/mgr/config.py,sha256=b2MVlVVNB0psk8x4bQRAYshkpNJrtyMtV1Ymhmx9AfM,137
5
5
  dv_flow/mgr/config_def.py,sha256=N5nBc_2VPrx0pCDyIe-VPhQ7ItnbyJqrak3ZiPEAbtI,1040
6
6
  dv_flow/mgr/data_callable.py,sha256=-GeMgBUdUEcdAkWsqvUYcpKqUd5BQsFgi6ARflnp2B8,687
7
7
  dv_flow/mgr/eval_jq.py,sha256=bRsHtaN51qIOiZK1VJV52W0-vj5VH0nQ7XIFebZi5kI,1129
8
- dv_flow/mgr/exec_callable.py,sha256=NbhTVqvrTd-vsTi3cJ3iGrpVe8tfAqxFsSopaNXApRE,3117
8
+ dv_flow/mgr/exec_callable.py,sha256=tB2kBJeBPvq8pYOnZCaCvTYeu_MiezFfHUEqTAW3GQA,3143
9
9
  dv_flow/mgr/exec_gen_callable.py,sha256=KLAKgu0c6nrEzfy85qeogH64VOFDBa6anslSBajykOE,3039
10
10
  dv_flow/mgr/expr_eval.py,sha256=ojHo3U_QGqm0CWVSEGtFJRo3jrjiTKhy_B58yRNxN8g,4814
11
11
  dv_flow/mgr/expr_parser.py,sha256=LMLe4RTbgcQVIpuZIi1vowHsKRgRmzKzomGvlJL8kJI,7110
12
- dv_flow/mgr/ext_rgy.py,sha256=BeHbTjB6KFcI5xhbl_O00YQW7MQ8efCFTD_Y8xf7I44,5651
12
+ dv_flow/mgr/ext_rgy.py,sha256=UD7nvMF5g3GiSYr7iLbk68_67UwzqUE7vsKCTaFrQr8,5788
13
13
  dv_flow/mgr/extend_def.py,sha256=Ndh4z4XqqimtoS8-6ZNMDOvkVpVmEaWZsNEPM26PDZ0,653
14
14
  dv_flow/mgr/fileset.py,sha256=kSjz-RiuQdKGMVjmbGK5YlwY-vJKSHmgggu-1_H0DHU,1320
15
15
  dv_flow/mgr/fragment_def.py,sha256=2qx6KWiHCDvnb9JXnqIOb4n6kemAClAYuBoM6ex6xJE,1696
@@ -30,13 +30,13 @@ dv_flow/mgr/parser.out,sha256=mWx6hgqORUFhM2OlxV2gp43Y7w3sX2u4ua4t-5wqmck,27566
30
30
  dv_flow/mgr/parsetab.py,sha256=S2o2FfobhhVWKwZg_GA7zFg62VwT7tiRxxNZJIyqP98,4351
31
31
  dv_flow/mgr/pytask_callable.py,sha256=JiFN2vq6qanI6FXJBeidwiBSn6t0oC0izPJ01c5QJTE,688
32
32
  dv_flow/mgr/root_package.py,sha256=nYLOpZVQEDbY0Ui5X5UNeUHXOvqRENew7B2zpC2V2gQ,136
33
- dv_flow/mgr/shell_callable.py,sha256=IWb0C4L-v_hfnvnhS3g2rhXqutURex_U-dBJgdNxP7I,302
33
+ dv_flow/mgr/shell_callable.py,sha256=2b51yewHTFsoDMAldaB44ZMXkG2LaLR3go0DdM72HEs,1051
34
34
  dv_flow/mgr/srcinfo.py,sha256=xrfp-relVr7hYNbxOjY5jqX4H0nNMm9HK5AAM6_Piyk,366
35
35
  dv_flow/mgr/task.py,sha256=XQ-mVyDGvpU4gB6GmnNeTQhxKqFXiblShh7qd_-SIbM,2387
36
36
  dv_flow/mgr/task_data.py,sha256=lN7Iq8YTitEMGG4rZqYQi6Ri2HuPgBQ5oGQbW-63T8c,12436
37
37
  dv_flow/mgr/task_def.py,sha256=lhiOL7E_TfW7Ytg5qipE6d2cqTkfVqAOs1MZgtCqeLg,5257
38
38
  dv_flow/mgr/task_gen_ctxt.py,sha256=1QQqqgaCjJSlzTV0SASpTb69vINFrDq3aqjYCKUkx3s,846
39
- dv_flow/mgr/task_graph_builder.py,sha256=7aTX8D2iTiMVpfy8uxZhmFI4XMwSlDAhy4uVuu_jGKs,33548
39
+ dv_flow/mgr/task_graph_builder.py,sha256=1uca7YjYAVv1dS5sWk-ztqgdIwJyp9iHkwuzBlwtQPc,33590
40
40
  dv_flow/mgr/task_graph_dot_writer.py,sha256=qK4Imy9o2_F1aKoU1tJ-qoBHslq2BhSMbdjAUPfpN7I,6009
41
41
  dv_flow/mgr/task_listener_log.py,sha256=XcmBT-946DyrEYwNwbg7ejnB6Q3koybE7AekSWGxNGQ,4774
42
42
  dv_flow/mgr/task_listener_trace.py,sha256=7B-V2YK8uXd_QSGBq_7USmbe5CleVvwumU0CpsmxZvg,6224
@@ -49,11 +49,11 @@ dv_flow/mgr/task_node_ctor_def_base.py,sha256=_8QQHKDkONio_ve0Z409yxC0AMO8ocNBPD
49
49
  dv_flow/mgr/task_node_ctor_proxy.py,sha256=ViOFJ64JM4-CGFZNl89BghFuKSQ66kZVqSj4v2PA6VA,1906
50
50
  dv_flow/mgr/task_node_ctor_task.py,sha256=d49g90TyPCMFR8BuWWqp4ym-MW5vGSdDR0V47Ru28JY,2232
51
51
  dv_flow/mgr/task_node_ctor_wrapper.py,sha256=KMSYd4ik2Si7UXhNMeXAPHBwwrFkuhpeTMeYRpWv0hw,3718
52
- dv_flow/mgr/task_node_ctxt.py,sha256=dQp68ppFENK0zGo7TKaFXHInPCCsFai1yZwoBKDwJ20,166
52
+ dv_flow/mgr/task_node_ctxt.py,sha256=KHt_kQch6LDq70Oor7z2xbepiiaK2jyp4S-KWZGsRjo,205
53
53
  dv_flow/mgr/task_node_leaf.py,sha256=nULlu-veyPC-PXdoQhahkLgqpdKNzaoD0XUlCw0EuZ4,9109
54
54
  dv_flow/mgr/task_output.py,sha256=ZwyvwnYj_gHOEFAEOH3m24Xfc4Cn77hb1j7LkX8_3C4,1086
55
55
  dv_flow/mgr/task_params_ctor.py,sha256=qlrzibGAFHmbqOu88jEoh1wOSFHu68Gwdgc259-50e8,1915
56
- dv_flow/mgr/task_run_ctxt.py,sha256=qbGlH7SvyCOKKr7sjajcd-f9UwT9LanhdFInnyyE3bk,3974
56
+ dv_flow/mgr/task_run_ctxt.py,sha256=Eh-b92NWGDiDw23NmNk-_jWTH5_qaO8FSlwVXN2jI-U,3968
57
57
  dv_flow/mgr/task_runner.py,sha256=hfA4eGOmw-Rzur5qgcUKEwQB97Ka5AYv9QPrVZJWHUs,10422
58
58
  dv_flow/mgr/type.py,sha256=hoJTatlPC0yOazKSWduK-5CfY38RPkc6qXFzOCcVSdM,723
59
59
  dv_flow/mgr/type_def.py,sha256=4sge3PibO1jDnS0cXdX0PiurcKbDA3kT6rb4DGIKwEM,1176
@@ -76,9 +76,9 @@ dv_flow/mgr/util/util.py,sha256=BO7iqP_c9ttmXkojq7nKDN-g8wl1_Pco9k-KnrXxjwE,1889
76
76
  dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
78
78
  dv_flow/mgr/util/cmds/cmd_workspace.py,sha256=egmaIXpe5L-TePwmcfisfrG6tdiTUWSjqa9Za5WChVs,890
79
- dv_flow_mgr-1.9.15048751637rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
- dv_flow_mgr-1.9.15048751637rc0.dist-info/METADATA,sha256=raZE0vQwvPWX2bSBp72ZAnjXsJbvv_F1I6EXO727M4E,13335
81
- dv_flow_mgr-1.9.15048751637rc0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
82
- dv_flow_mgr-1.9.15048751637rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
83
- dv_flow_mgr-1.9.15048751637rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
84
- dv_flow_mgr-1.9.15048751637rc0.dist-info/RECORD,,
79
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/METADATA,sha256=qr-g-nTWrI_eu7eG-6B99n5QW20iV2R9WlrMttCV3J4,13335
81
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
82
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
83
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
84
+ dv_flow_mgr-1.9.15098282600rc0.dist-info/RECORD,,