README.txt (projectforge-common)projectforge-webapp als primären Entwicklungseinstiegspunkt zu verwenden, und erklärt, dass projectforge-common automatisch als transitive Abhängigkeit über das ProjectForge-Maven-Repository verfügbar ist.Diese README dient als minimales Orientierungsdokument für Entwickler, die das Modul projectforge-common erkunden. Der Inhalt ist bewusst knapp gehalten, da dieses Modul keine eigenständige Anwendung ist – es ist eine Bibliothek, die als Abhängigkeit von anderen ProjectForge-Modulen genutzt wird.
Bitte verwenden Sie zuerst projectforge-webapp für Ihre Entwicklung! Dieses Modul enthält einige gemeinsame Klassen von ProjectForge. Sie benötigen dieses Modul nicht für die Entwicklung der ProjectForge-Web-App. Es ist automatisch über das ProjectForge-Maven-Repository verfügbar.
projectforge-common ist ein grundlegendes Bibliotheksmodul, das gemeinsam genutzte Hilfsklassen, Datenstrukturen und übergreifende Belange enthält, die im gesamten ProjectForge-Ökosystem verwendet werden. Es umfasst:
Das Modul wird in einem Maven-Repository veröffentlicht und von anderen Modulen über Gradle-Abhängigkeitsdeklarationen konsumiert. In den Gradle-Build-Dateien (z. B. build.gradle.kts in anderen Modulen) wird es wie folgt referenziert:
implementation(project(":projectforge-common"))
Dies bedeutet, dass es sich um eine Projektabhängigkeit im Multi-Modul-Gradle-Build handelt, und es wird als Maven-Artefakt für die externe Nutzung veröffentlicht.
Die Anweisung, „zuerst projectforge-webapp für Ihre Entwicklung zu verwenden“, zeigt, dass projectforge-webapp der vorgesehene Entwicklungseinstiegspunkt ist – es bietet den vollständigen Webanwendungs-Stack. Das Modul projectforge-common ist ein Baustein, kein Ausgangspunkt. Diese geschichtete Architektur trennt Belange: Gemeinsame Hilfsprogramme sind isoliert, sodass Tools, Skripte und Plugins von ihnen abhängen können, ohne den gesamten Webanwendungs-Stack einzubeziehen.
Das Modul verwendet das Gradle-Convention-Plugin buildlogic.pf-module-conventions und das Kotlin-JVM-Plugin. Es deklariert API-Abhängigkeiten von SLF4J, Logback, Log4j2, Apache-Commons-Bibliotheken und Zip4j für die ZIP-Archivverarbeitung.
9ebb88522 Erster Commit