Archived several outdated reports (`Ping-Service_Impl_01-2026.md`, `Frontend_Integration_Status.md`, etc.) and added archival notes and references to updated documents. Introduced a centralized reference structure for tech stack documentation, consolidating files under `01_Architecture/Reference/Tech_Stack`. Added new resources (`Gradle_Kotlin_DSL_Primer`, `Kotlin_2-3-0_ReleaseNotes`) for improved project organization and clarity.
2.3 KiB
2.3 KiB
| type | status | owner | tags | ||||
|---|---|---|---|---|---|---|---|
| Reference | ACTIVE | Lead Architect |
|
Tech-Stack Referenz: Kotlin 2.3.0 & Java 25 (KMP)
Kontext: Dieses Dokument beschreibt die notwendigen Konfigurationen, um Kotlin 2.3.0 mit Java 25 in einem Kotlin Multiplatform (KMP) Projekt mit Gradle 9.x zu verwenden.
1. Kern-Spezifikationen
| Komponente | Version | Status |
|---|---|---|
| Kotlin | 2.3.0 |
Stabil (K2 Compiler standardmäßig aktiv) |
| Java (JDK) | 25 |
LTS (Long-Term Support) |
| Gradle | 9.2.1 |
Erforderlich für JDK 25 Support |
| Android Plugin (AGP) | 8.8.0+ |
Empfohlen für Gradle 9.x Kompatibilität |
2. Gradle Konfiguration (build.gradle.kts)
Für ein Kotlin Multiplatform (KMP) Projekt ist die Java Toolchain-Konfiguration entscheidend, um sicherzustellen, dass der Kotlin-Compiler und die JVM-Targets Java 25 korrekt ansprechen.
plugins {
kotlin("multiplatform") version "2.3.0"
id("com.android.library") version "8.8.0" // Falls Android Target genutzt wird
}
kotlin {
// Globale Toolchain-Definition für alle JVM/Android Targets
jvmToolchain {
languageVersion.set(JavaLanguageVersion.of(25))
}
jvm {
compilations.all {
compilerOptions.configure {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_25)
}
}
}
// Weitere Targets (Beispiel iOS)
iosArm64()
iosSimulatorArm64()
}
3. Gradle Wrapper Update
Damit das Projekt Java 25 erkennt, muss der Wrapper auf dem neuesten Stand sein:
Terminal-Befehl:
./gradlew wrapper --gradle-version 9.2.1 --distribution-type all
4. Wichtige Kompatibilitätshinweise
- IDE-Version: IntelliJ IDEA 2025.3 (oder neuer) wird für die volle Unterstützung von JDK 25 und dem Kotlin 2.3.0 Plugin empfohlen.
- K2 Compiler: Kotlin 2.3.0 nutzt den K2-Compiler.
- Bytecode: Java 25 Bytecode wird nur generiert, wenn das
jvmTargetexplizit auf25gesetzt ist.
5. Bekannte Features in diesem Setup
- Java 25 Features: Unterstützung für die finalen Versionen von Scoped Values und Structured Concurrency.
- Kotlin 2.3.0 Features: Nutzung von
explicit backing fieldsund dem verbessertenunused return valueChecker.