dv-flow-mgr 0.0.2.14148165289a1__tar.gz → 0.0.2.14148897378a1__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 (115) hide show
  1. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/pyproject.toml +1 -1
  3. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/cmds/cmd_run.py +1 -1
  4. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/package_def.py +0 -1
  5. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_def.py +3 -2
  6. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_graph_builder.py +17 -6
  7. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  8. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_smoke.py +4 -2
  9. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/.github/workflows/ci.yml +0 -0
  10. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/.gitignore +0 -0
  11. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/.vscode/settings.json +0 -0
  12. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/LICENSE +0 -0
  13. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/README.md +0 -0
  14. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/ChangeLog.md +0 -0
  15. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/KeyArchitecture.md +0 -0
  16. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Makefile +0 -0
  17. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Notes.md +0 -0
  18. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Roadmap.md +0 -0
  19. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/RundirLayout.md +0 -0
  20. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Stages.md +0 -0
  21. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Steps.md +0 -0
  22. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Tasks.md +0 -0
  23. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/TypesAndDefs.md +0 -0
  24. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/Usecases.md +0 -0
  25. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/cmdref.rst +0 -0
  26. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/conf.py +0 -0
  27. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/index.rst +0 -0
  28. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/pytask_api.rst +0 -0
  29. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/docs/quickstart.rst +0 -0
  30. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/fwperiph_dma.pss +0 -0
  31. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/ivpm.yaml +0 -0
  32. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/setup.cfg +0 -0
  33. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/__init__.py +0 -0
  34. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/__main__.py +0 -0
  35. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/cmds/cmd_graph.py +0 -0
  36. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
  37. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/eval_jq.py +0 -0
  38. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/expr_eval.py +0 -0
  39. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/expr_parser.py +0 -0
  40. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/fileset.py +0 -0
  41. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  42. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/out +0 -0
  43. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/package.py +0 -0
  44. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  45. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/param.py +0 -0
  46. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/param_def.py +0 -0
  47. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
  48. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/parsetab.py +0 -0
  49. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/pkg_rgy.py +0 -0
  50. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/share/flow.json +0 -0
  51. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/create_file.py +0 -0
  52. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/exec.py +0 -0
  53. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  54. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  55. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/message.py +0 -0
  56. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  57. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_data.py +0 -0
  58. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
  59. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
  60. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node.py +0 -0
  61. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_compound.py +0 -0
  62. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
  63. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
  64. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
  65. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
  66. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
  67. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
  68. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
  69. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_node_leaf.py +0 -0
  70. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_output.py +0 -0
  71. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
  72. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/task_runner.py +0 -0
  73. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/type.py +0 -0
  74. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/type_def.py +0 -0
  75. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/util/__init__.py +0 -0
  76. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/util/__main__.py +0 -0
  77. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
  78. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
  79. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow/mgr/util/util.py +0 -0
  80. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +0 -0
  81. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  82. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  83. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  84. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  85. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/examples/example1/example1.flow +0 -0
  86. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/system/test_depends.py +0 -0
  87. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/system/test_pkg_discovery.py +0 -0
  88. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/system/test_stdlib.py +0 -0
  89. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/__init__.py +0 -0
  90. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  91. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  92. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  93. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  94. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  95. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  96. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  97. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  98. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  99. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  100. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  101. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  102. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  103. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_compound_task.py +0 -0
  104. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_data_merge.py +0 -0
  105. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_dataflow.py +0 -0
  106. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_expr_eval.py +0 -0
  107. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_expr_parser.py +0 -0
  108. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_fileset.py +0 -0
  109. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_imports.py +0 -0
  110. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_markers.py +0 -0
  111. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_parse.py +0 -0
  112. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_pyclass.py +0 -0
  113. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_pytask_smoke.py +0 -0
  114. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_smoke copy.sav +0 -0
  115. {dv_flow_mgr-0.0.2.14148165289a1 → dv_flow_mgr-0.0.2.14148897378a1}/tests/unit/test_stdlib.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.2.14148165289a1
