proj-flow 0.11.0__tar.gz → 0.11.1__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 (140) hide show
  1. {proj_flow-0.11.0 → proj_flow-0.11.1}/CHANGELOG.rst +8 -0
  2. {proj_flow-0.11.0 → proj_flow-0.11.1}/PKG-INFO +1 -1
  3. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/__init__.py +1 -1
  4. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/init.py +3 -0
  5. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/registry.py +2 -0
  6. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/cmake/steps.py +0 -1
  7. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/__init__.py +2 -2
  8. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/base.py +5 -0
  9. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/init.py +4 -1
  10. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/api.py +17 -0
  11. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/cplusplus/__init__.py +1 -1
  12. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/cplusplus/cmake_context.py +2 -4
  13. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/cplusplus/conan_context.py +1 -3
  14. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/cplusplus/project.py +13 -0
  15. {proj_flow-0.11.0 → proj_flow-0.11.1}/.flow/config.yaml +0 -0
  16. {proj_flow-0.11.0 → proj_flow-0.11.1}/.gitignore +0 -0
  17. {proj_flow-0.11.0 → proj_flow-0.11.1}/.readthedocs.yaml +0 -0
  18. {proj_flow-0.11.0 → proj_flow-0.11.1}/LICENSE +0 -0
  19. {proj_flow-0.11.0 → proj_flow-0.11.1}/README.md +0 -0
  20. {proj_flow-0.11.0 → proj_flow-0.11.1}/pyproject.toml +0 -0
  21. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/__main__.py +0 -0
  22. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/__init__.py +0 -0
  23. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/arg.py +0 -0
  24. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/completers.py +0 -0
  25. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/ctx.py +0 -0
  26. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/env.py +0 -0
  27. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/makefile.py +0 -0
  28. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/release.py +0 -0
  29. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/api/step.py +0 -0
  30. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/__cmake_version__.py +0 -0
  31. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/__init__.py +0 -0
  32. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/cmd.py +0 -0
  33. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/inspect.py +0 -0
  34. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/matrix.py +0 -0
  35. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/name_list.py +0 -0
  36. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/plugins.py +0 -0
  37. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/base/uname.py +0 -0
  38. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/cli/__init__.py +0 -0
  39. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/cli/argument.py +0 -0
  40. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/cli/finder.py +0 -0
  41. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/dependency.py +0 -0
  42. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/__init__.py +0 -0
  43. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/__init__.py +0 -0
  44. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/cmake/__init__.py +0 -0
  45. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/cmake/parser.py +0 -0
  46. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/cmake/version.py +0 -0
  47. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/conan/__init__.py +0 -0
  48. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/cplusplus/conan/_conan.py +0 -0
  49. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/github/__init__.py +0 -0
  50. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/github/cli.py +0 -0
  51. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/github/hosting.py +0 -0
  52. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/github/switches.py +0 -0
  53. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/markdown_changelog.py +0 -0
  54. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/python/__init__.py +0 -0
  55. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/python/rtdocs.py +0 -0
  56. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/python/steps.py +0 -0
  57. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/python/version.py +0 -0
  58. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/re_structured_changelog.py +0 -0
  59. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/sign/__init__.py +0 -0
  60. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/sign/api.py +0 -0
  61. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/sign/win32.py +0 -0
  62. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/ext/store.py +0 -0
  63. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/flow/__init__.py +0 -0
  64. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/flow/configs.py +0 -0
  65. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/flow/layer.py +0 -0
  66. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/flow/steps.py +0 -0
  67. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/__init__.py +0 -0
  68. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/commit.py +0 -0
  69. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/error.py +0 -0
  70. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/fmt.py +0 -0
  71. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/format.py +0 -0
  72. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/hosting/__init__.py +0 -0
  73. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/hosting/github.py +0 -0
  74. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/msg.py +0 -0
  75. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/release.py +0 -0
  76. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/rich_text/__init__.py +0 -0
  77. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/rich_text/api.py +0 -0
  78. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/rich_text/markdown.py +0 -0
  79. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/log/rich_text/re_structured_text.py +0 -0
  80. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/bootstrap.py +0 -0
  81. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/list.py +0 -0
  82. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/run.py +0 -0
  83. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/minimal/system.py +0 -0
  84. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/__init__.py +0 -0
  85. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/data.py +0 -0
  86. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/project/interact.py +0 -0
  87. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.clang-format +0 -0
  88. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.flow/config.yml +0 -0
  89. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.flow/flow.py.mustache +0 -0
  90. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.flow/matrix.yml +0 -0
  91. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.flow/official.yml +0 -0
  92. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/.gitignore +0 -0
  93. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/README.md.mustache +0 -0
  94. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/flow +0 -0
  95. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base/flow.cmd +0 -0
  96. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/base.json +0 -0
  97. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/cmake/common.cmake.mustache +0 -0
  98. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/extensions/wall/__init__.py.mustache +0 -0
  99. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/extensions/wall/icons/__init__.py.mustache +0 -0
  100. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/extensions/wall/icons/magick.py.mustache +0 -0
  101. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/base.cmake.mustache +0 -0
  102. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/config.cmake +0 -0
  103. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/cpack.cmake +0 -0
  104. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/wix/cpack.cmake.mustache +0 -0
  105. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/wix/patches.in.wix +0 -0
  106. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/.flow/packages/wix.cmake.mustache +0 -0
  107. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/CMakeGraphVizOptions.cmake +0 -0
  108. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/CMakeLists.txt.mustache +0 -0
  109. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/CMakePresets.json +0 -0
  110. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/assets/appicon.ico +0 -0
  111. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/assets/appicon.png +0 -0
  112. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/assets/wix_banner.bmp +0 -0
  113. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/assets/wix_dialog.bmp +0 -0
  114. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/icons/.gitignore +0 -0
  115. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/icons/appicon-mask.svg +0 -0
  116. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/data/icons/appicon.svg +0 -0
  117. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/src/main.cc.mustache +0 -0
  118. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/src/version.hpp.in.mustache +0 -0
  119. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake/tests/test.cc.mustache +0 -0
  120. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/cmake.json +0 -0
  121. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/conan/.flow/cmake/libcxx_toolchain.cmake +0 -0
  122. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/conan/.flow/cmake/output_dirs_setup.cmake +0 -0
  123. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/conan/conanfile.txt +0 -0
  124. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/conan.json +0 -0
  125. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions/.github/linters/.isort.cfg +0 -0
  126. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions/.github/linters/.mypy.ini +0 -0
  127. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions/.github/workflows/build.yml +0 -0
  128. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions/.github/workflows/linter.yml +0 -0
  129. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions/CPPLINT.cfg +0 -0
  130. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_actions.json +0 -0
  131. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_social/.github/ISSUE_TEMPLATE/bug_report.md.mustache +0 -0
  132. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_social/.github/ISSUE_TEMPLATE/feature_request.md.mustache +0 -0
  133. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_social/CODE_OF_CONDUCT.md.mustache +0 -0
  134. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_social/CONTRIBUTING.md +0 -0
  135. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/layers/github_social.json +0 -0
  136. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/licenses/0BSD.mustache +0 -0
  137. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/licenses/MIT.mustache +0 -0
  138. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/licenses/Unlicense.mustache +0 -0
  139. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/licenses/WTFPL.mustache +0 -0
  140. {proj_flow-0.11.0 → proj_flow-0.11.1}/src/proj_flow/template/licenses/Zlib.mustache +0 -0
