Skip to content

Commit 024bd21

Browse files
Merge pull request #295 from themuffinator/codex/update-packaging-for-versioning-format
Add cross-platform packaging script for WORR bundles
2 parents 6609cda + 68c1f11 commit 024bd21

File tree

4 files changed

+306
-452
lines changed

4 files changed

+306
-452
lines changed

tools/pack/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dist/
2+
*.zip

tools/pack/README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Packaging assets
2+
3+
This directory contains helper material for building release bundles of the
4+
WORR mod. The most important entry point is [`make_bundle.py`](make_bundle.py),
5+
which assembles binaries, configuration files, and documentation into a
6+
versioned ZIP archive that follows the ``WORR-vMAJOR.MINOR.PATCH[-pre].zip``
7+
convention.
8+
9+
## Quick start
10+
11+
1. Build the project so that the compiled binaries land in `build/bin/` (or any
12+
directory of your choosing).
13+
2. Run the bundler:
14+
15+
```sh
16+
python tools/pack/make_bundle.py \
17+
--binary build/bin \
18+
--config tools/pack/rerelease \
19+
--doc docs
20+
```
21+
22+
The command creates `tools/pack/dist/WORR-vX.Y.Z[-pre].zip` containing
23+
platform binaries in `bin/`, packaged configuration content in `config/`,
24+
the documentation set in `docs/`, and top-level metadata such as `LICENSE`,
25+
`README.md`, and `VERSION`.
26+
27+
## Options
28+
29+
`make_bundle.py` accepts multiple `--binary`, `--config`, `--doc`, and
30+
`--extra` flags. Each flag may point to files or directories, allowing you to
31+
add platform-specific builds or additional resources. `--no-extras` disables the
32+
default inclusion of `README.md`, `LICENSE`, and `VERSION`. Use `--version` to
33+
override the version string if you need to stage a release without touching the
34+
repository's `VERSION` file.
35+
36+
All options are cross-platform and rely on standard Python libraries. The
37+
resulting archives can be produced from Windows, macOS, or Linux without any
38+
additional tooling.
39+
40+
## Legacy artifacts
41+
42+
Older Muff Mode packages are kept here for reference. They are not touched by
43+
the bundler but can be inspected if historical assets are required. New
44+
releases should always be generated through `make_bundle.py` to ensure the
45+
expected naming scheme and directory layout.

0 commit comments

Comments
 (0)