dv-flow-mgr 1.10.15546818223rc0__py3-none-any.whl → 1.10.15799064162rc0__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="15546818223rc0"
35
+ SUFFIX="15799064162rc0"
36
36
  __version__="%s%s" % (VERSION, SUFFIX)
37
37
 
@@ -11,6 +11,7 @@ from .fragment_def import FragmentDef
11
11
  from .package_def import PackageDef
12
12
  from .package import Package
13
13
  from .param_def import ComplexType
14
+ from .param_ref_eval import ParamRefEval
14
15
  from .ext_rgy import ExtRgy
15
16
  from .srcinfo import SrcInfo
16
17
  from .task import Task, Strategy, StrategyGenerate
@@ -231,6 +232,7 @@ class PackageLoader(object):
231
232
  _pkg_s : List[PackageScope] = dc.field(default_factory=list)
232
233
  _pkg_m : Dict[str, Package] = dc.field(default_factory=dict)
233
234
  _pkg_path_m : Dict[str, Package] = dc.field(default_factory=dict)
235
+ _eval : ParamRefEval = dc.field(default_factory=ParamRefEval)
234
236
  _loader_scope : LoaderScope = None
235
237
 
236
238
  def __post_init__(self):
@@ -240,6 +242,8 @@ class PackageLoader(object):
240
242
  if self.env is None:
241
243
  self.env = os.environ.copy()
242
244
 
245
+ self._eval.set("env", self.env)
246
+
243
247
  self._loader_scope = LoaderScope(name=None, loader=self)
244
248
 
245
249
  def load(self, root) -> Package:
@@ -438,6 +442,10 @@ class PackageLoader(object):
438
442
 
439
443
  self._log.info("Loading imported package %s" % imp_path)
440
444
 
445
+ if "${{" in imp_path:
446
+ imp_path = self._eval.eval(imp_path)
447
+ self._log.info("Import path with expansion: %s" % imp_path)
448
+
441
449
  if not os.path.isabs(imp_path):
442
450
  for root in (basedir, os.path.dirname(self._file_s[0])):
443
451
  self._log.debug("Search basedir: %s ; imp_path: %s" % (root, imp_path))
@@ -448,6 +456,10 @@ class PackageLoader(object):
448
456
  self._log.debug("Found root file: %s" % resolved_path)
449
457
  imp_path = resolved_path
450
458
  break
459
+ else:
460
+ # absolute path.
461
+ if os.path.isdir(imp_path):
462
+ imp_path = self._findFlowDvInDir(imp_path)
451
463
 
452
464
  if not os.path.isfile(imp_path):
453
465
  self.error("Import file %s not found" % imp_path, pkg.srcinfo)
@@ -466,11 +478,18 @@ class PackageLoader(object):
466
478
  pkg.pkg_m[sub_pkg.name] = sub_pkg
467
479
  self._log.debug("<-- _loadPackageImport %s" % str(imp))
468
480
 
469
- def _findFlowDvInDir(self, base, leaf):
481
+ def _findFlowDvInDir(self, base, leaf=None):
470
482
  """Search down the tree looking for a flow.dv file"""
471
483
  self._log.debug("--> _findFlowDvInDir (%s, %s)" % (base, leaf))
472
484
  imp_path = None
473
- if os.path.isfile(os.path.join(base, leaf)):
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):
491
+ imp_path = self._findFlowDvSubdir(base)
492
+ elif os.path.isfile(os.path.join(base, leaf)):
474
493
  imp_path = os.path.join(base, leaf)
475
494
  self._log.debug("Found: %s" % imp_path)
476
495
  elif os.path.isdir(os.path.join(base, leaf)):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 1.10.15546818223rc0
3
+ Version: 1.10.15799064162rc0
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=FLH25pZ7BCcqKMfK3iZ0xyJQZ28wy31JyJEJWbA_XvE,1316
1
+ dv_flow/mgr/__init__.py,sha256=-Rxl87S-OTMqrTBPkNDIXMWxmME8gdtHe24Ddcw07fc,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=okXcF5EqgvKMHSCsEpMtpejhBmnE-QaUDoV4C1yNmdA,35750
24
+ dv_flow/mgr/package_loader.py,sha256=4fFNuZ-BDzkM1KeYhCM2VM3DLsLnea3L2f2JrUv8US4,36509
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
@@ -76,9 +76,9 @@ dv_flow/mgr/util/__main__.py,sha256=F0LXpCDpYTPalSo0dc1h_qZkip5v1AZYYh-vcYbh5s0,
76
76
  dv_flow/mgr/util/util.py,sha256=Ob2RTJOhanWajatiWJYm2ixuzspVx9hPFjGaaw0oPRI,1924
77
77
  dv_flow/mgr/util/cmds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
78
  dv_flow/mgr/util/cmds/cmd_schema.py,sha256=IJzZdxCSEgIQ79LpYiM7UqJ9RJ-7yraqmBN2XVgAgXA,1752
79
- dv_flow_mgr-1.10.15546818223rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
80
- dv_flow_mgr-1.10.15546818223rc0.dist-info/METADATA,sha256=Hqaghk9RDnIFdKzSbHxKmuxsqXeZUHWO2bW-6Gh2oDg,13336
81
- dv_flow_mgr-1.10.15546818223rc0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
- dv_flow_mgr-1.10.15546818223rc0.dist-info/entry_points.txt,sha256=1roy8wAFM48LabOvr6jiOw0MUs-qE8X3Vf8YykPazxk,50
83
- dv_flow_mgr-1.10.15546818223rc0.dist-info/top_level.txt,sha256=amfVTkggzYPtWwLqNmRukfz1Buu0pGS2SrYBBLhXm04,8
84
- dv_flow_mgr-1.10.15546818223rc0.dist-info/RECORD,,
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,,