dv-flow-mgr 0.0.1.12942349289a1__tar.gz → 0.0.1.12952658757a1__tar.gz

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 (70) hide show
  1. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/pyproject.toml +1 -1
  3. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/__init__.py +1 -0
  4. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/package_def.py +1 -1
  5. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_graph_builder.py +13 -1
  6. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  7. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/sys/test_pkg_discovery.py +24 -5
  8. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/.github/workflows/ci.yml +0 -0
  9. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/.gitignore +0 -0
  10. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/.vscode/settings.json +0 -0
  11. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/LICENSE +0 -0
  12. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/README.md +0 -0
  13. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/Makefile +0 -0
  14. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/Notes.md +0 -0
  15. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/Roadmap.md +0 -0
  16. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/Stages.md +0 -0
  17. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/TypesAndDefs.md +0 -0
  18. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/conf.py +0 -0
  19. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/index.rst +0 -0
  20. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/intro.rst +0 -0
  21. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/quickstart.rst +0 -0
  22. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/docs/reference.rst +0 -0
  23. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/ivpm.yaml +0 -0
  24. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/setup.cfg +0 -0
  25. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/__main__.py +0 -0
  26. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
  27. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/fileset.py +0 -0
  28. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  29. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/package.py +0 -0
  30. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  31. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/pkg_rgy.py +0 -0
  32. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/share/flow.json +0 -0
  33. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  34. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  35. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/std/message.py +0 -0
  36. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  37. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task.py +0 -0
  38. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_data.py +0 -0
  39. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_def.py +0 -0
  40. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_graph_runner.py +0 -0
  41. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_graph_runner_local.py +0 -0
  42. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/task_memento.py +0 -0
  43. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow/mgr/util.py +0 -0
  44. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +0 -0
  45. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  46. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  47. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  48. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  49. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/examples/example1/example1.flow +0 -0
  50. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/sys/test_depends.py +0 -0
  51. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/__init__.py +0 -0
  52. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  53. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  54. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  55. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  56. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  57. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  58. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  59. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  60. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  61. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  62. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  63. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  64. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  65. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_data_merge.py +0 -0
  66. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_fileset.py +0 -0
  67. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_pyclass.py +0 -0
  68. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_smoke copy.sav +0 -0
  69. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_smoke.py +0 -0
  70. {dv_flow_mgr-0.0.1.12942349289a1 → dv_flow_mgr-0.0.1.12952658757a1}/tests/unit/test_stdlib.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.1.12942349289a1
