dv-flow-mgr 0.0.2.14150065664a1__tar.gz → 0.0.2.14163613545a1__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 (117) hide show
  1. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/PKG-INFO +1 -1
  2. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/pyproject.toml +1 -1
  3. dv_flow_mgr-0.0.2.14163613545a1/src/dv_flow/mgr/listener_list.py +10 -0
  4. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/package_def.py +12 -1
  5. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_def.py +7 -3
  6. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_graph_builder.py +3 -0
  7. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/PKG-INFO +1 -1
  8. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/SOURCES.txt +1 -0
  9. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/.github/workflows/ci.yml +0 -0
  10. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/.gitignore +0 -0
  11. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/.vscode/settings.json +0 -0
  12. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/LICENSE +0 -0
  13. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/README.md +0 -0
  14. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/ChangeLog.md +0 -0
  15. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/KeyArchitecture.md +0 -0
  16. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Makefile +0 -0
  17. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Notes.md +0 -0
  18. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Roadmap.md +0 -0
  19. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/RundirLayout.md +0 -0
  20. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Stages.md +0 -0
  21. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Steps.md +0 -0
  22. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Tasks.md +0 -0
  23. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/TypesAndDefs.md +0 -0
  24. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/Usecases.md +0 -0
  25. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/cmdref.rst +0 -0
  26. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/conf.py +0 -0
  27. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/index.rst +0 -0
  28. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/pytask_api.rst +0 -0
  29. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/docs/quickstart.rst +0 -0
  30. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/fwperiph_dma.pss +0 -0
  31. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/ivpm.yaml +0 -0
  32. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/setup.cfg +0 -0
  33. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/__init__.py +0 -0
  34. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/__main__.py +0 -0
  35. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/cmds/cmd_graph.py +0 -0
  36. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/cmds/cmd_run.py +0 -0
  37. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/cmds/cmd_show.py +0 -0
  38. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/eval_jq.py +0 -0
  39. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/expr_eval.py +0 -0
  40. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/expr_parser.py +0 -0
  41. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/fileset.py +0 -0
  42. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/fragment_def.py +0 -0
  43. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/out +0 -0
  44. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/package.py +0 -0
  45. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/package_import_spec.py +0 -0
  46. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/param.py +0 -0
  47. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/param_def.py +0 -0
  48. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/param_ref_eval.py +0 -0
  49. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/parsetab.py +0 -0
  50. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/pkg_rgy.py +0 -0
  51. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/share/flow.json +0 -0
  52. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/create_file.py +0 -0
  53. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/exec.py +0 -0
  54. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/fileset.py +0 -0
  55. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/flow.dv +0 -0
  56. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/message.py +0 -0
  57. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/std/task_null.py +0 -0
  58. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_data.py +0 -0
  59. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_graph_dot_writer.py +0 -0
  60. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_listener_log.py +0 -0
  61. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node.py +0 -0
  62. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_compound.py +0 -0
  63. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor.py +0 -0
  64. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_compound.py +0 -0
  65. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_compound_proxy.py +0 -0
  66. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_def_base.py +0 -0
  67. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_proxy.py +0 -0
  68. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_task.py +0 -0
  69. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_ctor_wrapper.py +0 -0
  70. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_node_leaf.py +0 -0
  71. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_output.py +0 -0
  72. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_params_ctor.py +0 -0
  73. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_run_ctxt.py +0 -0
  74. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/task_runner.py +0 -0
  75. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/type.py +0 -0
  76. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/type_def.py +0 -0
  77. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/util/__init__.py +0 -0
  78. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/util/__main__.py +0 -0
  79. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/util/cmds/__init__.py +0 -0
  80. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/util/cmds/cmd_schema.py +0 -0
  81. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow/mgr/util/util.py +0 -0
  82. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/dependency_links.txt +0 -0
  83. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/entry_points.txt +0 -0
  84. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/requires.txt +0 -0
  85. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/src/dv_flow_mgr.egg-info/top_level.txt +0 -0
  86. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/examples/example1/example1.flow +0 -0
  87. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/system/test_depends.py +0 -0
  88. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/system/test_pkg_discovery.py +0 -0
  89. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/system/test_stdlib.py +0 -0
  90. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/__init__.py +0 -0
  91. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1/files1/file1_1.sv +0 -0
  92. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1/files1/file1_2.sv +0 -0
  93. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1/files2/file2_1.sv +0 -0
  94. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1/files2/file2_2.sv +0 -0
  95. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1/flow.dv +0 -0
  96. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1 copy/files1/file1_1.sv +0 -0
  97. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1 copy/files1/file1_2.sv +0 -0
  98. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1 copy/files2/file2_1.sv +0 -0
  99. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1 copy/files2/file2_2.sv +0 -0
  100. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/fileset/test1 copy/test1.dfs +0 -0
  101. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/proj1/proj1.dfs +0 -0
  102. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/proj2/proj2.dfs +0 -0
  103. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/data/proj3/proj3.dfs +0 -0
  104. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_compound_task.py +0 -0
  105. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_data_merge.py +0 -0
  106. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_dataflow.py +0 -0
  107. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_expr_eval.py +0 -0
  108. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_expr_parser.py +0 -0
  109. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_fileset.py +0 -0
  110. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_imports.py +0 -0
  111. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_markers.py +0 -0
  112. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_parse.py +0 -0
  113. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_pyclass.py +0 -0
  114. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_pytask_smoke.py +0 -0
  115. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_smoke copy.sav +0 -0
  116. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/tests/unit/test_smoke.py +0 -0
  117. {dv_flow_mgr-0.0.2.14150065664a1 → dv_flow_mgr-0.0.2.14163613545a1}/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.14150065664a1
