From e4bb1066b1b55c265ed773c46bdcff68a6814c87 Mon Sep 17 00:00:00 2001 From: Soeren Domroes Date: Mon, 2 Mar 2026 10:54:47 +0100 Subject: [PATCH 1/8] build(gradle): start gradle upgrade --- backend | 2 +- build.gradle.kts | 41 +++++++++++++----------- gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/backend b/backend index e2a37e1..c390729 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit e2a37e18b3ca4929003ed2d56e43d492ee9caff9 +Subproject commit c390729b49d319d56841d39cb6fe6c14044d0aa1 diff --git a/build.gradle.kts b/build.gradle.kts index c249214..2f8ad20 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,22 +1,23 @@ import org.gradle.internal.os.OperatingSystem import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.gradle.process.ExecOperations import java.util.Properties -val minJavaVersion = JavaVersion.VERSION_11 +val minJavaVersion = JavaVersion.VERSION_17 plugins { - val minJavaVersion = JavaVersion.VERSION_11 // Declared twice because plugins block has its own scope + val minJavaVersion = JavaVersion.VERSION_17 // Declared twice because plugins block has its own scope require(JavaVersion.current() >= minJavaVersion) { "Building requires at least JDK $minJavaVersion - please look into the README" } application - kotlin("jvm") version "1.9.25" + kotlin("jvm") version "2.3.0" id("idea") id("org.openjfx.javafxplugin") version "0.1.0" - id("com.github.johnrengelman.shadow") version "6.1.0" + id("com.gradleup.shadow") version "9.3.1" - id("com.github.ben-manes.versions") version "0.47.0" - id("se.patrikerdes.use-latest-versions") version "0.2.18" + id("com.github.ben-manes.versions") version "0.53.0" + id("se.patrikerdes.use-latest-versions") version "0.2.19" } idea { @@ -44,7 +45,7 @@ version = try { println("Current version: $version (Java version: ${JavaVersion.current()})") application { - mainClassName = "sc.gui.GuiAppKt" // needs shadow-update which needs gradle update to 7.0 + mainClass.set("sc.gui.GuiAppKt") // needs shadow-update which needs gradle update to 7.0 } repositories { @@ -92,14 +93,14 @@ tasks { } } withType { - kotlinOptions { - jvmTarget = minJavaVersion.toString() - freeCompilerArgs = listOf("-Xjvm-default=all") + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.fromTarget(minJavaVersion.toString())) + freeCompilerArgs.addAll("-Xjvm-default=all") } } withType { - manifest.attributes["Main-Class"] = application.mainClassName + manifest.attributes["Main-Class"] = application.mainClass.get() } javafx { @@ -113,7 +114,7 @@ tasks { } shadowJar { - destinationDirectory.set(buildDir) + destinationDirectory.set(layout.buildDirectory.asFile.get()) archiveClassifier.set( "${ OperatingSystem.current().familyName.replace( @@ -140,24 +141,28 @@ tasks { run.configure { dependsOn(backend.task(":server:makeRunnable")) - workingDir(buildDir.resolve("run")) + workingDir(layout.buildDirectory.asFile.get().resolve("run")) doFirst { workingDir.mkdirs() } args = System.getProperty("args", "").split(" ") } - val release by creating { + val release by registering { dependsOn(clean, check) group = "distribution" description = "Create and push a tagged commit matching the backend version" doLast { val desc = project.properties["m"]?.toString() ?: throw InvalidUserDataException("Das Argument -Pm=\"Beschreibung dieser Version\" wird benötigt") - exec { commandLine("git", "add", "CHANGELOG.md") } - exec { commandLine("git", "commit", "-m", "release: v$versionFromBackend") } - exec { commandLine("git", "tag", versionFromBackend, "-m", desc) } - exec { commandLine("git", "push", "--follow-tags", "--recurse-submodules=on-demand") } + val processHelper: (Array) -> Unit = { args -> + val process = ProcessBuilder(*args).start() + process.waitFor() + } + processHelper(arrayOf("git", "add", "CHANGELOG.md")) + processHelper(arrayOf("git", "commit", "-m", "release: v$versionFromBackend")) + processHelper(arrayOf("git", "tag", versionFromBackend, "-m", desc)) + processHelper(arrayOf("git", "push", "--follow-tags", "--recurse-submodules=on-demand")) } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c51cbf1..e69d040 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 016aa1857cd56b2d21b405581e72d9c7eb62c3f7 Mon Sep 17 00:00:00 2001 From: xeruf Date: Mon, 2 Mar 2026 13:34:24 +0100 Subject: [PATCH 2/8] build(gradle): adjust for gradle 8 --- backend | 2 +- build.gradle.kts | 28 +++++++++++++--------------- settings.gradle.kts | 14 +------------- 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/backend b/backend index c390729..186accd 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit c390729b49d319d56841d39cb6fe6c14044d0aa1 +Subproject commit 186accdafea70f32a72a048e00a39f0226882b02 diff --git a/build.gradle.kts b/build.gradle.kts index 2f8ad20..380a0da 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,11 +1,11 @@ import org.gradle.internal.os.OperatingSystem +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.gradle.process.ExecOperations import java.util.Properties -val minJavaVersion = JavaVersion.VERSION_17 +val minJavaVersion = JavaVersion.VERSION_11 plugins { - val minJavaVersion = JavaVersion.VERSION_17 // Declared twice because plugins block has its own scope + val minJavaVersion = JavaVersion.VERSION_11 // Declared twice because plugins block has its own scope require(JavaVersion.current() >= minJavaVersion) { "Building requires at least JDK $minJavaVersion - please look into the README" } @@ -14,7 +14,7 @@ plugins { kotlin("jvm") version "2.3.0" id("idea") id("org.openjfx.javafxplugin") version "0.1.0" - id("com.gradleup.shadow") version "9.3.1" + id("com.gradleup.shadow") version "9.1.0" id("com.github.ben-manes.versions") version "0.53.0" id("se.patrikerdes.use-latest-versions") version "0.2.19" @@ -45,7 +45,7 @@ version = try { println("Current version: $version (Java version: ${JavaVersion.current()})") application { - mainClass.set("sc.gui.GuiAppKt") // needs shadow-update which needs gradle update to 7.0 + mainClass.set("sc.gui.GuiAppKt") } repositories { @@ -73,9 +73,10 @@ dependencies { implementation("io.github.oshai", "kotlin-logging-jvm", "6.0.9") // TODO version 7 with kotlin 2 implementation("software-challenge", "server") + implementation("software-challenge", "plugin2023") implementation("software-challenge", "plugin2024") implementation("software-challenge", "plugin2025") - implementation("software-challenge", "plugin") + implementation("software-challenge", "plugin2026") if(debug) implementation("com.tangorabox", "component-inspector-fx", "1.1.0") @@ -94,7 +95,7 @@ tasks { } withType { compilerOptions { - jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.fromTarget(minJavaVersion.toString())) + jvmTarget.set(JvmTarget.fromTarget(minJavaVersion.toString())) freeCompilerArgs.addAll("-Xjvm-default=all") } } @@ -155,14 +156,11 @@ tasks { doLast { val desc = project.properties["m"]?.toString() ?: throw InvalidUserDataException("Das Argument -Pm=\"Beschreibung dieser Version\" wird benötigt") - val processHelper: (Array) -> Unit = { args -> - val process = ProcessBuilder(*args).start() - process.waitFor() - } - processHelper(arrayOf("git", "add", "CHANGELOG.md")) - processHelper(arrayOf("git", "commit", "-m", "release: v$versionFromBackend")) - processHelper(arrayOf("git", "tag", versionFromBackend, "-m", desc)) - processHelper(arrayOf("git", "push", "--follow-tags", "--recurse-submodules=on-demand")) + + providers.exec { commandLine("git", "add", "CHANGELOG.md") } + providers.exec { commandLine("git", "commit", "-m", "release: v$versionFromBackend") } + providers.exec { commandLine("git", "tag", versionFromBackend, "-m", desc) } + providers.exec { commandLine("git", "push", "--follow-tags", "--recurse-submodules=on-demand") } } } } diff --git a/settings.gradle.kts b/settings.gradle.kts index bebc179..0ebfb25 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,16 +1,4 @@ rootProject.name = "software-challenge-gui" includeBuild("backend/gradle/custom-tasks") -includeBuild("backend") { - // https://publicobject.com/2021/03/11/includebuild - dependencySubstitution { - substitute(module("software-challenge:plugin2024")) - .with(project(":plugin")) - substitute(module("software-challenge:plugin2025")) - .with(project(":plugin2025")) - substitute(module("software-challenge:plugin")) - .with(project(":plugin2026")) - substitute(module("software-challenge:server")) - .with(project(":server")) - } -} \ No newline at end of file +includeBuild("backend") \ No newline at end of file From efb026d1bf1451e09633f67a243c37ed807b7c55 Mon Sep 17 00:00:00 2001 From: xeruf Date: Tue, 3 Mar 2026 10:31:09 +0100 Subject: [PATCH 3/8] build(gradle): document debug flag --- build.gradle.kts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 380a0da..dcb3f33 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,6 +56,7 @@ repositories { maven("https://jitpack.io") } +// ./gradlew run -Pdebug for debug tools and logging val debug = project.hasProperty("debug") dependencies { @@ -78,8 +79,10 @@ dependencies { implementation("software-challenge", "plugin2025") implementation("software-challenge", "plugin2026") - if(debug) + if(debug) { + // hold Ctrl to view component hierarchy and bounds implementation("com.tangorabox", "component-inspector-fx", "1.1.0") + } } tasks { @@ -109,7 +112,8 @@ tasks { val mods = mutableListOf( "javafx.base", "javafx.controls", "javafx.fxml", "javafx.web", "javafx.media", "javafx.swing" - ) // included because of tornadofx already + ) + // included because of tornadofx already // if(debug) mods.addAll(listOf("javafx.swing")) modules = mods } From a3d1a083a25e95d20c3b2550e5f43b25cb5ae3b5 Mon Sep 17 00:00:00 2001 From: xeruf Date: Tue, 3 Mar 2026 10:33:37 +0100 Subject: [PATCH 4/8] build: update docs and flows --- .github/workflows/gradle.yml | 2 +- README.md | 19 ++++--------------- backend | 2 +- build.gradle.kts | 14 +++++++------- 4 files changed, 13 insertions(+), 24 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index b3cc2e0..5d95dc4 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -7,7 +7,7 @@ jobs: matrix: # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs os: [ubuntu-latest, windows-latest, macos-latest] - jdk: [11] + jdk: [17, 24] steps: - uses: actions/checkout@v4 with: diff --git a/README.md b/README.md index b141e81..bbd46d0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ## Software-Challenge Logo Grafischer Spieleserver der Software-Challenge Germany ![.github/workflows/gradle.yml](https://github.com/software-challenge/gui/workflows/.github/workflows/gradle.yml/badge.svg) Dies ist die Grafische Oberfläche für die Software-Challenge Germany, -seit Saison 2020/21 in Kotlin TornadoFX aufbauend auf JavaFX. +seit Saison 2020/21 in Kotlin TornadoFX, aufbauend auf JavaFX. Nutzerdokumentation: https://docs.software-challenge.de/server.html @@ -23,7 +23,7 @@ wird der Server auf diesem Port Verbindungen von Spielern erwarten. ### Kollaboration Unsere Commit-Messages folgen dem Muster `type(scope): summary` -(siehe [Karma Runner Konvention](http://karma-runner.github.io/6.2/dev/git-commit-msg.html)), +(siehe [Karma Runner Konvention](http://karma-runner.github.io/6.4/dev/git-commit-msg.html)), wobei die gängigen Scopes in [.dev/scopes.txt](.dev/scopes.txt) definiert werden. Nach dem Klonen mit git sollte dazu der hook aktiviert werden: @@ -31,7 +31,7 @@ Nach dem Klonen mit git sollte dazu der hook aktiviert werden: Um bei den Branches die Übersicht zu behalten, sollten diese ebenfalls nach der Konvention benannt werden, -z. B. könnte ein Branch mit einem Release-Fix für Gradle `chore/gradle/release-fix` heißen +z. B. könnte ein Branch mit einem Release-Fix für Gradle `build/gradle/release-fix` heißen und ein Branch, der ein neues Login-Feature zur GUI hinzufügt, `feat/gui-login`. Wenn die einzelnen Commits eines Pull Requests eigenständig funktionieren, @@ -40,15 +40,4 @@ ansonsten (gerade bei experimentier-Branches) ein squash merge, wobei der Titel des Pull Requests der Commit-Message entsprechen sollte. Detaillierte Informationen zu unserem Kollaborations-Stil -findet ihr in der [Kull Konvention](https://kull.jfischer.org). - -### Java-Versionen und Abhängigkeiten - -Aktuell können die Backend-docs nur mit JDK 8 gebaut werden, -dieses Projekt braucht jedoch für [tornadofx](https://github.com/edvin/tornadofx2) -mindestens Java 11. -Daher müssen die Releases separat gebaut werden. - -Tornadofx wird leider seit einigen Jahren nicht mehr entwickelt. -Wir schauen gerade wie es da weitergeht. -Eventuell ein eigener Fork. +findet ihr in der [Kull Konvention](https://kull.jfischer.org). \ No newline at end of file diff --git a/backend b/backend index 186accd..d5ae974 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit 186accdafea70f32a72a048e00a39f0226882b02 +Subproject commit d5ae974203cd037a282a32e207ec9688daa50fd2 diff --git a/build.gradle.kts b/build.gradle.kts index dcb3f33..790bfc3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,9 +3,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.util.Properties -val minJavaVersion = JavaVersion.VERSION_11 +val minJavaVersion = JavaVersion.VERSION_17 plugins { - val minJavaVersion = JavaVersion.VERSION_11 // Declared twice because plugins block has its own scope + val minJavaVersion = JavaVersion.VERSION_17 // Declared twice because plugins block has its own scope require(JavaVersion.current() >= minJavaVersion) { "Building requires at least JDK $minJavaVersion - please look into the README" } @@ -14,7 +14,7 @@ plugins { kotlin("jvm") version "2.3.0" id("idea") id("org.openjfx.javafxplugin") version "0.1.0" - id("com.gradleup.shadow") version "9.1.0" + id("com.gradleup.shadow") version "9.3.2" id("com.github.ben-manes.versions") version "0.53.0" id("se.patrikerdes.use-latest-versions") version "0.2.19" @@ -63,15 +63,15 @@ dependencies { implementation(kotlin("stdlib-jdk8")) implementation(kotlin("reflect")) - + + implementation(files("./gradle/tornadofx2-21e933fd41.jar")) // implementation("no.tornado", "tornadofx", "2.0.0-SNAPSHOT") { exclude("org.jetbrains.kotlin", "kotlin-reflect") } // implementation("com.github.software-challenge.tornadofx2", "tornadofx2", "2.0.0") // implementation("com.github.edvin", "tornadofx2", "master-SNAPSHOT") // implementation("com.github.edvin", "tornadofx2", "21e933fd41") - implementation(files("./gradle/tornadofx2-21e933fd41.jar")) - implementation("ch.qos.logback", "logback-classic", "1.5.18") - implementation("io.github.oshai", "kotlin-logging-jvm", "6.0.9") // TODO version 7 with kotlin 2 + implementation("ch.qos.logback", "logback-classic", "1.5.32") + implementation("io.github.oshai", "kotlin-logging-jvm", "8.0.01") implementation("software-challenge", "server") implementation("software-challenge", "plugin2023") From c8bf5e665916e4d0971811b6a991fae7e058eed8 Mon Sep 17 00:00:00 2001 From: xeruf Date: Tue, 3 Mar 2026 10:33:52 +0100 Subject: [PATCH 5/8] fix: code deprecations --- build.gradle.kts | 2 +- src/main/kotlin/sc/gui/AppStyle.kt | 2 +- src/main/kotlin/sc/gui/controller/ServerController.kt | 4 ++-- src/main/kotlin/sc/gui/view/AppView.kt | 4 ++-- src/main/kotlin/sc/gui/view/ControlView.kt | 4 ++-- src/main/kotlin/sc/gui/view/game/HuIBoard.kt | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 790bfc3..e4e09c0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -99,7 +99,7 @@ tasks { withType { compilerOptions { jvmTarget.set(JvmTarget.fromTarget(minJavaVersion.toString())) - freeCompilerArgs.addAll("-Xjvm-default=all") + //freeCompilerArgs.addAll("-jvm-default=all") } } diff --git a/src/main/kotlin/sc/gui/AppStyle.kt b/src/main/kotlin/sc/gui/AppStyle.kt index 01acab4..7371528 100644 --- a/src/main/kotlin/sc/gui/AppStyle.kt +++ b/src/main/kotlin/sc/gui/AppStyle.kt @@ -22,7 +22,7 @@ class AppStyle: Stylesheet() { const val pieceOpacity = 1.0 - val fontSizeUnscaled = Font.getDefault().also { logger.debug("System Font: $it") }.size.pt + val fontSizeUnscaled = Font.getDefault().also { logger.debug { "System Font: $it" } }.size.pt val fontSizeRegular = fontSizeUnscaled * AppModel.scaling.value val fontSizeSmall = fontSizeRegular * 0.6 val fontSizeBig = fontSizeRegular * 1.5 diff --git a/src/main/kotlin/sc/gui/controller/ServerController.kt b/src/main/kotlin/sc/gui/controller/ServerController.kt index 0b8c741..f67f09c 100644 --- a/src/main/kotlin/sc/gui/controller/ServerController.kt +++ b/src/main/kotlin/sc/gui/controller/ServerController.kt @@ -1,7 +1,7 @@ package sc.gui.controller import ch.qos.logback.classic.LoggerContext -import ch.qos.logback.core.util.StatusPrinter +import ch.qos.logback.core.util.StatusPrinter2 import org.slf4j.LoggerFactory import sc.server.Configuration import sc.server.Lobby @@ -13,7 +13,7 @@ class ServerController : Controller() { fun startServer() { // output logback diagnostics to see if a logback.xml config was found val lc = LoggerFactory.getILoggerFactory() as LoggerContext - StatusPrinter.print(lc) + StatusPrinter2().print(lc) Configuration.loadServerProperties() Configuration.set(Configuration.SAVE_REPLAY, true) diff --git a/src/main/kotlin/sc/gui/view/AppView.kt b/src/main/kotlin/sc/gui/view/AppView.kt index 2098dda..396a469 100644 --- a/src/main/kotlin/sc/gui/view/AppView.kt +++ b/src/main/kotlin/sc/gui/view/AppView.kt @@ -29,13 +29,13 @@ class AppView: View("Software-Challenge Germany") { // TODO help menus keep disappearing and is offset menu(graphic = sochaIcon) { item("Beenden", "Shortcut+Q").action { - logger.debug("Quitting!") + logger.debug { "Quitting!" } Platform.exit() } item("Neues Spiel", "Shortcut+N") { enableWhen(controller.model.currentView.isNotEqualTo(ViewType.GAME_CREATION)) action { - logger.debug("New Game!") + logger.debug { "New Game!" } if(controller.model.currentView.get() == ViewType.GAME) { confirm( header = "Neues Spiel anfangen", diff --git a/src/main/kotlin/sc/gui/view/ControlView.kt b/src/main/kotlin/sc/gui/view/ControlView.kt index d60c9b8..e05e2c3 100644 --- a/src/main/kotlin/sc/gui/view/ControlView.kt +++ b/src/main/kotlin/sc/gui/view/ControlView.kt @@ -55,7 +55,7 @@ class ControlView: View() { } } val prev = button { - if(logger.isTraceEnabled) + if(logger.isTraceEnabled()) hoverProperty().listenImmediately { logger.trace { "$this: $padding on hover $it" } } @@ -86,7 +86,7 @@ class ControlView: View() { ) } button { - if(logger.isTraceEnabled) + if(logger.isTraceEnabled()) hoverProperty().listenImmediately { logger.trace { "$this: $padding on hover $it" } } diff --git a/src/main/kotlin/sc/gui/view/game/HuIBoard.kt b/src/main/kotlin/sc/gui/view/game/HuIBoard.kt index ba21f91..e1a5224 100644 --- a/src/main/kotlin/sc/gui/view/game/HuIBoard.kt +++ b/src/main/kotlin/sc/gui/view/game/HuIBoard.kt @@ -286,7 +286,7 @@ class HuIBoard: GameBoard() { putOnPosition( Button(carrotCostString(car.amount)).apply { fixHoverInsets() - if(logger.isTraceEnabled) + if(logger.isTraceEnabled()) hoverProperty().listenImmediately { logger.trace { "$this: $padding on hover $it" } } From f3e3061adefc207cc3e2d59c11f0d8d01b93504e Mon Sep 17 00:00:00 2001 From: xeruf Date: Thu, 19 Mar 2026 10:34:36 +0100 Subject: [PATCH 6/8] build: update backend and run CI on all supported versions --- .github/workflows/gradle.yml | 6 +++--- backend | 2 +- build.gradle.kts | 11 ++++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 5d95dc4..84e4dbc 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -7,7 +7,7 @@ jobs: matrix: # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs os: [ubuntu-latest, windows-latest, macos-latest] - jdk: [17, 24] + jdk: [11, 17, 21] steps: - uses: actions/checkout@v4 with: @@ -55,7 +55,7 @@ jobs: - name: Upload jar as artifact uses: actions/upload-artifact@v4 with: - name: software-challenge-gui-${{ github.sha }}-${{ matrix.os }} + name: software-challenge-gui-${{ github.sha }}-j${{ matrix.jdk }}-${{ matrix.os }} path: build/*.jar release: needs: [build, build-arm] @@ -64,7 +64,7 @@ jobs: steps: - uses: actions/download-artifact@v4 # https://github.com/actions/download-artifact with: - pattern: software-challenge-gui-${{ github.sha }}-* + pattern: software-challenge-gui-${{ github.sha }}-j11-* path: build merge-multiple: true - name: Release ${{ github.ref }} diff --git a/backend b/backend index d5ae974..4727126 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit d5ae974203cd037a282a32e207ec9688daa50fd2 +Subproject commit 47271265795645fc6a815114276ec9e6c8c4ca78 diff --git a/build.gradle.kts b/build.gradle.kts index e4e09c0..26bb6b2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,9 +3,10 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.util.Properties -val minJavaVersion = JavaVersion.VERSION_17 +val minJavaVersion = JavaVersion.VERSION_11 +val targetJavaVersion = JavaVersion.current() // minJavaVersion can be set for compatibility plugins { - val minJavaVersion = JavaVersion.VERSION_17 // Declared twice because plugins block has its own scope + val minJavaVersion = JavaVersion.VERSION_11 // Declared twice because plugins block has its own scope require(JavaVersion.current() >= minJavaVersion) { "Building requires at least JDK $minJavaVersion - please look into the README" } @@ -14,7 +15,7 @@ plugins { kotlin("jvm") version "2.3.0" id("idea") id("org.openjfx.javafxplugin") version "0.1.0" - id("com.gradleup.shadow") version "9.3.2" + id("com.gradleup.shadow") version "9.1.0" id("com.github.ben-manes.versions") version "0.53.0" id("se.patrikerdes.use-latest-versions") version "0.2.19" @@ -87,7 +88,7 @@ dependencies { tasks { compileJava { - options.release.set(minJavaVersion.majorVersion.toInt()) + options.release.set(targetJavaVersion.majorVersion.toInt()) } processResources { if(!debug) @@ -98,7 +99,7 @@ tasks { } withType { compilerOptions { - jvmTarget.set(JvmTarget.fromTarget(minJavaVersion.toString())) + jvmTarget.set(JvmTarget.fromTarget(targetJavaVersion.toString())) //freeCompilerArgs.addAll("-jvm-default=all") } } From 2a0ffbfa7377cbfb20b008ad9dc550cd3c91c289 Mon Sep 17 00:00:00 2001 From: xeruf Date: Thu, 2 Apr 2026 12:11:38 +0200 Subject: [PATCH 7/8] build: update backend --- backend | 2 +- src/main/kotlin/sc/gui/view/game/PenguinsBoard.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend b/backend index 4727126..d41ec23 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit 47271265795645fc6a815114276ec9e6c8c4ca78 +Subproject commit d41ec23b91a56fc94232d467e83ec3e323c1b440 diff --git a/src/main/kotlin/sc/gui/view/game/PenguinsBoard.kt b/src/main/kotlin/sc/gui/view/game/PenguinsBoard.kt index 50571cd..ef117e8 100644 --- a/src/main/kotlin/sc/gui/view/game/PenguinsBoard.kt +++ b/src/main/kotlin/sc/gui/view/game/PenguinsBoard.kt @@ -53,7 +53,7 @@ class PenguinBoard: View() { size.bind(Bindings.min(widthProperty(), heightProperty().multiply(1.6))) anchorpane { this.paddingAll = AppStyle.spacing - val stateListener = ChangeListener { _, oldState, state -> + val stateListener = ChangeListener { _, oldState: GameState?, state -> clearTargetHighlights() if(state == null) { //children.remove(BOARD_SIZE.toDouble().pow(2).toInt(), children.size) From 98c7090b851302424f3a24c6296aa506a357272b Mon Sep 17 00:00:00 2001 From: xeruf Date: Mon, 20 Apr 2026 08:56:54 +0200 Subject: [PATCH 8/8] build(gradle): update backend and distribution naming --- backend | 2 +- build.gradle.kts | 2 +- settings.gradle.kts | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/backend b/backend index d41ec23..04b1ecf 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit d41ec23b91a56fc94232d467e83ec3e323c1b440 +Subproject commit 04b1ecff13cc8b9eddda7a365b3f2ce72f77ab01 diff --git a/build.gradle.kts b/build.gradle.kts index 26bb6b2..d74fddb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -36,7 +36,7 @@ val versionFromBackend by lazy { arrayOf("year", "minor", "patch").map { versions["socha.version.$it"].toString().toInt() }.joinToString(".") + suffix } -group = "sc.gui" +group = "software-challenge" version = try { Runtime.getRuntime().exec(arrayOf("git", "describe", "--tags")) .inputStream.reader().readText().trim().ifEmpty { null } diff --git a/settings.gradle.kts b/settings.gradle.kts index 0ebfb25..5a5913a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,4 +1,2 @@ -rootProject.name = "software-challenge-gui" - includeBuild("backend/gradle/custom-tasks") -includeBuild("backend") \ No newline at end of file +includeBuild("backend")