dv-flow-mgr 1.0.0.14457729129a1__py3-none-any.whl → 1.0.0.14473683177a1__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/__main__.py CHANGED
@@ -21,6 +21,7 @@
21
21
  #****************************************************************************
22
22
  import argparse
23
23
  import logging
24
+ import os
24
25
  from .cmds.cmd_graph import CmdGraph
25
26
  from .cmds.cmd_run import CmdRun
26
27
  from .cmds.cmd_show import CmdShow
@@ -45,6 +46,8 @@ def get_parser():
45
46
  graph_parser.add_argument("task", nargs="?", help="task to graph")
46
47
  graph_parser.add_argument("-f", "--format", help="Specifies the output format",
47
48
  default="dot")
49
+ graph_parser.add_argument("--root",
50
+ help="Specifies the root directory for the flow")
48
51
  graph_parser.add_argument("-o", "--output",
49
52
  help="Specifies the output file",
50
53
  default="-")
@@ -55,9 +58,11 @@ def get_parser():
55
58
  run_parser.add_argument("-j",
56
59
  help="Specifies degree of parallelism. Uses all cores by default",
57
60
  type=int, default=-1)
58
- run_parser.add_argument("-c", "--clean",
61
+ run_parser.add_argument("--clean",
59
62
  action="store_true",
60
63
  help="Cleans the rundir before running")
64
+ run_parser.add_argument("--root",
65
+ help="Specifies the root directory for the flow")
61
66
  run_parser.set_defaults(func=CmdRun())
62
67
 
63
68
  show_parser = subparsers.add_parser('show',
@@ -35,8 +35,16 @@ class CmdGraph(object):
35
35
 
36
36
  def __call__(self, args):
37
37
 
38
+ if args.root is not None:
39
+ rootdir = args.root
40
+ elif "DV_FLOW_ROOT" in os.environ.keys():
41
+ rootdir = os.environ["DFM_ROOT"]
42
+ else:
43
+ rootdir = os.getcwd()
44
+
45
+
38
46
  # First, find the project we're working with
39
- pkg = loadProjPkgDef(os.getcwd())
47
+ pkg = loadProjPkgDef(rootdir)
40
48
 
41
49
  if pkg is None:
42
50
  raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
@@ -33,10 +33,16 @@ class CmdRun(object):
33
33
  _log : ClassVar = logging.getLogger("CmdRun")
34
34
 
35
35
  def __call__(self, args):
36
+ if args.root is not None:
37
+ rootdir = args.root
38
+ elif "DV_FLOW_ROOT" in os.environ.keys():
39
+ rootdir = os.environ["DFM_ROOT"]
40
+ else:
41
+ rootdir = os.getcwd()
36
42
 
37
43
  # First, find the project we're working with
38
44
  listener = TaskListenerLog()
39
- pkg = loadProjPkgDef(os.getcwd(), listener=listener)
45
+ pkg = loadProjPkgDef(rootdir, listener=listener)
40
46
 
41
47
  if pkg is None:
42
48
  raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
@@ -389,9 +389,9 @@ class TaskGraphBuilder(object):
389
389
  self._log.debug("--> processing needs (%s) (%d)" % (task.name, len(task.needs)))
390
390
  for need in task.needs:
391
391
  need_n = self._getTaskNode(need.name)
392
- self._log.debug("Add need %s" % need_n.name)
393
392
  if need_n is None:
394
393
  raise Exception("Failed to find need %s" % need.name)
394
+ self._log.debug("Add need %s with %d dependencies" % (need_n.name, len(need_n.needs)))
395
395
  node.input.needs.append((need_n, False))
396
396
  # node.needs.append((need_n, False))
397
397
  self._log.debug("<-- processing needs")
@@ -415,10 +415,13 @@ class TaskGraphBuilder(object):
415
415
  self._log.debug("Process node %s" % t.name)
416
416
 
417
417
  referenced = None
418
- for tt in task.subtasks:
419
- if tt in t.needs:
420
- referenced = tt
421
- break
418
+ for tt in node.tasks:
419
+ self._log.debug(" Checking task %s" % tt.name)
420
+ for tnn,_ in tt.needs:
421
+ self._log.debug(" Check against need %s" % tnn.name)
422
+ if tn == tnn:
423
+ referenced = tnn
424
+ break
422
425
 
423
426
  refs_internal = None
424
427
  # Assess how this task is connected to others in the compound node
@@ -440,7 +443,7 @@ class TaskGraphBuilder(object):
440
443
  self._log.debug("Node %s references internal node %s" % (t.name, refs_internal.name))
441
444
 
442
445
  if referenced is not None:
443
- self._log.debug("Node %s has internal needs" % tn.name)
446
+ self._log.debug("Node %s has internal needs: %s" % (tn.name, referenced.name))
444
447
  else:
445
448
  # Add this task as a dependency of the output
446
449
  # node (the root one)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.0.0.14457729129a1
3
+ Version: 1.0.0.14473683177a1
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,5 +1,5 @@
1
1
  dv_flow/mgr/__init__.py,sha256=dsBbrdDvG4Y2ZlQIxU-0SuJMultZbIGLnvmpD0B0ICo,1235
2
- dv_flow/mgr/__main__.py,sha256=4_MJIH-FxIFXrk5pvic9bBereeZxQsrxnESA4SZ5q9U,3600
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=nF_hM-RwJLvgfbwRe11a1wsAu_SihSd5qOxQi7I6lvU,108
5
5
  dv_flow/mgr/config_def.py,sha256=_71YbjaHbSx7REWxG3uDw8lh8-k7UzEvSXlEFy2V1Rc,1121
@@ -31,7 +31,7 @@ dv_flow/mgr/srcinfo.py,sha256=xrfp-relVr7hYNbxOjY5jqX4H0nNMm9HK5AAM6_Piyk,366
31
31
  dv_flow/mgr/task.py,sha256=Xe1sCCTN4yJwhB2Aw_rywdlmVPY2CDnuwZisULuOXhw,2036
32
32
  dv_flow/mgr/task_data.py,sha256=lN7Iq8YTitEMGG4rZqYQi6Ri2HuPgBQ5oGQbW-63T8c,12436
33
33
  dv_flow/mgr/task_def.py,sha256=VAjkFay7KxXfZoloZfbiPr6WhURztV2Dxm6-REMQweo,4912
34
- dv_flow/mgr/task_graph_builder.py,sha256=AMvvQjRLkjPYw5JfKw3ZaF1f02E9FJHBAUtulj4mJBM,17210
34
+ dv_flow/mgr/task_graph_builder.py,sha256=UcmDw7Wn8hYbUOFBeWHHrT2ahTzmxQsRU2xRGswfBf0,17460
35
35
  dv_flow/mgr/task_graph_dot_writer.py,sha256=fZlNR-ZUFsI5FpH1KFCWJcSpyLSKUh8IhHO9Eavc60c,4925
36
36
  dv_flow/mgr/task_listener_log.py,sha256=QH7hAVO1agYJoOx16XqjWv1c-jk5zb6p6A-hic7OMU0,4150
37
37
  dv_flow/mgr/task_node.py,sha256=hPlCcped3nCNgOYj4oysVcxu4cHOIUCBUqAevOr20Lc,5086
@@ -51,8 +51,8 @@ dv_flow/mgr/task_runner.py,sha256=6wtaEh7iflnAtBZk73LNYNo6Kv4aOYKy-7bW5e5Zkxk,97
51
51
  dv_flow/mgr/type.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  dv_flow/mgr/type_def.py,sha256=NDeyplKrPnWwEv4yHkhXEMK9d9j39b5MOeLB-1Mchqo,1095
53
53
  dv_flow/mgr/yaml_srcinfo_loader.py,sha256=5ibJ9lpM7HYpgkRxozlZJx8hnUqjfq1cmYQm3ZhVgv8,1589
54
- dv_flow/mgr/cmds/cmd_graph.py,sha256=mvOE_PCq7l9htVbUiBNv6iu6WvFJJJ2KhrCcsNsDGNM,2641
55
- dv_flow/mgr/cmds/cmd_run.py,sha256=AdGe1ioQJzEvVyq1oHT67uoHAyfiPoHXWf-cbvmhGYU,3288
54
+ dv_flow/mgr/cmds/cmd_graph.py,sha256=J9tVxve0Zytq8vjizOUtBG7fvB_qW5fPg1rHq-smF0o,2848
55
+ dv_flow/mgr/cmds/cmd_run.py,sha256=yMzDcZrjnq0YPgY4g3IqzuSFJdpGUYmPBtU7USLfP34,3493
56
56
  dv_flow/mgr/cmds/cmd_show.py,sha256=UD4HEguZZomKBO-UyOCYyftINBPG1Ka1p_XQvkHBTkw,3743
57
57
  dv_flow/mgr/share/flow.json,sha256=lNmZex9NXkYbyb2aZseQfUOkV9CMyfH0iLODEI7EPBw,5096
58
58
  dv_flow/mgr/std/create_file.py,sha256=TAUhpXlTmUDUYw4Dw0cI9FPuYI84yCVkoadnWZxi_8U,2888
@@ -66,9 +66,9 @@ dv_flow/mgr/util/__main__.py,sha256=F0LXpCDpYTPalSo0dc1h_qZkip5v1AZYYh-vcYbh5s0,
66
66
  dv_flow/mgr/util/util.py,sha256=cBNt3JJ0PGLlUQFTtBLi12i2j_9gNgSBtKdwS3VfF5Y,1566
67
67
  dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
69
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
70
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/METADATA,sha256=zEZXmvd8jfMK3AM4X8znfRsXyztd19PkyZqiU_P_LKk,13336
71
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
72
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
73
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
74
- dv_flow_mgr-1.0.0.14457729129a1.dist-info/RECORD,,
69
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
70
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/METADATA,sha256=RmYTc5OPUU5BPl5g08YXRd0ylhqrdvTzcmA67ogPEQo,13336
71
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
72
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
73
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
74
+ dv_flow_mgr-1.0.0.14473683177a1.dist-info/RECORD,,