Dungeon
Dungeon copied to clipboard
Gradle: do not expose libGDX dependencies in game and dungeon to users
Die von uns in Game und/oder Dungeon genutzte libGDX-API sollte nicht für die Kunden von Game/Dungeon weitergegeben (exposed) werden - wenn jemand Dungeon als Basis nutzt und zusätzlich gern noch etwas aus libGDX in der eigenen Implementierung nutzen möchte, dann sollte er/sie/es auch selbst in der eigenen Konfiguration deklarieren (und nicht einfach stillschweigend transitiv von uns mitnutzen).
Dazu müsste man im Prinzip lediglich in den build.gradle
in Game und Dungeon die libGDX-Dependencies von api
auf implementation
setzen.
Leider das aktuell nicht, weil core.level.elements.ILevel direkt
von einer libGDX-Klasse/-Interface erbt. Hierfür sollte eine möglichst minimal-invasive Lösung gefunden werden.
Edit: Sowohl in Game als auch in Dungeon sollte aber das Gradle-Plugin java-library
beibehalten werden, damit man (a) die Tasks für das Generieren von JAR-Files hat und (b) damit die in den Sub-Projekten definierte eigene API nach außen weitergeben wird (und u.a. in den Classpath eingefügt wird).
(war Teil von https://github.com/Dungeon-CampusMinden/Dungeon/pull/1509)