dv-flow-mgr 1.10.15799064162rc0__py3-none-any.whl → 1.10.15800610556rc0__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.10.0"
35
- SUFFIX="15799064162rc0"
35
+ SUFFIX="15800610556rc0"
36
36
  __version__="%s%s" % (VERSION, SUFFIX)
37
37
 
@@ -28,6 +28,7 @@ from ..task_graph_builder import TaskGraphBuilder
28
28
  from ..task_runner import TaskSetRunner
29
29
  from ..task_listener_log import TaskListenerLog
30
30
  from ..task_graph_dot_writer import TaskGraphDotWriter
31
+ from .util import get_rootdir
31
32
 
32
33
 
33
34
  class CmdGraph(object):
@@ -35,16 +36,8 @@ class CmdGraph(object):
35
36
 
36
37
  def __call__(self, args):
37
38
 
38
- if args.root is not None:
39
- rootdir = args.root
40
- elif "DV_FLOW_ROOT" in os.environ.keys():
41
- rootdir = os.environ["DV_FLOW_ROOT"]
42
- else:
43
- rootdir = os.getcwd()
44
-
45
-
46
39
  # First, find the project we're working with
47
- pkg = loadProjPkgDef(rootdir)
40
+ pkg = loadProjPkgDef(get_rootdir(args))
48
41
 
49
42
  if pkg is None:
50
43
  raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
@@ -31,24 +31,19 @@ from ..task_graph_builder import TaskGraphBuilder
31
31
  from ..task_runner import TaskSetRunner
32
32
  from ..task_listener_log import TaskListenerLog
33
33
  from ..task_listener_trace import TaskListenerTrace
34
+ from .util import get_rootdir
34
35
 
35
36
 
36
37
  class CmdRun(object):
37
38
  _log : ClassVar = logging.getLogger("CmdRun")
38
39
 
39
40
  def __call__(self, args):
40
- if args.root is not None:
41
- rootdir = args.root
42
- elif "DV_FLOW_ROOT" in os.environ.keys():
43
- rootdir = os.environ["DV_FLOW_ROOT"]
44
- else:
45
- rootdir = os.getcwd()
46
41
 
47
42
  rgy = ExtRgy.inst()
48
43
 
49
44
  # First, find the project we're working with
50
45
  listener = TaskListenerLog()
51
- pkg = loadProjPkgDef(rootdir, listener=listener.marker)
46
+ pkg = loadProjPkgDef(get_rootdir(args), listener=listener.marker)
52
47
 
53
48
  if listener.has_severity[SeverityE.Error] > 0:
54
49
  print("Error(s) encountered while loading package definition")
@@ -29,6 +29,7 @@ from ..task_graph_builder import TaskGraphBuilder
29
29
  from ..task_runner import TaskSetRunner
30
30
  from ..task_listener_log import TaskListenerLog
31
31
  from ..task_graph_dot_writer import TaskGraphDotWriter
32
+ from .util import get_rootdir
32
33
 
33
34
 
34
35
  class CmdShow(object):
@@ -37,7 +38,7 @@ class CmdShow(object):
37
38
  def __call__(self, args):
38
39
 
39
40
  # First, find the project we're working with
40
- pkg = loadProjPkgDef(os.getcwd())
41
+ pkg = loadProjPkgDef(get_rootdir(args))
41
42
 
42
43
  if pkg is None:
43
44
  raise Exception("Failed to find a 'flow.dv' file that defines a package in %s or its parent directories" % os.getcwd())
@@ -0,0 +1,11 @@
1
+ import os
2
+
3
+ def get_rootdir(args):
4
+ rootdir = None
5
+ if hasattr(args, "root") and args.root is not None:
6
+ rootdir = args.root
7
+ elif "DV_FLOW_ROOT" in os.environ.keys():
8
+ rootdir = os.environ["DV_FLOW_ROOT"]
9
+ else:
10
+ rootdir = os.getcwd()
11
+ return rootdir
@@ -297,7 +297,7 @@ class PackageLoader(object):
297
297
 
298
298
  def _loadPackage(self, root, exp_pkg_name=None) -> Package:
299
299
  if root in self._file_s:
