Skip to content

Commit bf7ab6a

Browse files
committed
repository layout: the Windows resource script of mcpp.exe moves to docs/res, the packaging and release scripts to tools, and the empty cdb.json committed by 2026.9.29.1 is removed
1 parent 6ea9ba0 commit bf7ab6a

39 files changed

Lines changed: 52 additions & 52 deletions

‎.github/tools/check_modules_wiring.sh‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ fi
100100
# The two xmake source lists must actually carry the glob. Asserted by content
101101
# rather than by trusting the loop above: a renamed pattern would leave every
102102
# per-module check passing while compiling nothing.
103-
for f in scripts/bootstrap-macos.sh .github/workflows/bootstrap-macos.yml \
103+
for f in tools/bootstrap-macos.sh .github/workflows/bootstrap-macos.yml \
104104
bench/projects/mcpp/xmake.lua; do
105105
[[ -f "$f" ]] || { bad "$f is missing"; continue; }
106106
grep -qF 'modules/*/src/**.cppm' "$f" \
@@ -109,7 +109,7 @@ done
109109

110110
# The vendored json header is reached through a private include dir. Its path
111111
# appears in three places and has already moved once.
112-
for f in scripts/bootstrap-macos.sh .github/workflows/bootstrap-macos.yml \
112+
for f in tools/bootstrap-macos.sh .github/workflows/bootstrap-macos.yml \
113113
bench/projects/mcpp/xmake.lua; do
114114
grep -qF 'modules/libs/src/json' "$f" \
115115
|| bad "$f does not add the json include dir (modules/libs/src/json)"

‎.github/workflows/aur-publish.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
TRIGGER: ${{ github.event_name }}
5959
MANUAL_PUBLISH: ${{ inputs.publish }}
6060
# Repository variable, absent until a human has watched one publish
61-
# succeed. See "Arming the automatic triggers" in scripts/aur/README.md.
61+
# succeed. See "Arming the automatic triggers" in tools/aur/README.md.
6262
AUTOPUBLISH: ${{ vars.AUR_AUTOPUBLISH }}
6363
run: |
6464
args=(
@@ -67,7 +67,7 @@ jobs:
6767
--summary "$GITHUB_STEP_SUMMARY"
6868
)
6969
[[ -z "$REQUESTED_TAG" ]] || args+=(--tag "$REQUESTED_TAG")
70-
python3 scripts/aur/reconcile_mcpp_bin.py "${args[@]}"
70+
python3 tools/aur/reconcile_mcpp_bin.py "${args[@]}"
7171
7272
# An unattended push to a third-party service must be ARMED, not
7373
# inherited from a merge. `schedule` fires every six hours off the
@@ -102,7 +102,7 @@ jobs:
102102
install -dm700 "$HOME/.ssh"
103103
install -m600 /dev/null "$HOME/.ssh/aur"
104104
printf '%s\n' "$AUR_SSH_PRIVATE_KEY" > "$HOME/.ssh/aur"
105-
install -m600 scripts/aur/aur.archlinux.org.known_hosts "$HOME/.ssh/known_hosts"
105+
install -m600 tools/aur/aur.archlinux.org.known_hosts "$HOME/.ssh/known_hosts"
106106
ssh-keygen -lf "$HOME/.ssh/known_hosts" -E sha256 \
107107
| grep -F 'SHA256:RFzBCUItH9LZS0cKB5UE6ceAYhBD5C8GeOBip8Z11+4'
108108
install -m600 /dev/null "$HOME/.ssh/config"
@@ -145,7 +145,7 @@ jobs:
145145
# EVERY OTHER NON-ZERO CODE STILL FAILS. A refused downgrade (3) and
146146
# a permanent error (2) are this repository's problem and stay red.
147147
set +e
148-
python3 scripts/aur/reconcile_mcpp_bin.py "${args[@]}"
148+
python3 tools/aur/reconcile_mcpp_bin.py "${args[@]}"
149149
rc=$?
150150
set -e
151151
if [[ "$rc" == "75" ]]; then