3
+ Version: 0.0.2.14163613545a1
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.14150065664a1"
8
+ version = "0.0.2.14163613545a1"
9
9
  dependencies = [
10
10
  'jq',
11
11
  'pydantic',
@@ -0,0 +1,10 @@
1
+ import dataclasses as dc
2
+ from typing import List, Callable
3
+
4
+ @dc.dataclass
5
+ class ListenerList(object):
6
+ listeners : List[Callable] = dc.field(default_factory=list)
7
+
8
+ def __call__(self, *args, **kwargs):
9
+ for l in self.listeners:
10
+ l(*args, **kwargs)
@@ -64,6 +64,7 @@ class PackageDef(BaseModel):
64
64
  params : List[ParamDef] = dc.Field(
65
65
  default_factory=list, alias="with",
66
66
  description="List of package parameters to set")
67
+ srcinfo : Any = dc.Field(default=None)
67
68
 
68
69
  _fragment_l : List['FragmentDef'] = []
69
70
  _subpkg_m : Dict[str,'PackageDef'] = {}
@@ -410,13 +411,23 @@ class PackageDef(BaseModel):
410
411
 
411
412
  @classmethod
412
413
  def _loadPkgDef(cls, root, exp_pkg_name, file_s):
414
+ from yaml.loader import SafeLoader
415
+
416
+ class SafeLineLoader(SafeLoader):
417
+ def construct_mapping(self, node, deep=False):
418
+ # print("construct")
419
+ mapping = super(SafeLineLoader, self).construct_mapping(node, deep=deep)
420
+ # Add 1 so line numbering starts at 1
421
+ # mapping['_srcinfo'] = node.start_mark.line + 1
422
+ return mapping
423
+
413
424
  if root in file_s:
414
425
  raise Exception("Recursive file processing @ %s: %s" % (root, ",".join(file_s)))
415
426
  file_s.append(root)
416
427
  ret = None
417
428
  with open(root, "r") as fp:
418
429
  PackageDef._log.debug("open %s" % root)
419
- doc = yaml.load(fp, Loader=yaml.FullLoader)
430
+ doc = yaml.load(fp, Loader=SafeLineLoader)
420
431
  if "package" not in doc.keys():
421
432
  raise Exception("Missing 'package' key in %s" % root)
422
433
  try:
@@ -19,6 +19,7 @@
19
19
  #* Author:
20
20
  #*
21
21
  #****************************************************************************
22
+ import pydantic
22
23
  import pydantic.dataclasses as dc
23
24
  import enum
24
25
  from pydantic import BaseModel
@@ -100,9 +101,12 @@ class TaskDef(BaseModel):
100
101
  consumes : Union[ConsumesE, List[Any], None] = dc.Field(
101
102
  default=None,
102
103
  description="Specifies matching patterns for parameter sets that this task consumes")
103
-
104
- # out: List[TaskOutput] = dc.Field(default_factory=list)
105
-
104
+
105
+ def __init__(self, **data):
106
+ # print("--> task_def %s" % str(data))
107
+ super().__init__(**data)
108
+ # print("<-- task_def %s" % str(data))
109
+
106
110
  def copy(self) -> 'TaskDef':
107
111
  ret = TaskDef(
108
112
  name=self.name,
@@ -22,6 +22,7 @@
22
22
  import os
23
23
  import dataclasses as dc
24
24
  import logging
25
+ from typing import Callable
25
26
  from .package import Package
26
27
  from .package_def import PackageDef, PackageSpec
27
28
  from .pkg_rgy import PkgRgy
@@ -48,6 +49,7 @@ class TaskGraphBuilder(object):
48
49
  root_pkg : PackageDef
49
50
  rundir : str
50
51
  pkg_rgy : PkgRgy = None
52
+ marker_l : Callable = lambda *args, **kwargs: None
51
53
  _pkg_s : List[Package] = dc.field(default_factory=list)
52
54
  _pkg_m : Dict[PackageSpec,Package] = dc.field(default_factory=dict)
53
55
  _pkg_spec_s : List[PackageDef] = dc.field(default_factory=list)
@@ -330,6 +332,7 @@ class TaskGraphBuilder(object):
330
332
  self._pkg_spec_s.pop()
331
333
  self._pkg_m[spec] = pkg
332
334
  else:
335
+ self.error("Failed to find package %s" % spec.name)
333
336
  raise Exception("Failed to find definition of package %s" % spec.name)
334
337
 
335
338
  self._logger.debug("<-- getPackage: %s" % str(pkg))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dv-flow-mgr
3
- Version: 0.0.2.14150065664a1
3
+ Version: 0.0.2.14163613545a1
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
@@ -29,6 +29,7 @@ src/dv_flow/mgr/expr_eval.py
29
29
  src/dv_flow/mgr/expr_parser.py
30
30
  src/dv_flow/mgr/fileset.py
31
31
  src/dv_flow/mgr/fragment_def.py
32
+ src/dv_flow/mgr/listener_list.py
32
33
  src/dv_flow/mgr/out
33
34
  src/dv_flow/mgr/package.py
34
35
  src/dv_flow/mgr/package_def.py