proj-flow 0.13.1__py3-none-any.whl → 0.14.1__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.
proj_flow/__init__.py CHANGED
@@ -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.13.1"
9
+ __version__ = "0.14.1"
@@ -16,6 +16,7 @@ import typing
16
16
 
17
17
  from proj_flow import log
18
18
  from proj_flow.api import arg, env, release
19
+ from proj_flow.base import cmd
19
20
  from proj_flow.base.name_list import name_list
20
21
  from proj_flow.ext.github import publishing
21
22
  from proj_flow.flow.configs import Configs
@@ -85,6 +86,10 @@ def release_cmd(
85
86
  choices=["ON", "OFF"],
86
87
  ),
87
88
  ],
89
+ changelog: typing.Annotated[
90
+ bool,
91
+ arg.FlagArgument(help="Even with --dry-run, write changes in project files, changelog, etc."),
92
+ ],
88
93
  ):
89
94
  """
90
95
  Bump the project version based on current git logs, create a "chore"
@@ -101,9 +106,12 @@ def release_cmd(
101
106
  gh_links = hosting.github.GitHub.from_repo(git) or commit.NoHosting()
102
107
  released = False
103
108
 
109
+ released = False
110
+ next_tag = ''
104
111
  try:
105
112
  next_tag = log.release.add_release(
106
113
  rt=rt,
114
+ dbg_changelog=changelog,
107
115
  forced_level=forced_level,
108
116
  take_all=all,
109
117
  draft=publish != "ON",
proj_flow/log/release.py CHANGED
@@ -57,6 +57,7 @@ def _get_project(rt: env.Runtime):
57
57
 
58
58
  def add_release(
59
59
  rt: env.Runtime,
60
+ dbg_changelog: bool,
60
61
  forced_level: typing.Optional[commit.Level],
61
62
  take_all: bool,
62
63
  draft: bool,
@@ -103,7 +104,7 @@ def add_release(
103
104
  rt.fatal(f"Tag {setup.curr_tag} already exists.")
104
105
 
105
106
  files_to_commit: typing.List[str] = []
106
- if not rt.dry_run:
107
+ if dbg_changelog or not rt.dry_run:
107
108
  generator.update_changelog(changelog, setup, rt)
108
109
  files_to_commit.append(generator.filename)
109
110
 
@@ -0,0 +1,33 @@
1
+ # Copyright (c) 2025 Marcin Zdun
2
+ # This code is licensed under MIT license (see LICENSE for details)
3
+
4
+ """
5
+ The **proj_flow.minimal.ext.bug_report** adds next version to bug_report.yaml
6
+ next to CHANGELOG.rst.
7
+ """
8
+
9
+ import re
10
+ import sys
11
+
12
+ from proj_flow.log import release
13
+
14
+ YAML_PATH = ".github/ISSUE_TEMPLATE/bug_report.yaml"
15
+
16
+
17
+ @release.version_updaters.add
18
+ class VersionUpdater(release.VersionUpdater):
19
+ def on_version_change(self, new_version: str):
20
+ with open(YAML_PATH, encoding="UTF-8") as inf:
21
+ lines = inf.readlines()
22
+
23
+ try:
24
+ id_index = lines.index(" id: version\n")
25
+ option_index = lines.index(" options:\n", id_index) + 1
26
+ lines[option_index:option_index] = f" - v{new_version}\n"
27
+ except ValueError as e:
28
+ print(e, file=sys.stderr)
29
+
30
+ with open(YAML_PATH, "w", encoding="UTF-8") as outf:
31
+ outf.writelines(lines)
32
+
33
+ return YAML_PATH
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: proj-flow
3
- Version: 0.13.1
3
+ Version: 0.14.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/
@@ -8,7 +8,7 @@ Project-URL: Homepage, https://pypi.org/project/proj-flow/
8
8
  Project-URL: Source Code, https://github.com/mzdun/proj-flow
9
9
  Author-email: Marcin Zdun <marcin.zdun@gmail.com>
10
10
  License-File: LICENSE
11
- Keywords: C/C++,c++,ci,cpp,dependency,developer,manager,tool
11
+ Keywords: C/C++,build-tool,c++,ci-cd,continuous-integration,cpp,dependencies,dependency-manager,developer,developer-tools,development,meta-build-tool,pipeline,tools-and-automation
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: License :: OSI Approved :: MIT License
@@ -1,4 +1,4 @@
1
- proj_flow/__init__.py,sha256=wjuJFVjqZoovl8bpB3f15GhniAx4Z-59lj-Z9hP3cAE,277
1
+ proj_flow/__init__.py,sha256=2bunCapoS-0KmX2y_GbL4WjsnSyevrkZ7mEjEVyCa7g,277
2
2
  proj_flow/__main__.py,sha256=HUar_qQ9Ndmchmryegtzu__5wukwCLrFN_SGRl5Ol_M,233
3
3
  proj_flow/dependency.py,sha256=CpcnR6El8AO9hlLc9lQtYQADYlkx3GMHlkLYbEAtdMI,4639
4
4
  proj_flow/api/__init__.py,sha256=gV2f6kll_5JXtvkGASvnx7CbOWr34PHOdck-4ce-qEk,378
@@ -34,7 +34,7 @@ proj_flow/ext/cplusplus/cmake/steps.py,sha256=IBxATzcJfDI5XibaKgXDnKDKPIaJM1fAJK
34
34
  proj_flow/ext/cplusplus/conan/__init__.py,sha256=Fv839SWsKPWMZs9ox9T-bofZ4xDJXOI5UfWKQkm0Vtg,1924
35
35
  proj_flow/ext/cplusplus/conan/_conan.py,sha256=9xnji-f8uN7huXLqavVBUDC33CgnjBIyZX6wVcGm2RA,3352
36
36
  proj_flow/ext/github/__init__.py,sha256=Mgx19YS6SYBXYB66_pOgIgwuB2WKRxqp5UGutq0B9Xk,282
37
- proj_flow/ext/github/cli.py,sha256=ZPLTPEjxQEWnxc5pZnb9Rj-P-PUH2kpkxIvC5c0f9zo,6007
37
+ proj_flow/ext/github/cli.py,sha256=TUBkv1JHkgJ87U6oBlQI1JoGDYlf_qfRTGcb-F5FkVY,6271
38
38
  proj_flow/ext/github/hosting.py,sha256=3iW8QjeJk7MyqKNbv92nB-5a_Yn_B5_eEIlw_cdgUT0,519
39
39
  proj_flow/ext/github/publishing.py,sha256=5dUNFq47X_g9vo25R3lQRkSjV2IiAm2zkIhNe8gLDKs,1921
40
40
  proj_flow/ext/github/switches.py,sha256=g7O2hvrg4mHm3WSHYsRBhEDU0bIkEJgp4Qclhqxk0uI,421
@@ -55,7 +55,7 @@ proj_flow/log/error.py,sha256=65Nvhfs_d1xSY4EB-ISdWgjotvg-on3iKjhAWHpsBYM,841
55
55
  proj_flow/log/fmt.py,sha256=o14aO3iEt5_KKp9SqcfkscqbMKuTI83NBoSXHcrb7Kg,330
56
56
  proj_flow/log/format.py,sha256=gp1kUoW0nYj5e7Ysu1c29Fh2ssfE1KBSDIYeUbhzN9g,333
57
57
  proj_flow/log/msg.py,sha256=zARmRZHFV3yG-fBnx00wal4Y0O5aGnL-6XcGwNBNKA4,6758
58
- proj_flow/log/release.py,sha256=eKT1on5if_QZ57zD6gPlA-uf2t_7ct-RskLZAabTe4M,4206
58
+ proj_flow/log/release.py,sha256=y4u2oUbRuUtrOwuNP-_QGDsV8JArh1iTJGPjMr68wTo,4248
59
59
  proj_flow/log/hosting/__init__.py,sha256=9Teyw8jJcxeWH2MegqYEgW0n5OmSAWC7FFJj2u_UcrM,278
60
60
  proj_flow/log/hosting/github.py,sha256=O2BdB50vzVSKKIu3qNEYBiBdEUIPqj6C2xVvGAKjTZ4,9123
61
61
  proj_flow/log/rich_text/__init__.py,sha256=D3Y2jy9xlGgnQZdNC_ekoLzQtwkF_NTgLqDTWPvSRUk,279
@@ -69,6 +69,7 @@ proj_flow/minimal/init.py,sha256=PpaN2uCzBbp-XO9Zjzkh5Vva8Zk204Kk0CJBH_jZzy8,308
69
69
  proj_flow/minimal/list.py,sha256=RlOqammE8olNKXsnbv1enF5uriu0MZ2wFbht37Z2ETw,4810
70
70
  proj_flow/minimal/run.py,sha256=4qvGLqz2ayCZDvVBrq4tG094fjfcmDPon-xcGPQkM_U,4665
71
71
  proj_flow/minimal/system.py,sha256=9FliH5TD103JYSAe2O5EU7hkOHDgVzTqu0Exxk-WrXE,1579
72
+ proj_flow/minimal/ext/bug_report.py,sha256=rC9LR2obJ54zOoPd6fU3BClB9-sYyhuxG_p4_wSCpZs,949
72
73
  proj_flow/project/__init__.py,sha256=AROrwhbuMR5rJE-HC769eL4IXrMLQYpQb3HgpkOAYqg,293
73
74
  proj_flow/project/api.py,sha256=UrqXsupVaYQ1obFWj_8OJYhWcsZDjDHQb8mN6qC28uc,1994
74
75
  proj_flow/project/data.py,sha256=TluhBDoJEYL4dnyTpInmhQ49Uvf8mkWmpU-YMLQPNhE,317
@@ -131,8 +132,8 @@ proj_flow/template/licenses/MIT.mustache,sha256=NncPoQaNsuy-WmRmboik3fyhJJ8m5pc2
131
132
  proj_flow/template/licenses/Unlicense.mustache,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
132
133
  proj_flow/template/licenses/WTFPL.mustache,sha256=lvF4V_PrKKfZPa2TC8CZo8tlqaKvs3Bpv9G6XsWWQ4k,483
133
134
  proj_flow/template/licenses/Zlib.mustache,sha256=uIj-mhSjes2HJ3rRapyy2ALflKRz4xQgS4mVM9827C0,868
134
- proj_flow-0.13.1.dist-info/METADATA,sha256=D1liIJ_ZvTdmFy0TcOx-7bRnl6qtYOycA0hhx81HTt8,2868
135
- proj_flow-0.13.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
136
- proj_flow-0.13.1.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
137
- proj_flow-0.13.1.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
138
- proj_flow-0.13.1.dist-info/RECORD,,
135
+ proj_flow-0.14.1.dist-info/METADATA,sha256=cW0BkLT-3aMLAFLyzGFsYY-S84aTUAi9Ql1dGLP8-Vg,2987
136
+ proj_flow-0.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
137
+ proj_flow-0.14.1.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
138
+ proj_flow-0.14.1.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
139
+ proj_flow-0.14.1.dist-info/RECORD,,