proj-flow 0.13.0__py3-none-any.whl → 0.14.0__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 +1 -1
- proj_flow/ext/github/cli.py +5 -0
- proj_flow/log/release.py +2 -1
- proj_flow/minimal/ext/bug_report.py +33 -0
- proj_flow/template/layers/cmake/src/main.cc.mustache +1 -2
- proj_flow/template/layers/cmake/tests/test.cc.mustache +1 -3
- proj_flow/template/layers/github_actions/.github/workflows/build.yml +5 -3
- {proj_flow-0.13.0.dist-info → proj_flow-0.14.0.dist-info}/METADATA +2 -2
- {proj_flow-0.13.0.dist-info → proj_flow-0.14.0.dist-info}/RECORD +12 -11
- {proj_flow-0.13.0.dist-info → proj_flow-0.14.0.dist-info}/WHEEL +0 -0
- {proj_flow-0.13.0.dist-info → proj_flow-0.14.0.dist-info}/entry_points.txt +0 -0
- {proj_flow-0.13.0.dist-info → proj_flow-0.14.0.dist-info}/licenses/LICENSE +0 -0
proj_flow/__init__.py
CHANGED
proj_flow/ext/github/cli.py
CHANGED
|
@@ -85,6 +85,10 @@ def release_cmd(
|
|
|
85
85
|
choices=["ON", "OFF"],
|
|
86
86
|
),
|
|
87
87
|
],
|
|
88
|
+
changelog: typing.Annotated[
|
|
89
|
+
bool,
|
|
90
|
+
arg.FlagArgument(help="Even with --dry-run, write changes in project files, changelog, etc."),
|
|
91
|
+
],
|
|
88
92
|
):
|
|
89
93
|
"""
|
|
90
94
|
Bump the project version based on current git logs, create a "chore"
|
|
@@ -104,6 +108,7 @@ def release_cmd(
|
|
|
104
108
|
try:
|
|
105
109
|
next_tag = log.release.add_release(
|
|
106
110
|
rt=rt,
|
|
111
|
+
dbg_changelog=changelog,
|
|
107
112
|
forced_level=forced_level,
|
|
108
113
|
take_all=all,
|
|
109
114
|
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
|
|
@@ -13,8 +13,7 @@ int main(int argc, char* argv[]) {
|
|
|
13
13
|
long counter{};
|
|
14
14
|
|
|
15
15
|
args::null_translator tr{};
|
|
16
|
-
args::parser parser{"{{PROJECT.DESCRIPTION}}",
|
|
17
|
-
args::from_main(argc, argv), &tr};
|
|
16
|
+
args::parser parser{"{{PROJECT.DESCRIPTION}}", args::from_main(argc, argv), &tr};
|
|
18
17
|
|
|
19
18
|
parser.arg(path, "path").meta("<file>").help("sets the path of foobar");
|
|
20
19
|
parser.set<std::true_type>(verbose, "v")
|
|
@@ -221,9 +221,9 @@ jobs:
|
|
|
221
221
|
if: ${{ fromJson(needs.merge.outputs.RELEASE) }}
|
|
222
222
|
needs: merge
|
|
223
223
|
runs-on: ubuntu-latest
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
permissions:
|
|
225
|
+
contents: write
|
|
226
|
+
packages: write
|
|
227
227
|
|
|
228
228
|
steps:
|
|
229
229
|
- name: Checkout
|
|
@@ -237,3 +237,5 @@ jobs:
|
|
|
237
237
|
|
|
238
238
|
- name: Publish the release
|
|
239
239
|
run: python ./.flow/flow.py github publish --upload "${{github.workspace}}/build/download/packages"
|
|
240
|
+
env:
|
|
241
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: proj-flow
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
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,
|
|
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=
|
|
1
|
+
proj_flow/__init__.py,sha256=qiWw5Fx__nnpw0LI39btJTrpcmikuMylzzW4wC0CXQk,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=
|
|
37
|
+
proj_flow/ext/github/cli.py,sha256=ClqnQoqphVR9KxyO7lwNLoai6KHvynS_fbxRrgGzMEk,6201
|
|
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=
|
|
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
|
|
@@ -111,16 +112,16 @@ proj_flow/template/layers/cmake/data/assets/wix_dialog.bmp,sha256=599idjsdWX8ghO
|
|
|
111
112
|
proj_flow/template/layers/cmake/data/icons/.gitignore,sha256=NEwIFSarC4e2DwNDDqGKGGvScsfAtWFdM-CT_hhsuXM,35
|
|
112
113
|
proj_flow/template/layers/cmake/data/icons/appicon-mask.svg,sha256=pkMzpiGSq8emOD0MGrcwhQvHXkMcPp0aNhsyzS1dAZE,258
|
|
113
114
|
proj_flow/template/layers/cmake/data/icons/appicon.svg,sha256=suZ4xxKxNe5La8K2OcsffpMpuHZn_hKfi0cSKPTzbFo,1357
|
|
114
|
-
proj_flow/template/layers/cmake/src/main.cc.mustache,sha256=
|
|
115
|
+
proj_flow/template/layers/cmake/src/main.cc.mustache,sha256=NiV_NNddQREs0FMnQCGKfYmgX6SMAA0SyeHu6hukpZM,1181
|
|
115
116
|
proj_flow/template/layers/cmake/src/version.hpp.in.mustache,sha256=q-OHyLQ-d52hkV45m3DWLoBs9EWiHbIlIOnMvDoSfdg,1757
|
|
116
|
-
proj_flow/template/layers/cmake/tests/test.cc.mustache,sha256=
|
|
117
|
+
proj_flow/template/layers/cmake/tests/test.cc.mustache,sha256=7PjahLNA9E9NkybjUqh1LkxRPnn-blEWrvXTePg7yqc,368
|
|
117
118
|
proj_flow/template/layers/conan/conanfile.txt,sha256=XOuMBysuBL9wmWmoruZqi6yhZO-APPlZKOxU2HQhFx0,106
|
|
118
119
|
proj_flow/template/layers/conan/.flow/cmake/libcxx_toolchain.cmake,sha256=WkECkH-UyBzC4-ChIBCyVIN42NQLTy-3OLCk4BZ9deM,244
|
|
119
120
|
proj_flow/template/layers/conan/.flow/cmake/output_dirs_setup.cmake,sha256=-GSDiZm4kFzAarB6WZ20ew4wO9QNprTH3Q2uHHMlsVw,1272
|
|
120
121
|
proj_flow/template/layers/github_actions/CPPLINT.cfg,sha256=JX88FBnJ3pECU0QS-8CjOfvWo_my6lSgX8kc1oi-mmY,385
|
|
121
122
|
proj_flow/template/layers/github_actions/.github/linters/.isort.cfg,sha256=9gpUkeq6rXGxXeeokeGkTDjOBvDpdlcup8ipxCpJQ9s,79
|
|
122
123
|
proj_flow/template/layers/github_actions/.github/linters/.mypy.ini,sha256=13DnGOzVFyXtkXH-48LlblCLfiXc2Xbzk78pllCKbSo,37
|
|
123
|
-
proj_flow/template/layers/github_actions/.github/workflows/build.yml,sha256=
|
|
124
|
+
proj_flow/template/layers/github_actions/.github/workflows/build.yml,sha256=WdYWTTlCQuy2FC9nSVQJKg4avLJ2UQ3IIrrEnPFvP8U,8183
|
|
124
125
|
proj_flow/template/layers/github_actions/.github/workflows/linter.yml,sha256=Ffg-ptQ9kjw4X0UyQax9-3AMIP2H62ikDkbgPi0ypeM,1545
|
|
125
126
|
proj_flow/template/layers/github_social/CODE_OF_CONDUCT.md.mustache,sha256=XzXW9p1pX7AA5DcWW7cz-Onrxa0J32WclgCYWeYLT3Y,3347
|
|
126
127
|
proj_flow/template/layers/github_social/CONTRIBUTING.md,sha256=nw1FZgDtKXubnRqvBaQgSmUqpsvDy_433VGmy5W-BH4,239
|
|
@@ -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.
|
|
135
|
-
proj_flow-0.
|
|
136
|
-
proj_flow-0.
|
|
137
|
-
proj_flow-0.
|
|
138
|
-
proj_flow-0.
|
|
135
|
+
proj_flow-0.14.0.dist-info/METADATA,sha256=b17oLvgMFTkWCTMuWbXtRvt0C_6Llf-hwMzoKxuP-gk,2987
|
|
136
|
+
proj_flow-0.14.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
137
|
+
proj_flow-0.14.0.dist-info/entry_points.txt,sha256=d_OmGKZzpY7FCWz0sZ4wnBAPZC75oMEzTgJZWtpDELo,49
|
|
138
|
+
proj_flow-0.14.0.dist-info/licenses/LICENSE,sha256=vpOQJ5QlrTedF3coEWvA4wJzVJH304f66ZitR7Od4iU,1068
|
|
139
|
+
proj_flow-0.14.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|