# Release

> Version-Bump, Build und Erstellung des Release-Archivs

---

## Schritte

```bash
# 1. Version erhöhen (erfordert einen sauberen git-Tree)
npx gulp bumpversion

# 2. Build + Übersetzungen kompilieren + Release-Archiv erstellen
npx gulp archive
```

## Was `archive` tut

`npx gulp archive` führt `build` → `po2php` → <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/util/create-archive.sh" target="_blank" rel="noopener"><code>create-archive.sh</code></a>
 aus. Das Skript:

1. Liest die Version aus <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/latest-version.txt" target="_blank" rel="noopener"><code>latest-version.txt</code></a>
.
2. `rsync` das Modul nach `dist/linkenhancer/` und schließt alles aus, das nicht ausgeliefert wird (unten).
3. Erzeugt `dist/linkenhancer_v<version>.zip`.

## Aus dem Archiv ausgeschlossen

`create-archive.sh` lässt unter anderem aus: `node_modules/`, `.git*`, `gulpfile.mjs`, `package*.json`, `phpstan*`, `tests/`, die `util/*`-Buildskripte, `resources/js/src`, `resources/js/tests`, `resources/img/`, `resources/lang/*.po` / `*.mo` und `.env`. Ausgeliefert werden nur die gebauten `bundle*`-JS/CSS, die kompilierten `resources/lang/*.php`, `src/`, `resources/views/`, `resources/css/` und die Modul-Entry-Dateien.

## Veröffentlichen

1. Das Release in git taggen.
2. `dist/linkenhancer_v<version>.zip` mit Release-Notizen zu einem Codeberg-/GitHub-Release hochladen.

> Das Archiv wird **nicht** ins Repo committet — es wird on demand erzeugt und dem Release beigefügt.