3
+ Version: 0.0.2.14148897378a1
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.2.14148165289a1"
8
+ version = "0.0.2.14148897378a1"
9
9
  dependencies = [
10
10
  'jq',
11
11
  'pydantic',
@@ -90,7 +90,7 @@ class CmdRun(object):
90
90
  for spec in args.tasks:
91
91
  if spec.find('.') == -1:
92
92
  spec = pkg.name + "." + spec
93
- task = builder.mkTaskGraph(spec)
93
+ task = builder.mkTaskGraph(spec, rundir=spec)
94
94
  tasks.append(task)
95
95
 
96
96
  asyncio.run(runner.run(tasks))
@@ -318,7 +318,6 @@ class PackageDef(BaseModel):
318
318
  needs = [] if task.needs is None else task.needs.copy()
319
319
 
320
320
  if base_ctor_t is not None:
321
- print("-- uses")
322
321
  if passthrough is None:
323
322
  passthrough = base_ctor_t.passthrough
324
323
  if consumes is None:
@@ -50,8 +50,9 @@ class PassthroughE(enum.Enum):
50
50
 
51
51
 
52
52
  class StrategyDef(BaseModel):
53
- matrix : Dict[str,List[Any]] = dc.Field(
54
- default_factory=dict,
53
+ chain: Union[bool, None] = dc.Field(default=None)
54
+ matrix : Union[Dict[str,List[Any]],None] = dc.Field(
55
+ default=None,
55
56
  description="Matrix of parameter values to explore")
56
57
 
57
58
  class TaskDef(BaseModel):
@@ -192,10 +192,6 @@ class TaskGraphBuilder(object):
192
192
  if task is None and name in self._task_m.keys():
193
193
  task = self._task_m[name]
194
194
 
195
- # if task is None:
196
- # # TODO: Look for a def that hasn't yet been constructed
197
- # task = self._mkTaskGraph(name, self.rundir)
198
-
199
195
  return task
200
196
 
201
197
  def leave_compound(self, task : TaskNode):
@@ -203,11 +199,19 @@ class TaskGraphBuilder(object):
203
199
  if ctxt.rundir is None or ctxt.rundir == RundirE.Unique:
204
200
  self._rundir_s.pop()
205
201
 
206
- def mkTaskGraph(self, task : str) -> TaskNode:
202
+ def mkTaskGraph(self, task : str, rundir=None) -> TaskNode:
207
203
  self._pkg_s.clear()
208
204
  self._task_m.clear()
209
205
 
210
- return self._mkTaskGraph(task)
206
+ if rundir is not None:
207
+ self._rundir_s.append(rundir)
208
+
209
+ ret = self._mkTaskGraph(task)
210
+
211
+ if rundir is not None:
212
+ self._rundir_s.pop()
213
+
214
+ return ret
211
215
 
212
216
  def _mkTaskGraph(self, task : str) -> TaskNode:
213
217
 
@@ -241,7 +245,11 @@ class TaskGraphBuilder(object):
241
245
  need_fullname = self._resolveNeedRef(need_def)
242
246
  self._logger.debug("Searching for qualifed-name task %s" % need_fullname)
243
247
  if not need_fullname in self._task_m.keys():
248
+ # Go back to the root from a rundir perspective
249
+ rundir_s = self._rundir_s
250
+ self._rundir_s = [need_fullname]
244
251
  need_t = self._mkTaskGraph(need_fullname)
252
+ self._rundir_s = rundir_s
245
253
  self._task_m[need_fullname] = need_t
246
254
  needs.append(self._task_m[need_fullname])
247
255
 
@@ -357,7 +365,10 @@ class TaskGraphBuilder(object):
357
365
  need_fullname = self._resolveNeedRef(need_def)
358
366
  self._logger.debug("Searching for qualifed-name task %s" % need_fullname)
359
367
  if not need_fullname in self._task_m.keys():
368
+ rundir_s = self._rundir_s
369
+ self._rundir_s = [need_fullname]
360
370
  need_t = self._mkTaskGraph(need_fullname)
371
+ self._rundir_s = rundir_s
361
372
  self._task_m[need_fullname] = need_t
362
373
  needs.append(self._task_m[need_fullname])
363
374
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.2.14148165289a1
3
+ Version: 0.0.2.14148897378a1
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
@@ -6,7 +6,7 @@ import pytest
6
6
  import jq
7
7
  from typing import List
8
8
  import yaml
9
- from dv_flow.mgr import FileSet, PackageDef, TaskData, TaskGraphBuilder
9
+ from dv_flow.mgr import TaskSetRunner, PackageDef, TaskData, TaskGraphBuilder
10
10
  from pydantic import BaseModel
11
11
  from shutil import copytree
12
12
 
@@ -26,7 +26,9 @@ package:
26
26
 
27
27
  pkg_def = PackageDef.loads(flowdv)
28
28
  builder = TaskGraphBuilder(pkg_def, os.getcwd())
29
- task = builder.mkTaskGraph("my_pkg.entry")
29
+ task = builder.mkTaskGraph("my_pkg.entry", rundir="mk_pkg.entry")
30
+
31
+ assert len(task.rundir) == 1
30
32
 
31
33
  def test_jq():
32
34
  data = [