300
- raise Exception("recursive reference")
300
+ raise Exception("recursive reference to %s" % root)
301
301
 
302
302
  if root in self._file_s:
303
303
  # TODO: should be able to unwind stack here
@@ -450,7 +450,7 @@ class PackageLoader(object):
450
450
  for root in (basedir, os.path.dirname(self._file_s[0])):
451
451
  self._log.debug("Search basedir: %s ; imp_path: %s" % (root, imp_path))
452
452
 
453
- resolved_path = self._findFlowDvInDir(root, imp_path)
453
+ resolved_path = self._findFlowDvInDir(os.path.join(root, imp_path))
454
454
 
455
455
  if resolved_path is not None and os.path.isfile(resolved_path):
456
456
  self._log.debug("Found root file: %s" % resolved_path)
@@ -478,26 +478,20 @@ class PackageLoader(object):
478
478
  pkg.pkg_m[sub_pkg.name] = sub_pkg
479
479
  self._log.debug("<-- _loadPackageImport %s" % str(imp))
480
480
 
481
- def _findFlowDvInDir(self, base, leaf=None):
482
- """Search down the tree looking for a flow.dv file"""
483
- self._log.debug("--> _findFlowDvInDir (%s, %s)" % (base, leaf))
481
+ def _findFlowDvInDir(self, base):
482
+ """Search down the tree looking for a <flow.dv> file"""
483
+ self._log.debug("--> _findFlowDvInDir (%s)" % base)
484
484
  imp_path = None
485
- if leaf is None:
486
- if os.path.isfile(base):
487
- imp_path = base
488
- elif os.path.isfile(os.path.join(base, "flow.dv")):
489
- imp_path = os.path.join(base, "flow.dv")
490
- elif os.path.isdir(base):
485
+ if os.path.isfile(base):
486
+ imp_path = base
487
+ else:
488
+ for name in ("flow.dv", "flow.yaml", "flow.yml"):
489
+ self._log.debug("Searching for %s in %s" % (name, base))
490
+ if os.path.isfile(os.path.join(base, name)):
491
+ imp_path = os.path.join(base, name)
492
+ break
493
+ if imp_path is None and os.path.isdir(base):
491
494
  imp_path = self._findFlowDvSubdir(base)
492
- elif os.path.isfile(os.path.join(base, leaf)):
493
- imp_path = os.path.join(base, leaf)
494
- self._log.debug("Found: %s" % imp_path)
495
- elif os.path.isdir(os.path.join(base, leaf)):
496
- if os.path.isfile(os.path.join(base, leaf, "flow.dv")):
497
- imp_path = os.path.join(base, leaf, "flow.dv")
498
- self._log.debug("Found: %s" % imp_path)
499
- else:
500
- imp_path = self._findFlowDvSubdir(os.path.join(base, leaf))
501
495
  self._log.debug("<-- _findFlowDvInDir %s" % imp_path)
502
496
  return imp_path
503
497
 
@@ -506,11 +500,14 @@ class PackageLoader(object):
506
500
  # Search deeper
507
501
  ret = None
508
502
  for subdir in os.listdir(dir):
509
- if os.path.isfile(os.path.join(dir, subdir, "flow.dv")):
510
- ret = os.path.join(dir, subdir, "flow.dv")
511
- self._log.debug("Found: %s" % ret)
512
- elif os.path.isdir(os.path.join(dir, subdir)):
513
- ret = self._findFlowDvSubdir(os.path.join(dir, subdir))
503
+ for name in ("flow.dv", "flow.yaml", "flow.yml"):
504
+ if os.path.isfile(os.path.join(dir, subdir, name)):
505
+ ret = os.path.join(dir, subdir, name)
506
+ self._log.debug("Found: %s" % ret)
507
+ elif os.path.isdir(os.path.join(dir, subdir)):
508
+ ret = self._findFlowDvSubdir(os.path.join(dir, subdir))
509
+ if ret is not None:
510
+ break
514
511
  if ret is not None:
515
512
  break
516
513
  return ret
dv_flow/mgr/util/util.py CHANGED
@@ -31,14 +31,17 @@ def loadProjPkgDef(path, listener=None):
31
31
  ret = None
32
32
  found = False
