meldestelle/docs/99_Journal/2026-04-18_Architecture-Tests-WASM-Fix.md
Stefan Mogeritsch 280debce09
Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
refactor(web): Komplettumstellung auf WASM, Altlasten aus Gradle und Architektur-Tests entfernt
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
2026-04-18 15:48:35 +02:00

2.0 KiB

Journal: Korrektur Architecture-Tests & Build-Stabilisierung

Datum: 18. April 2026 Badge: 🏗️ [Lead Architect] & 🧐 [QA Specialist]

🛡️ Status Quo: Build-Fehler nach WASM-Transition

Nach der vollständigen Umstellung der meldestelle-web Shell auf ein reines wasmJs-Target schlug der Gesamt-Build fehl. Das Modul platform:architecture-tests konnte die Abhängigkeit zur Web-Shell nicht mehr auflösen, da es als JVM-Modul konzipiert ist und eine kompatible Java-Variante der Shell erwartete.

🛠️ Durchgeführte Maßnahmen

1. Korrektur der Architecture-Tests

  • Problem: ArchUnit (das für die Architektur-Tests verwendet wird) ist eine JVM-Bibliothek. Da die meldestelle-web Shell nun kein JVM-Target mehr besitzt, kann sie nicht in diesen Test-Zyklus eingebunden werden.
  • Lösung: Die Abhängigkeit zu projects.frontend.shells.meldestelleWeb wurde in platform/architecture-tests/build.gradle.kts auskommentiert/entfernt.
  • Begründung: Die Web-Shell enthält primär Entry-Point-Logik für den Browser. Die fachliche Architektur (Features, Core, Domain) wird weiterhin über die anderen Modul-Abhängigkeiten geprüft.

2. Synchronisation der WASM-Infrastruktur

  • Aktion: Durchführung von ./gradlew kotlinWasmUpgradeYarnLock.
  • Ergebnis: Die yarn.lock wurde an die neuen Target-Konfigurationen angepasst, was den Fehler kotlinWasmStoreYarnLock behob.

Verifizierung

  • ./gradlew clean :platform:architecture-tests:test: Erfolgreich. Die Architektur-Tests für die verbleibenden JVM-kompatiblen Module (Desktop, Core, Features) laufen grün durch.
  • ./gradlew clean build: Erfolgreich. Der gesamte Projekt-Build (700+ Tasks) läuft ohne Fehler durch.

🚀 Fazit

Die architektonische Härtung (JVM für Desktop, WASM für Web) ist nun auch in der Build-Infrastruktur und den Qualitäts-Checks (ArchUnit) konsistent abgebildet.


🧹 [Curator]: Dokumentiert als finaler Fix der WASM-Transition-Phase.