mudlet/.gitattributes
Vadim Peretokin f7da6ca3da
improve: ship every default package as an mpackage (#9626)
#### Brief overview of PR changes/additions

- Every package Mudlet preinstalls now lives in `src/packages/<name>/`,
holding its `config.lua`, `.xml` and the `.mpackage` built from them -
previously they were scattered across `src/` and `src/mudlet-lua/lua/`,
and four had no metadata at all.
- The game loaders (Carrion Fields, Icesus, MorgenGrauen, Medievia) and
the two `mudlet.org` dev packages shipped as bare xml, so the Package
Manager showed them with no version, author or description. They are
packaged now, keeping their existing package names so nothing renames on
upgrade.
- New `DefaultPackagesTest` walks the preinstall table for seven games,
checks every queued path is really compiled in, and installs all 15
archives.

#### Motivation for adding to Mudlet

An mpackage carries Mudlet's metadata and a bare xml cannot. Keeping
each package's sources next to its archive also makes the Lua reviewable
in diffs, which a committed zip on its own is not.

#### Other info

Stacked on #9624, whose check now covers all 15 packages. The IRE mapper
stays an xml because upstream publishes it that way and
`update-3rdparty.yml` overwrites it weekly. Package repository PR
Mudlet/mudlet-package-repository#746 updates the sync paths and must
merge right after this.

#### Test case

`ctest` 66/67 locally (`TKeySequenceEditTest` is the known headless
flake - passes under openbox); `DefaultPackagesTest` 28/28; `python3
CI/check-mpackage-sync.py --base-ref origin/development` clean.

Assisted-by: Claude:claude-opus-5

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-08-04 10:18:48 +02:00

8 lines
388 B
Text

# CI/http-fixtures/ is served byte for byte to the networking specs, which
# assert the exact bodies that come back, so a Windows checkout must not turn
# its newlines into CRLF.
CI/http-fixtures/** -text
# Each .mpackage archive stores a copy of the sources beside it, byte for byte,
# so a Windows checkout must not rewrite the newlines of one and not the other.
src/packages/** -text