33
33
  while dir != "/" and dir != "" and os.path.isdir(dir):
34
- if os.path.exists(os.path.join(dir, "flow.dv")):
35
- with open(os.path.join(dir, "flow.dv")) as f:
36
- data = yaml.load(f, Loader=yaml.FullLoader)
37
- if "package" in data.keys():
38
- found = True
39
- listeners = [listener] if listener is not None else []
40
- ret = PackageLoader(marker_listeners=listeners).load(os.path.join(dir, "flow.dv"))
41
- break
34
+ for name in ("flow.dv", "flow.yaml", "flow.yml"):
35
+ if os.path.exists(os.path.join(dir, name)):
36
+ with open(os.path.join(dir, name)) as f:
37
+ data = yaml.load(f, Loader=yaml.FullLoader)
38
+ if "package" in data.keys():
39
+ found = True
40
+ listeners = [listener] if listener is not None else []
41
+ ret = PackageLoader(marker_listeners=listeners).load(os.path.join(dir, name))
42
+ break
43
+ if found:
44
+ break
42
45
  dir = os.path.dirname(dir)
43
46
 
44
47
  if not found:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.10.15799064162rc0
3
+ Version: 1.10.15800610556rc0
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,4 +1,4 @@
1
- dv_flow/mgr/__init__.py,sha256=-Rxl87S-OTMqrTBPkNDIXMWxmME8gdtHe24Ddcw07fc,1316
1
+ dv_flow/mgr/__init__.py,sha256=LGGJpMvy-J0jDtmr9Z0j6cuf95OmqkvCKu74e9qYGrA,1316
2
2
  dv_flow/mgr/__main__.py,sha256=yrNrvz-jYEovBGpY1E9aS1iZ9S_9MQv0lT-XUQSp0vc,4141
3
3
  dv_flow/mgr/cond_def.py,sha256=2ZkzPusqVkN1fFMTvkDl9O_OJLPdD_cK3xzX9J75RMw,343
4
4
  dv_flow/mgr/config.py,sha256=b2MVlVVNB0psk8x4bQRAYshkpNJrtyMtV1Ymhmx9AfM,137
@@ -21,7 +21,7 @@ dv_flow/mgr/out,sha256=d8GGBi3J43fhdLBlnsUbzBfRe0TD0QTP3nOTz54l2bI,200
21
21
  dv_flow/mgr/package.py,sha256=oKzYQypF-to4OXr8BKwPz7Z8cf7AC6eF6CiYj1jCyTI,4585
22
22
  dv_flow/mgr/package_def.py,sha256=h3_FIKQB0vqfcu1jRAZuB8W8Kozr62oaKNchxeNjpWk,5898
23
23
  dv_flow/mgr/package_import_spec.py,sha256=aZMpnS9a5NFY76_pYXEuO3-Mkc_xFzy73fdrUe_54Dc,1760
24
- dv_flow/mgr/package_loader.py,sha256=4fFNuZ-BDzkM1KeYhCM2VM3DLsLnea3L2f2JrUv8US4,36509
24
+ dv_flow/mgr/package_loader.py,sha256=bLoVVdAp0cUIJWrSwXkgu8YothjtjIFsbZcINduTl_4,36315
25
25
  dv_flow/mgr/package_node.py,sha256=CccD2ECiIXy9JBkRR3c7qDxeBiLiPbRT9CqR-Al_niI,214
26
26
  dv_flow/mgr/param.py,sha256=kkxMRGf6mPjSZJsjgLKH2vJL62Sn0ZESvjBLkEYOp20,1386
27
27
  dv_flow/mgr/param_def.py,sha256=GnaolV5QOrjBpqNj9yYo9nnrwEBpp4J_4ZYe14bsfO4,1939
@@ -58,10 +58,11 @@ dv_flow/mgr/task_runner.py,sha256=l1bkVoGerPl1mw4O-JMLGHgDZdWIHukfj5fElbiNizI,10
58
58
  dv_flow/mgr/type.py,sha256=hoJTatlPC0yOazKSWduK-5CfY38RPkc6qXFzOCcVSdM,723
59
59
  dv_flow/mgr/type_def.py,sha256=4sge3PibO1jDnS0cXdX0PiurcKbDA3kT6rb4DGIKwEM,1176