@@ -4,6 +4,14 @@ Changelog
4
4
 
5
5
  All notable changes to this project will be documented in this file.
6
6
 
7
+ `0.11.1 <https://github.com/mzdun/proj-flow/compare/v0.11.0...v0.11.1>`_ (2025-02-19)
8
+ =====================================================================================
9
+
10
+ Bug Fixes
11
+ ---------
12
+
13
+ - bring back base ext (git initial commit) (`3f97d0a <https://github.com/mzdun/proj-flow/commit/3f97d0a6407b26728f4e99bf8985600e8d41acae>`_)
14
+
7
15
  `0.11.0 <https://github.com/mzdun/proj-flow/compare/v0.10.0...v0.11.0>`_ (2025-02-09)
8
16
  =====================================================================================
9
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proj-flow
3
- Version: 0.11.0
3
+ Version: 0.11.1
4
4
  Summary: C++ project maintenance, automated
5
5
  Project-URL: Changelog, https://github.com/mzdun/proj-flow/blob/main/CHANGELOG.rst
6
6
  Project-URL: Documentation, https://proj-flow.readthedocs.io/en/latest/
@@ -6,4 +6,4 @@ The **proj_flow** contains only ``__version__`` to be updated, nothing more.
6
6
  This is in an attempt to make this module easy to load initially.
