-
-
Notifications
You must be signed in to change notification settings - Fork 1
Entwicklungsumgebung
- Java 25 (via SDKMAN empfohlen)
- LibreOffice 25.x (ab 7.x)
- LibreOffice SDK (für UNO-Klassen)
-
Gradle (Wrapper im Projekt enthalten:
./gradlew)
curl -s "https://get.sdkman.io" | bash
sdk install java 25-temUbuntu/Debian:
sudo apt-get install libreoffice-dev*Die UNO-Klassen werden aus /usr/lib/libreoffice/program/classes/ eingebunden (in gradle.properties konfiguriert).
./gradlew buildPlugin # OXT bauen und Ausgabepfad anzeigen
./gradlew buildOXT # OXT-Extension erstellen
./gradlew test # Unit-Tests ausführen
./gradlew reinstallExtension # Extension in LibreOffice neu installieren
./gradlew debugLibreOffice # Neu installieren + LibreOffice mit JDWP Port 5005 starten
./gradlew startCalc # LibreOffice Calc starten (non-blocking)Build-Ausgabe: build/distributions/PetanqueTurnierManager-1.0.0.oxt
- Gradle-Projekt importieren
- Java 25 SDK konfigurieren
- Run/Debug-Konfiguration: Remote-Debugger auf
localhost:5005
- Extension Pack for Java installieren
- Gradle for Java installieren
- Remote-Debugging über
launch.jsonkonfigurieren
- loeclipse-Plugin installieren
- Window → Preferences → LibreOffice Plugin → SDK Konfiguration einrichten
- Gradle Buildship installieren
- Projekt importieren: Import → Existing Gradle Project
-
Extension installieren:
./gradlew reinstallExtension
-
LibreOffice mit JDWP starten:
./gradlew debugLibreOffice
-
In der IDE Remote-Debugger auf
localhost:5005verbinden (Attach-Modus).
src/main/java/de/petanqueturniermanager/
comp/ – LibreOffice-Integration, Startup, Menü-Dispatch, globale Plugin-Einstellungen
helper/ – UNO-API-Abstraktionen (SheetHelper, Lo, BorderFactory, ...)
model/ – Datenklassen (Team, Spieler, SpielErgebnis, ...)
basesheet/ – Basisklassen für Tabellenblatt-Typen
algorithmen/ – Kernalgorithmen (Schweizer System, Supermêlée, Poule, Kaskaden, Formule X, ...)
exception/ – Projektweite Exception-Klassen
supermelee/ – Supermêlée-Turniersystem
liga/ – Liga-Turniersystem
jedergegenjeden/ – Jeder-gegen-Jeden-System
schweizer/ – Schweizer System
forme/ – K.-O.-Grundlagen (Cadrage, KO-Runden)
ko/ – K.-O.-System
maastrichter/ – Maastrichter System
poule/ – Poule-A/B-System
kaskade/ – Kaskaden-K.O.-System
formulex/ – Formule-X-System
triptete/ – Trip-Tête-System
konfigdialog/ – Konfigurationsdialoge
addin/ – Generiertes Java-Interface (XGlobal) aus IDL
addins/ – Calc-Add-in Implementierungen (GlobalImpl, PTM.ALG.*/PTM.PLANUNG.*/...)
ki/ – KI-Assistent (Turniererstellung, NotebookLM-Export)
planungsrechner/ – Eigenständiger Planungsrechner (PTM.PLANUNG.*-Live-Formeln)
webserver/ – Webserver, Composite Views, Webserver-Regie
sidebar/ – Sidebar-Panels (Info, Sheet-Liste, Webserver-Regie)
siegergeld/ – Siegergeld-Berechnung
spielerdb/ – Spieler-Datenbank (SQLite, Import/Export)
timer/ – Turnier-Timer
toolbar/ – Toolbar-Steuerung (Spieltag-/Timer-Toolbar)
-
Unit-Tests:
./gradlew test(laufen ohne LibreOffice) -
UI-Tests: Klassen mit Suffix
UITestbenötigen eine installierte Extension. Zuerst./gradlew reinstallExtensionausführen.
Framework: JUnit 4, AssertJ, Mockito
Siehe BUILD_ISSUES.md im Projektverzeichnis für bekannte Probleme (u.a. IDL-zu-Java-Interface-Generierung nicht automatisiert).
Einstieg Home Installation Download
Turniersysteme Supermêlée Schweizer System Liga Jeder gegen Jeden K.-O.-System Poule-A/B Maastrichter System Kaskaden-K.O. Formule X Trip-Tête / Trio Kölner Sextet Dänisches System Monrad-System Tête-Series Crazy-Mêlée Arena-Pétanque Systemvergleich
Referenz Turnieransicht Sidebar Konfiguration WhatsApp Webserver Composite Views Webserver-Regie Turnier-Startseite FTP-Server KI-Assistent Siegergeld Planungsrechner Formeln Makros & Formeln Zeitplan-Feature Für Entwickler Entwicklungsumgebung Architektur: Threading Architektur: Blattschutz