This commit is contained in:
CodeDevMLH
2025-12-15 11:27:06 +01:00
parent c867c892de
commit d88c967023
15 changed files with 215 additions and 130 deletions

59
RELEASE_GUIDE.md Normal file
View File

@@ -0,0 +1,59 @@
# Release & Update Guide
Diese Anleitung beschreibt die Schritte, die notwendig sind, um eine neue Version des **Seasonals** Plugins zu veröffentlichen.
## 1. Version erhöhen
Bevor du baust, musst du die Versionsnummer in den folgenden Dateien aktualisieren (z.B. von `1.0.0.0` auf `1.0.1.0`):
1. **`Jellyfin.Plugin.Seasonals/Jellyfin.Plugin.Seasonals.csproj`**
Suche nach `<Version>...</Version>` und ändere die Nummer.
2. **`build.yaml`**
Ändere den Wert bei `version: "..."`.
3. **`manifest.json`**
Füge einen neuen Eintrag oben in die `versions`-Liste ein (oder bearbeite den vorhandenen, wenn es noch kein Release gab).
* `version`: Deine neue Nummer.
* `changelog`: Was hat sich geändert?
* `timestamp`: Das aktuelle Datum (wird später aktualisiert).
* `checksum`: (wird nach dem Build aktualisiert).
## 2. Plugin bauen und packen
Führe den folgenden Befehl im Terminal (PowerShell) im Hauptverzeichnis aus. Dieser Befehl baut das Projekt, erstellt das ZIP-Archiv und berechnet direkt die Checksumme (Hash).
```powershell
dotnet publish Jellyfin.Plugin.Seasonals/Jellyfin.Plugin.Seasonals.csproj --configuration Release --output bin/Publish; Compress-Archive -Path bin/Publish/* -DestinationPath bin/Publish/Jellyfin.Plugin.Seasonals.zip -Force; $hash = (Get-FileHash -Algorithm MD5 bin/Publish/Jellyfin.Plugin.Seasonals.zip).Hash.ToLower(); $time = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"); Write-Output "`n----------------------------------------"; Write-Output "NEUE CHECKSUMME (MD5): $hash"; Write-Output "ZEITSTEMPEL: $time"; Write-Output "----------------------------------------`n"
```
## 3. Manifest aktualisieren
Nachdem der Befehl durchgelaufen ist, siehst du am Ende eine Ausgabe wie:
```text
----------------------------------------
NEUE CHECKSUMME (MD5): ef8654666ffeae9695e660944f644ad3
ZEITSTEMPEL: 2025-12-15T12:34:56Z
----------------------------------------
```
1. Kopiere die **Checksumme**.
2. Öffne `manifest.json`.
3. Füge die Checksumme bei deinem Versionseintrag unter `"checksum"` ein.
4. Kopiere den **Zeitstempel** und füge ihn unter `"timestamp"` ein.
5. Stelle sicher, dass die `sourceUrl` korrekt auf dein Repository zeigt.
## 4. Veröffentlichen
1. Lade die Datei `bin/Publish/Jellyfin.Plugin.Seasonals.zip` irgendwo hoch (z.B. GitHub Releases).
2. Stelle sicher, dass die `sourceUrl` im `manifest.json` auf diesen Download zeigt (oder auf das Repo, je nachdem wie Jellyfin das handhabt - meistens ist `sourceUrl` der Link zum ZIP).
* *Hinweis:* Wenn du das Plugin über ein Repo hostest, muss die URL im Manifest direkt auf die ZIP-Datei zeigen.
## Zusammenfassung der Dateien
| Datei | Zweck | Änderung nötig? |
| :--- | :--- | :--- |
| `Jellyfin.Plugin.Seasonals.csproj` | Definiert die DLL-Version | **Ja** |
| `build.yaml` | Build-Konfiguration | **Ja** |
| `manifest.json` | Plugin-Liste für Jellyfin | **Ja** (Version, Hash, Zeit) |