Dungeon icon indicating copy to clipboard operation
Dungeon copied to clipboard

Gradle: do not expose libGDX dependencies in game and dungeon to users

Open cagix opened this issue 2 months ago • 0 comments

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)

cagix avatar Apr 29 '24 12:04 cagix