3
+ Version: 0.0.1.12952658757a1
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
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "dv-flow-mgr"
8
- version = "0.0.1.12942349289a1"
8
+ version = "0.0.1.12952658757a1"
9
9
  dependencies = [
10
10
  'pydantic',
11
11
  'pyyaml',
@@ -1,5 +1,6 @@
1
1
 
2
2
  from .package_def import *
3
+ from .pkg_rgy import PkgRgy
3
4
  from .task_graph_runner import *
4
5
  from .task import *
5
6
  from .task_data import *
@@ -58,7 +58,7 @@ class PackageDef(BaseModel):
58
58
  def mkPackage(self, session, params : Dict[str,Any] = None) -> 'Package':
59
59
  ret = Package(self.name)
60
60
 
61
- session.push_package(ret)
61
+ session.push_package(ret, add=True)
62
62
 
63
63
  tasks_m : Dict[str,str,TaskCtor]= {}
64
64
 
@@ -48,8 +48,10 @@ class TaskGraphBuilder(object):
48
48
  self._pkg_spec_s.pop()
49
49
  self._pkg_m[PackageSpec(self.root_pkg.name)] = pkg
50
50
 
51
- def push_package(self, pkg : Package):
51
+ def push_package(self, pkg : Package, add=False):
52
52
  self._pkg_s.append(pkg)
53
+ if add:
54
+ self._pkg_m[PackageSpec(pkg.name, pkg.params)] = pkg
53
55
 
54
56
  def pop_package(self, pkg : Package):
55
57
  self._pkg_s.pop()
@@ -151,7 +153,10 @@ class TaskGraphBuilder(object):
151
153
  pkg = self._pkg_m[tgt_pkg_spec]
152
154
  elif self.pkg_rgy.hasPackage(tgt_pkg_spec.name):
153
155
  base = self.pkg_rgy.getPackage(tgt_pkg_spec.name)
156
+ pkg_m = self._pkg_m
157
+ self._pkg_m = {}
154
158
  pkg = base.mkPackage(self, spec.params)
159
+ self._pkg_m = pkg_m
155
160
  self._pkg_m[spec] = pkg
156
161
  elif imp.path is not None:
157
162
  # See if we can load the package
@@ -170,6 +175,9 @@ class TaskGraphBuilder(object):
170
175
  if base is None:
171
176
  raise Exception("Failed to find imported package %s" % spec.name)
172
177
  pkg = base.mkPackage(self, spec.params)
178
+ pkg_m = self._pkg_m
179
+ self._pkg_m = {}
180
+ self._pkg_m = pkg_m
173
181
  self._pkg_m[spec] = pkg
174
182
  break
175
183
 
@@ -178,7 +186,11 @@ class TaskGraphBuilder(object):
178
186
  p_def = self.pkg_rgy.getPackage(spec.name)
179
187
 
180
188
  if p_def is not None:
189
+ pkg_m = self._pkg_m
190
+ self._pkg_m = {}
181
191
  pkg = p_def.mkPackage(self)
192
+ self._pkg_m = pkg_m
193
+ self._pkg_m[spec] = pkg
182
194
 
183
195
  if pkg is None:
184
196
  raise Exception("Failed to find package %s from package %s" % (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.1.12942349289a1
3
+ Version: 0.0.1.12952658757a1
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
@@ -2,6 +2,7 @@ import os
2
2
  import pytest
3
3
  import subprocess
4
4
  import sys
5
+ from dv_flow.mgr import PkgRgy
5
6
 
6
7
 
7
8
  def test_import_specific(tmpdir):
@@ -61,12 +62,12 @@ package:
61
62
  name: p1
62
63
 
63
64
  imports:
64
- - name: p2
65
- as: p3
65
+ - name: p2.foo
66
+ as: p2
66
67
 
67
68
  tasks:
68
69
  - name: my_task
69
- uses: p3.doit
70
+ uses: p2.doit
70
71
  """
71
72
 
72
73
  p2_flow_dv = """
@@ -77,7 +78,18 @@ package:
77
78
  - name: doit
78
79
  uses: std.Message
79
80
  with:
80
- msg: "Hello There"
81
+ msg: "Hello There (p2)"
82
+ """
83
+
84
+ p2_foo_flow_dv = """
85
+ package:
86
+ name: p2.foo
87
+
88
+ tasks:
89
+ - name: doit
90
+ uses: std.Message
91
+ with:
92
+ msg: "Hello There (p2.foo)"
81
93
  """
82
94
 
83
95
  rundir = os.path.join(tmpdir)
@@ -89,6 +101,13 @@ package:
89
101
  with open(os.path.join(rundir, "p2/flow.dv"), "w") as fp:
90
102
  fp.write(p2_flow_dv)
91
103
 
104
+ with open(os.path.join(rundir, "p2/foo.dv"), "w") as fp:
105
+ fp.write(p2_foo_flow_dv)
106
+
107
+ # pkg_rgy = PkgRgy()
108
+ # pkg_rgy.registerPackage("p2", os.path.join(rundir, "p2/flow.dv"))
109
+ # pkg_rgy.registerPackage("p2.foo", os.path.join(rundir, "p2/foo.dv"))
110
+
92
111
  env = os.environ.copy()
93
112
  env["DV_FLOW_PATH"] = rundir
94
113
 
@@ -104,5 +123,5 @@ package:
104
123
 
105
124
  output = output.decode()
106
125
 
107
- assert output.find("Hello There") != -1
126
+ assert output.find("Hello There (p2.foo)") != -1
108
127