60
60
  dv_flow/mgr/yaml_srcinfo_loader.py,sha256=29BNRiB8Hj1FepkrLtdjHSv5U_85Q432gBeeK80nKEA,1606
61
- dv_flow/mgr/cmds/cmd_graph.py,sha256=s6EU27myTgXm1MJ2xFb04ndOPEejTXM2Hi7ipT4o110,3181
62
- dv_flow/mgr/cmds/cmd_run.py,sha256=oFKQ4W1E3SvetY_v4LYAogowDPFZ7S3U7uIqudYe3po,4154
63
- dv_flow/mgr/cmds/cmd_show.py,sha256=JOIFaVXt8YCf9bKXfq6qzV5wQdxdLHqE-yCj0ecGREs,3755
61
+ dv_flow/mgr/cmds/cmd_graph.py,sha256=VQLm-zoa5xbWNfJNoCnDihKniWW8W_tmCyWZISDzwDo,3006
62
+ dv_flow/mgr/cmds/cmd_run.py,sha256=0wqJpYwmqo9Ou5Tny12A67WqOdUWFgLVKeFy-0R07dA,3981
63
+ dv_flow/mgr/cmds/cmd_show.py,sha256=eNWP-cd3PTF1gfrdG58hzb6Mf5sNOGu1MZaslJ_z4fc,3791
64
64
  dv_flow/mgr/cmds/cmd_util.py,sha256=jdT48T_pZozCZUzkNy7tIhYL_kMGjWbV6g92oMYhRww,985
65
+ dv_flow/mgr/cmds/util.py,sha256=S6_wIxDBxzWVxwjmPiY6Wk_AO7sD0OLDw-ENqge6TWc,286
65
66
  dv_flow/mgr/share/flow.json,sha256=lNmZex9NXkYbyb2aZseQfUOkV9CMyfH0iLODEI7EPBw,5096
66
67
  dv_flow/mgr/std/create_file.py,sha256=SEpKTQdiY32002C7b4kYfAiK9v_xajixOJU5WftW75I,2957
67
68
  dv_flow/mgr/std/data_item.py,sha256=olKtspEVFOvr92reUl4QaQV27UVyjSGIfIWpsy0Myvo,434
@@ -73,12 +74,12 @@ dv_flow/mgr/std/message.py,sha256=0JHLErg8whqMLAasG1fumZ2O7R7WNWeNQ9ibJaLDpVY,10
73
74
  dv_flow/mgr/std/task_null.py,sha256=dw6LXBXVwth6gLPeduDvlz5znAhcVpDH8r1DticD-0w,1041
74
75
  dv_flow/mgr/util/__init__.py,sha256=6uuA6z5cKS2hcjJw6YyEM2M79g6OpXb6tZF_Gku-AGU,22
75
76
  dv_flow/mgr/util/__main__.py,sha256=F0LXpCDpYTPalSo0dc1h_qZkip5v1AZYYh-vcYbh5s0,983
76
- dv_flow/mgr/util/util.py,sha256=Ob2RTJOhanWajatiWJYm2ixuzspVx9hPFjGaaw0oPRI,1924
77
+ dv_flow/mgr/util/util.py,sha256=5wVWpkHn4U-Hcv-skaLaGC0bgoK63NaF-NH-DGpAaRM,2035
77
78
  dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
79
  dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
79
- dv_flow_mgr-1.10.15799064162rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
- dv_flow_mgr-1.10.15799064162rc0.dist-info/METADATA,sha256=pW0HnBLlhHLkWa81qnWi5SzIgJVLDQUHqnrYBG7bUIo,13336
81
- dv_flow_mgr-1.10.15799064162rc0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
- dv_flow_mgr-1.10.15799064162rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
83
- dv_flow_mgr-1.10.15799064162rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
84
- dv_flow_mgr-1.10.15799064162rc0.dist-info/RECORD,,
80
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
81
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/METADATA,sha256=vU3peUbzmqG72Uinfu8eQvqd2zD45i4lEPnBETGds6I,13336
82
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
84
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
85
+ dv_flow_mgr-1.10.15800610556rc0.dist-info/RECORD,,