Build Script Powershell

XF2.x Build Script Powershell 1

Keine Rechte zum Download
Kompatible XF2.x Version
  1. 2.3
XenForo 2 Build Utility (Windows Batch)

Hallo zusammen,

wer kennt es nicht: Man hat ein Add-on fertig entwickelt, will es bauen und vergisst dabei, die version_id in der addon.json hochzuzählen. Oder man verrechnet sich bei der ID-Berechnung für Alpha/Beta-Stati.

Um meinen Workflow zu automatisieren, habe ich (mit der Hilfe von Gemini) ein Windows Batch-Utility geschrieben. Es verbindet die native XenForo CLI mit etwas PowerShell-Magie für die mathematische Berechnung der Versionen (SemVer).

Was macht das Script?

  • Automatische Versionierung: Erhöht Major, Minor oder Patch Versionen automatisch.
  • ID-Berechnung: Berechnet die korrekte XF version_id basierend auf der SemVer-Logik und Stati (Alpha, Beta, RC, Stable).
  • Sicherheit: Verhindert versehentliche Downgrades (neue ID <= alte ID).
  • Qualitäts-Check: Prüft vor dem Build, ob eine README.md (und optional eine sprachspezifische, z.B. README.de.md) vorhanden ist.
  • Native Builds: Nutzt cmd.php xf-addon:build-release für saubere ZIP-Archive.
  • Logging: Schreibt eine built.txt in den Release-Ordner mit Zeitstempel und genauer Version.

Voraussetzungen
  • Windows Umgebung
  • PHP in der System-PATH Variable
  • PowerShell 5.0 oder höher (Standard in Win 10/11)
  • Das Script muss im XenForo-Root liegen (dort wo die cmd.php ist).

Installation & Konfiguration

Erstellt eine Datei namens build.bat im Root-Verzeichnis eurer XF-Installation und fügt den untenstehenden Code ein.

Wichtig: Passt oben im Script die Konfiguration an euren Namespace an!

Code:
:: 2. VENDOR NAMESPACE
:: Euer Ordnername unter 'src/addons/'
SET "NAMESPACE=EuerKürzel"

:: 3. ADDITIONAL README CHECK
:: Optional: Sprachkürzel für lokalisierte Readme (z.B. 'de' für README.de.md)
:: Leer lassen, wenn nicht benötigt.
SET "ADDITIONAL_README_LANG=de"

Benutzung

Öffnet ein Terminal im Root (oder nutzt euer IDE Terminal) und führt die Befehle aus:

Nur bauen (ohne Versionsänderung):
Code:
build AddonName

Patch-Version erhöhen (1.0.0 -> 1.0.1):
Code:
build AddonName patch

Minor-Update als Beta (1.0.0 -> 1.1.0 Beta 1):
Code:
build AddonName minor beta

Hilfe anzeigen:
Code:
build --help

Viel Spaß beim Automatisieren! Feedback und Verbesserungsvorschläge sind willkommen.
  • Like
Reaktionen: McAtze
Autor
Hoffi
Downloads
0
Aufrufe
18
Erstellt am
Letzte Bearbeitung
Bewertung
0,00 Stern(e) 0 Bewertung(en)

Weitere Ressourcen von Hoffi

Zurück
Oben