‎.github/workflows/pypi-publish.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ name: pypi-publish
99
# CREDENTIALS: none stored. Publishing uses PyPI Trusted Publishing (OIDC):
1010
# PyPI trusts this repository + workflow file + the `pypi` environment, and
1111
# the job exchanges its GitHub OIDC token for a short-lived upload token.
12-
# One-time setup is in scripts/pypi/README.md.
12+
# One-time setup is in tools/pypi/README.md.
1313
#
1414
# ARMING: the automatic trigger builds, verifies and reports, and publishes
1515
# only when the repository variable PYPI_AUTOPUBLISH is `true`, for the reason
@@ -25,7 +25,7 @@ on:
2525
# latest release on every platform. A pull request never publishes.
2626
pull_request:
2727
paths:
28-
- scripts/pypi/**
28+
- tools/pypi/**
2929
- tests/scripts/test_pypi_wheels.py
3030
- .github/workflows/pypi-publish.yml
3131
workflow_dispatch:
@@ -116,7 +116,7 @@ jobs:
116116
echo "mcpp-bin $version from $tag; publish=$publish" >> "$GITHUB_STEP_SUMMARY"
117117
118118
- name: Build wheels from the release manifest
119-
run: python3 scripts/pypi/build_wheels.py --tag "${{ steps.resolve.outputs.tag }}" --out dist
119+
run: python3 tools/pypi/build_wheels.py --tag "${{ steps.resolve.outputs.tag }}" --out dist
120120

121121
- name: Check metadata
122122
run: |

‎.github/workflows/release.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ jobs:
818818
> "$AUDIT_ROOT/release.json"
819819
gh release download "$TAG" --repo "$GITHUB_REPOSITORY" \
820820
--dir "$AUDIT_ROOT/assets"
821-
python3 scripts/release/generate_manifest.py \
821+
python3 tools/release/generate_manifest.py \
822822
--release-json "$AUDIT_ROOT/release.json" \
823823
--assets-dir "$AUDIT_ROOT/assets" \
824824
--version "$VERSION" \
@@ -856,7 +856,7 @@ jobs:
856856
gh release download "$TAG" --repo "$GITHUB_REPOSITORY" \
857857
--dir "$AUDIT_ROOT/final-assets"
858858
test -f "$AUDIT_ROOT/final-assets/mcpp-release.json"
859-
python3 scripts/release/generate_manifest.py \
859+
python3 tools/release/generate_manifest.py \
860860
--release-json "$AUDIT_ROOT/final-release.json" \
861861
--assets-dir "$AUDIT_ROOT/final-assets" \
862862
--version "$VERSION" \

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ yay -S mcpp-m # or build from source (bootstrapped with mcpp-bin)
159159

160160
Installs the `mcpp` command system-wide; per-user data still lives in `~/.mcpp/`.
161161
On Arch the name `mcpp` is an unrelated C preprocessor, so the packages are
162-
`mcpp-bin` / `mcpp-m` (see [`scripts/aur/`](scripts/aur/)).
162+
`mcpp-bin` / `mcpp-m` (see [`tools/aur/`](tools/aur/)).
163163
Stable-release automation reconciles `mcpp-bin` only; `mcpp-m` and `mcpp-git`
164164
remain manually maintained and may intentionally lag.
165165

@@ -177,7 +177,7 @@ mcpp-bin` gives it an environment of its own. The wheels carry the same
177177
prebuilt release binary for Linux x86_64 / aarch64, macOS 14+ on Apple silicon
178178
and Windows x86_64. Per-user data still lives in `~/.mcpp/`, outside the Python
179179
environment. On PyPI the name `mcpp` belongs to an unrelated project, hence
180-
`mcpp-bin` (see [`scripts/pypi/`](scripts/pypi/)).
180+
`mcpp-bin` (see [`tools/pypi/`](tools/pypi/)).
181181

182182
</details>
183183

‎README.zh-CN.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ yay -S mcpp-bin # 预编译 release 二进制
146146
yay -S mcpp-m # 或源码构建(用 mcpp-bin 自举)
147147
```
148148

149-
`mcpp` 命令安装到系统级位置,每个用户的数据仍在各自的 `~/.mcpp/` 中。Arch 上 `mcpp` 这个名字属于一个无关的 C 预处理器,因此包名为 `mcpp-bin` / `mcpp-m`(见 [`scripts/aur/`](scripts/aur/))。稳定版 release 的自动同步只管理 `mcpp-bin`;`mcpp-m` 与 `mcpp-git` 仍由人工维护,版本可能有意滞后。
149+
`mcpp` 命令安装到系统级位置,每个用户的数据仍在各自的 `~/.mcpp/` 中。Arch 上 `mcpp` 这个名字属于一个无关的 C 预处理器,因此包名为 `mcpp-bin` / `mcpp-m`(见 [`tools/aur/`](tools/aur/))。稳定版 release 的自动同步只管理 `mcpp-bin`;`mcpp-m` 与 `mcpp-git` 仍由人工维护,版本可能有意滞后。
150150

151151
</details>
152152

@@ -157,7 +157,7 @@ yay -S mcpp-m # 或源码构建(用 mcpp-bin 自举)
157157
pip install mcpp-bin
158158
```
159159

160-
`mcpp` 命令安装到当前的 Python 环境中;使用 `pipx install mcpp-bin` 则为它单独创建一个环境。wheel 中是同一份预编译 release 二进制,支持 Linux x86_64 / aarch64、Apple 芯片上的 macOS 14+ 与 Windows x86_64。每个用户的数据仍在各自的 `~/.mcpp/` 中,不在 Python 环境内。PyPI 上 `mcpp` 这个名字属于一个无关的项目,因此包名为 `mcpp-bin`(见 [`scripts/pypi/`](scripts/pypi/))。
160+
`mcpp` 命令安装到当前的 Python 环境中;使用 `pipx install mcpp-bin` 则为它单独创建一个环境。wheel 中是同一份预编译 release 二进制,支持 Linux x86_64 / aarch64、Apple 芯片上的 macOS 14+ 与 Windows x86_64。每个用户的数据仍在各自的 `~/.mcpp/` 中,不在 Python 环境内。PyPI 上 `mcpp` 这个名字属于一个无关的项目,因此包名为 `mcpp-bin`(见 [`tools/pypi/`](tools/pypi/))。
161161

162162
</details>
163163

‎bench/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1069,7 +1069,7 @@ bench --project . --buildfiles bench/projects/mcpp \
10691069
`--buildfiles` is what keeps these files **out of the repository root**. mcpp is
10701070
built by mcpp; a CMakeLists.txt and an xmake.lua at the root are files every
10711071
contributor has to learn to ignore, and one of them actively broke something:
1072-
`scripts/bootstrap-macos.sh` generates its own root `xmake.lua` when none is
1072+
`tools/bootstrap-macos.sh` generates its own root `xmake.lua` when none is
10731073
present, and a bench-owned file at that path silently pre-empted it. cmake is
10741074
pointed at the directory with `-S`, xmake with `-P`; mcpp reads the project's
10751075
own manifest and ignores the flag. Copying the descriptions into the tree for

‎cdb.json‎

Whitespace-only changes.

‎docs/92-release.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ The workflow then downloads the public release again, regenerates the manifest,
8989
and requires a byte-for-byte match. A workflow rerun accepts an existing
9090
manifest only when it is already byte-identical; it never overwrites different
9191
bytes for the same tag. Downstream release consumers (notably the `mcpp-bin`
92-
AUR reconciler and the `mcpp-bin` PyPI wheel builder in `scripts/pypi/`) must consume this manifest instead of guessing completeness
92+
AUR reconciler and the `mcpp-bin` PyPI wheel builder in `tools/pypi/`) must consume this manifest instead of guessing completeness
9393
from a moving workspace or from a subset of release assets.
9494

9595
Two steps are **not** automated:
@@ -156,7 +156,7 @@ AUDIT=$(mktemp -d)
156156
mkdir -p "$AUDIT/assets"
157157
gh api "repos/mcpp-community/mcpp/releases/tags/$TAG" > "$AUDIT/release.json"
158158
gh release download "$TAG" -R mcpp-community/mcpp --dir "$AUDIT/assets"
159-
python3 scripts/release/generate_manifest.py \
159+
python3 tools/release/generate_manifest.py \
160160
--release-json "$AUDIT/release.json" \
161161
--assets-dir "$AUDIT/assets" \
162162
--version "$V" \

0 commit comments

Comments
 (0)