proj-flow 0.12.0__py3-none-any.whl → 0.13.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 +1 -1
- proj_flow/ext/github/cli.py +3 -3
- proj_flow/flow/configs.py +42 -1
- proj_flow/template/layers/base/.flow/config.yml +0 -8
- 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.12.0.dist-info → proj_flow-0.13.1.dist-info}/METADATA +1 -1
- {proj_flow-0.12.0.dist-info → proj_flow-0.13.1.dist-info}/RECORD +12 -12
- {proj_flow-0.12.0.dist-info → proj_flow-0.13.1.dist-info}/WHEEL +0 -0
- {proj_flow-0.12.0.dist-info → proj_flow-0.13.1.dist-info}/entry_points.txt +0 -0
- {proj_flow-0.12.0.dist-info → proj_flow-0.13.1.dist-info}/licenses/LICENSE +0 -0
proj_flow/__init__.py
CHANGED
proj_flow/ext/github/cli.py
CHANGED
|
@@ -73,7 +73,7 @@ def release_cmd(
|
|
|
73
73
|
typing.Optional[str],
|
|
74
74
|
arg.Argument(
|
|
75
75
|
help="Ignore the version change from changelog and instead use this value. "
|
|
76
|
-
f"Allowed values are: {name_list(FORCED_LEVEL_CHOICES)}",
|
|
76
|
+
f"Allowed values are: {name_list(FORCED_LEVEL_CHOICES)}.",
|
|
77
77
|
meta="level",
|
|
78
78
|
choices=FORCED_LEVEL_CHOICES,
|
|
79
79
|
),
|
|
@@ -142,8 +142,8 @@ def publish(
|
|
|
142
142
|
upload: typing.Annotated[
|
|
143
143
|
typing.Optional[str],
|
|
144
144
|
arg.Argument(
|
|
145
|
-
help="If present,
|
|
146
|
-
"
|
|
145
|
+
help="If present, upload files from the directory to the referenced "
|
|
146
|
+
"release before publishing.",
|
|
147
147
|
meta="directory",
|
|
148
148
|
),
|
|
149
149
|
],
|
proj_flow/flow/configs.py
CHANGED
|
@@ -9,7 +9,9 @@ using ``-D`` switches.
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
import argparse
|
|
12
|
+
import datetime
|
|
12
13
|
import os
|
|
14
|
+
import sys
|
|
13
15
|
from typing import Any, Callable, Dict, List
|
|
14
16
|
|
|
15
17
|
from proj_flow.api import env
|
|
@@ -90,9 +92,43 @@ def _expand_one(config: dict, github_os: str, os_in_name: str):
|
|
|
90
92
|
return config
|
|
91
93
|
|
|
92
94
|
|
|
95
|
+
__printed_lts_ubuntu_warning = False
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
def _ubuntu_lts(today=datetime.date.today(), lts_years=5):
|
|
99
|
+
year = today.year
|
|
100
|
+
for y in range(year - lts_years, year + 1):
|
|
101
|
+
if y % 2 != 0:
|
|
102
|
+
continue
|
|
103
|
+
release = datetime.date(y, 4, 1)
|
|
104
|
+
end_of_life = datetime.date(y + lts_years, 1, 31)
|
|
105
|
+
if release > today or end_of_life < today:
|
|
106
|
+
continue
|
|
107
|
+
yield f"ubuntu-{y % 100}.04"
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def _lts_list(config: dict, lts_list: Dict[str, List[str]]):
|
|
111
|
+
os = config["os"]
|
|
112
|
+
raw = lts_list.get(os)
|
|
113
|
+
if os == "ubuntu":
|
|
114
|
+
if raw is not None:
|
|
115
|
+
global __printed_lts_ubuntu_warning
|
|
116
|
+
if not __printed_lts_ubuntu_warning:
|
|
117
|
+
__printed_lts_ubuntu_warning = True
|
|
118
|
+
print(
|
|
119
|
+
"\033[1;33m-- lts.ubuntu in config.yaml is deprecated; "
|
|
120
|
+
"please remove it, so it can be calculated base on "
|
|
121
|
+
"current date\033[m",
|
|
122
|
+
file=sys.stderr,
|
|
123
|
+
)
|
|
124
|
+
else:
|
|
125
|
+
raw = list(_ubuntu_lts())
|
|
126
|
+
return raw or []
|
|
127
|
+
|
|
128
|
+
|
|
93
129
|
def _expand_config(config: dict, spread_lts: bool, lts_list: Dict[str, List[str]]):
|
|
94
130
|
if spread_lts:
|
|
95
|
-
spread =
|
|
131
|
+
spread = _lts_list(config, lts_list)
|
|
96
132
|
if len(spread):
|
|
97
133
|
return [
|
|
98
134
|
_expand_one({key: config[key] for key in config}, lts, lts)
|
|
@@ -136,6 +172,11 @@ class Configs:
|
|
|
136
172
|
# from commands/github
|
|
137
173
|
spread_lts = hasattr(args, "matrix") and not not args.matrix
|
|
138
174
|
|
|
175
|
+
if not spread_lts:
|
|
176
|
+
# allow "run" to see the warning about "lts.ubuntu"
|
|
177
|
+
for config in configs:
|
|
178
|
+
_lts_list(config, rt.lts_list)
|
|
179
|
+
|
|
139
180
|
turned = matrix.flatten(
|
|
140
181
|
[
|
|
141
182
|
_expand_config(config, spread_lts, rt.lts_list)
|
|
@@ -18,17 +18,9 @@ compiler:
|
|
|
18
18
|
gcc: [ gcc, g++ ]
|
|
19
19
|
os-default: { ubuntu: gcc, windows: msvc }
|
|
20
20
|
|
|
21
|
-
lts:
|
|
22
|
-
ubuntu:
|
|
23
|
-
- ubuntu-20.04
|
|
24
|
-
- ubuntu-22.04
|
|
25
|
-
- ubuntu-24.04
|
|
26
|
-
|
|
27
21
|
postproc:
|
|
28
22
|
exclude:
|
|
29
|
-
- { github_os: ubuntu-20.04, sanitizer: true }
|
|
30
23
|
- { github_os: ubuntu-24.04, sanitizer: true }
|
|
31
|
-
- { github_os: ubuntu-20.04, compiler: clang }
|
|
32
24
|
|
|
33
25
|
|
|
34
26
|
shortcuts:
|
|
@@ -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.13.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/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
proj_flow/__init__.py,sha256=
|
|
1
|
+
proj_flow/__init__.py,sha256=wjuJFVjqZoovl8bpB3f15GhniAx4Z-59lj-Z9hP3cAE,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=ZPLTPEjxQEWnxc5pZnb9Rj-P-PUH2kpkxIvC5c0f9zo,6007
|
|
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
|
|
@@ -46,7 +46,7 @@ proj_flow/ext/sign/__init__.py,sha256=b9AN1_BalPtVy7YLBjvGhLamTujHEKcZP7npgDDDuS
|
|
|
46
46
|
proj_flow/ext/sign/api.py,sha256=l5SO5RHiHTwxg0aexkGOfApRdojWDcIBY_cfbKSKsC0,2286
|
|
47
47
|
proj_flow/ext/sign/win32.py,sha256=yMAmO-DdIWZdOi_NxycRym8XM9WIsrWKtFANdIwthJ4,4968
|
|
48
48
|
proj_flow/flow/__init__.py,sha256=5Zo97zJsR7HMbl64jeMB9PbUuxCxpOlNuLmo3apWSVU,277
|
|
49
|
-
proj_flow/flow/configs.py,sha256=
|
|
49
|
+
proj_flow/flow/configs.py,sha256=PQZ5pLPmWwHJtSWmuy04bsnO-VvfWcJyP_UyKjiaG1g,6535
|
|
50
50
|
proj_flow/flow/layer.py,sha256=6mvbhiOy9KcMP69Q9zew_7jGhf5Wqr7v-veS3YPGnmc,5720
|
|
51
51
|
proj_flow/flow/steps.py,sha256=PN_C_B6vNvqOsjpDpa5ESvH30Sc6RM1fSSqWqXgqg-4,2804
|
|
52
52
|
proj_flow/log/__init__.py,sha256=02EIgasE-K7mmbbNiIdX0IebWQMp2Co_D6H4ZBhJgcs,365
|
|
@@ -87,7 +87,7 @@ proj_flow/template/layers/base/.gitignore,sha256=2Cu5mL_7pSbC6gDHV9sZIJpzvEBuhHQ
|
|
|
87
87
|
proj_flow/template/layers/base/README.md.mustache,sha256=toKfa5VQ23k8VKnsyogRojZZLfPakH8RHBzp0qpC-eY,43
|
|
88
88
|
proj_flow/template/layers/base/flow,sha256=aPBLCgYNAZFl3FcP3HPwPnUxuRGxeV1Dp_6qFxDoGvk,196
|
|
89
89
|
proj_flow/template/layers/base/flow.cmd,sha256=LQplRzLw4n86xvMXxOd1SzH2xJAN71Ou1uWsST8D6Ik,239
|
|
90
|
-
proj_flow/template/layers/base/.flow/config.yml,sha256=
|
|
90
|
+
proj_flow/template/layers/base/.flow/config.yml,sha256=Q90Nm5qATsdKgYB7j2Y2aISc8uiuAYO6h5tx88AHQLE,598
|
|
91
91
|
proj_flow/template/layers/base/.flow/flow.py.mustache,sha256=HxjPhBsVFZ5HYvozG2qjdjC6wmCXK3OgVgoLWqEFSJo,4972
|
|
92
92
|
proj_flow/template/layers/base/.flow/matrix.yml,sha256=XgDC-F8YfeZEILBwHPkGNeRCxgaDK79f-JoWfHlVrgc,1257
|
|
93
93
|
proj_flow/template/layers/base/.flow/official.yml,sha256=2nQgxoQJ5IAnPQVn50LrVD0B2p9KpLYSVz1b7IFu0Zc,71
|
|
@@ -111,16 +111,16 @@ proj_flow/template/layers/cmake/data/assets/wix_dialog.bmp,sha256=599idjsdWX8ghO
|
|
|
111
111
|
proj_flow/template/layers/cmake/data/icons/.gitignore,sha256=NEwIFSarC4e2DwNDDqGKGGvScsfAtWFdM-CT_hhsuXM,35
|
|
112
112
|
proj_flow/template/layers/cmake/data/icons/appicon-mask.svg,sha256=pkMzpiGSq8emOD0MGrcwhQvHXkMcPp0aNhsyzS1dAZE,258
|
|
113
113
|
proj_flow/template/layers/cmake/data/icons/appicon.svg,sha256=suZ4xxKxNe5La8K2OcsffpMpuHZn_hKfi0cSKPTzbFo,1357
|
|
114
|
-
proj_flow/template/layers/cmake/src/main.cc.mustache,sha256=
|
|
114
|
+
proj_flow/template/layers/cmake/src/main.cc.mustache,sha256=NiV_NNddQREs0FMnQCGKfYmgX6SMAA0SyeHu6hukpZM,1181
|
|
115
115
|
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=
|
|
116
|
+
proj_flow/template/layers/cmake/tests/test.cc.mustache,sha256=7PjahLNA9E9NkybjUqh1LkxRPnn-blEWrvXTePg7yqc,368
|
|
117
117
|
proj_flow/template/layers/conan/conanfile.txt,sha256=XOuMBysuBL9wmWmoruZqi6yhZO-APPlZKOxU2HQhFx0,106
|
|
118
118
|
proj_flow/template/layers/conan/.flow/cmake/libcxx_toolchain.cmake,sha256=WkECkH-UyBzC4-ChIBCyVIN42NQLTy-3OLCk4BZ9deM,244
|
|
119
119
|
proj_flow/template/layers/conan/.flow/cmake/output_dirs_setup.cmake,sha256=-GSDiZm4kFzAarB6WZ20ew4wO9QNprTH3Q2uHHMlsVw,1272
|
|
120
120
|
proj_flow/template/layers/github_actions/CPPLINT.cfg,sha256=JX88FBnJ3pECU0QS-8CjOfvWo_my6lSgX8kc1oi-mmY,385
|
|
121
121
|
proj_flow/template/layers/github_actions/.github/linters/.isort.cfg,sha256=9gpUkeq6rXGxXeeokeGkTDjOBvDpdlcup8ipxCpJQ9s,79
|
|
122
122
|
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=
|
|
123
|
+
proj_flow/template/layers/github_actions/.github/workflows/build.yml,sha256=WdYWTTlCQuy2FC9nSVQJKg4avLJ2UQ3IIrrEnPFvP8U,8183
|
|
124
124
|
proj_flow/template/layers/github_actions/.github/workflows/linter.yml,sha256=Ffg-ptQ9kjw4X0UyQax9-3AMIP2H62ikDkbgPi0ypeM,1545
|
|
125
125
|
proj_flow/template/layers/github_social/CODE_OF_CONDUCT.md.mustache,sha256=XzXW9p1pX7AA5DcWW7cz-Onrxa0J32WclgCYWeYLT3Y,3347
|
|
126
126
|
proj_flow/template/layers/github_social/CONTRIBUTING.md,sha256=nw1FZgDtKXubnRqvBaQgSmUqpsvDy_433VGmy5W-BH4,239
|
|
@@ -131,8 +131,8 @@ proj_flow/template/licenses/MIT.mustache,sha256=NncPoQaNsuy-WmRmboik3fyhJJ8m5pc2
|
|
|
131
131
|
proj_flow/template/licenses/Unlicense.mustache,sha256=awOCsWJ58m_2kBQwBUGWejVqZm6wuRtCL2hi9rfa0X4,1211
|
|
132
132
|
proj_flow/template/licenses/WTFPL.mustache,sha256=lvF4V_PrKKfZPa2TC8CZo8tlqaKvs3Bpv9G6XsWWQ4k,483
|
|
133
133
|
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.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|