7
7
  """
8
8
 
9
- __version__ = "0.11.0"
9
+ __version__ = "0.11.1"
@@ -11,6 +11,9 @@ from proj_flow.api.env import Runtime
11
11
 
12
12
 
13
13
  class InitStep:
14
+ def priority(self):
15
+ return 100
16
+
14
17
  def platform_dependencies(self) -> List[str]:
15
18
  return []
16
19
 
@@ -98,6 +98,7 @@ class Registry(typing.Generic[T]):
98
98
 
99
99
  _debug_copies: typing.List[Registry] = []
100
100
 
101
+
101
102
  def quoted(s: str) -> str:
102
103
  if '"' in s:
103
104
  return "'{}'".format(s.replace("\\", r"\\").replace("'", r"\'"))
@@ -105,6 +106,7 @@ def quoted(s: str) -> str:
105
106
  return '"{}"'.format(s)
106
107
  return s
107
108
 
109
+
108
110
  def verbose_info():
109
111
  for registry in _debug_copies:
110
112
  for item in registry.container:
@@ -11,7 +11,6 @@ from typing import Dict, List, cast
11
11
 
12
12
  from proj_flow import api
13
13
  from proj_flow.api import env, step
14
-
15
14
  from proj_flow.base.__cmake_version__ import CMAKE_VERSION
16
15
 
17
16
 
@@ -6,6 +6,6 @@ The **proj_flow.minimal** defines minimal extension package: ``bootstrap``
6
6
  and ``run`` commands, with basic set of steps.
7
7
  """
8
8
 
9
- from . import bootstrap, init, list, run, system
9
+ from . import base, bootstrap, init, list, run, system
10
10
 
11
- __all__ = ["bootstrap", "init", "list", "run", "system"]
11
+ __all__ = ["base", "bootstrap", "init", "list", "run", "system"]
@@ -6,10 +6,15 @@ The **proj_flow.minimal.base** provides basic initialization setup for all
6
6
  new projects.
7
7
  """
8
8
 
9
+ import sys
10
+
9
11
  from proj_flow import __version__, api
10
12
 
11
13
 
12
14
  class GitInit(api.init.InitStep):
15
+ def priority(self):
16
+ return sys.maxsize
17
+
13
18
  def platform_dependencies(self):
14
19
  return ["git"]
15
20
 
@@ -104,5 +104,8 @@ def main(
104
104
  with open(".gitignore", "ab") as ignoref:
105
105
  ignoref.write("\n/.context.yaml\n".encode("UTF-8"))
106
106
 
107
- for step in init.__steps:
107
+ current_project.append_extensions(context)
108
+
109
+ steps = sorted((step.priority(), i, step) for i, step in enumerate(init.__steps))
110
+ for _, _, step in steps:
108
111
  step.postprocess(rt, context)
@@ -33,6 +33,23 @@ class ProjectType(ABC):
33
33
  def get_context(self, interactive: bool, rt: env.Runtime):
34
34
  return interact.get_context(interactive, self.id, rt)
35
35
 
36
+ def append_extensions(self, context: dict):
37
+ extensions = self.get_extension_list(context)
38
+ if len(extensions) == 0:
39
+ return
40
+ text = "".join(f"\n - {ext}" for ext in extensions)
41
+ text = f"extensions:{text}\n\n"
42
+
43
+ with open(".flow/config.yml", encoding="UTF-8") as config_file:
44
+ content = config_file.read()
45
+
46
+ with open(".flow/config.yml", "w", encoding="UTF-8") as config_file:
47
+ config_file.write(text)
48
+ config_file.write(content)
49
+
50
+ @abstractmethod
51
+ def get_extension_list(self, context: dict) -> List[str]: ...
52
+
36
53
 
37
54
  project_type = base.registry.Registry[ProjectType]("ProjectType")
38
55
 
@@ -7,4 +7,4 @@ The **proj_flow.project.cplusplus** registers a ``"C++"`` projects support.
7
7
 
8
8
  from proj_flow.project.cplusplus import cmake_context, conan_context
9
9
 
10
- __all__ = ["cmake_context", "conan_context"]
10
+ __all__ = ["cmake_context", "conan_context"]
@@ -12,11 +12,10 @@ import uuid
12
12
  import chevron
13
13
 
14
14
  from proj_flow import api, project
15
+ from proj_flow.base.__cmake_version__ import CMAKE_VERSION
15
16
  from proj_flow.project import data
16
17
  from proj_flow.project.cplusplus import project
17
18
 
18
- from proj_flow.base.__cmake_version__ import CMAKE_VERSION
19
-
20
19
  config_json_mustache = """
21
20
  {{#with_cmake}}
22
21
  cmake:
@@ -24,7 +23,6 @@ cmake:
24
23
  {{NAME_PREFIX}}_COVERAGE: "?config:coverage"
25
24
  {{NAME_PREFIX}}_SANITIZE: "?config:sanitizer"
26
25
  {{NAME_PREFIX}}_CUTDOWN_OS: "?runtime:cutdown_os"
27
-
28
26
  {{/with_cmake}}
29
27
  """
30
28
 
@@ -36,7 +34,7 @@ class CMakeInit(api.init.InitStep):
36
34
  return
37
35
 
38
36
  with open(".flow/config.yml", encoding="UTF-8") as config_file:
39
- patched = re.split(r"(\nshortcuts:\n)", config_file.read())
37
+ patched = re.split(r"(\n\nshortcuts:\n)", config_file.read())
40
38
 
41
39
  if len(patched) != 3:
42
40
  return
@@ -7,6 +7,4 @@ The **proj_flow.ext.cplusplus.conan** provides the ``"Conan"`` step.
7
7
 
8
8
  from proj_flow.project.cplusplus import project
9
9
 
10
- project.cxx.register_switch(
11
- "with_conan", "Use Conan for dependency manager", True
12
- )
10
+ project.cxx.register_switch("with_conan", "Use Conan for dependency manager", True)
@@ -7,10 +7,23 @@ The **proj_flow.project.cplusplus** registers a ``"C++"`` projects support.
7
7
 
8
8
  from proj_flow.project import api
9
9
 
10
+ CPP_EXTENSIONS = [
11
+ "proj_flow.ext.cplusplus",
12
+ "proj_flow.ext.sign",
13
+ "proj_flow.ext.store",
14
+ ]
15
+
16
+
10
17
  @api.project_type.add
11
18
  class CPlusPlus(api.ProjectType):
12
19
  def __init__(self):
13
20
  super().__init__("C++ plus CMake plus Conan", "cxx")
14
21
 
22
+ def get_extension_list(self, context: dict):
23
+ with_github_actions = not not context.get("with_github_actions")
24
+ if with_github_actions:
25
+ return [*CPP_EXTENSIONS, "proj_flow.ext.github"]
26
+ return CPP_EXTENSIONS
27
+
15
28
 
16
29
  cxx = api.get_project_type("cxx")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes