Add Dev Command
All checks were successful
SteamWarCI Build successful

This commit is contained in:
2025-10-25 23:55:24 +02:00
parent 4a073c8b96
commit 90b4516160

View File

@ -1,6 +1,5 @@
package de.steamwar.commands.dev package de.steamwar.commands.dev
import com.github.ajalt.clikt.command.SuspendingCliktCommand
import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.CliktError import com.github.ajalt.clikt.core.CliktError
import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.core.Context
@ -10,15 +9,10 @@ import com.github.ajalt.clikt.parameters.arguments.multiple
import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.default
import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.help import com.github.ajalt.clikt.parameters.options.help
import com.github.ajalt.clikt.parameters.options.multiple
import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.types.file import com.github.ajalt.clikt.parameters.types.file
import com.github.ajalt.clikt.parameters.types.long import com.github.ajalt.clikt.parameters.types.long
import com.sun.security.auth.module.UnixSystem import com.sun.security.auth.module.UnixSystem
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.joinAll
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import java.io.File import java.io.File
const val LOG4J_CONFIG = """<?xml version="1.0" encoding="UTF-8"?> const val LOG4J_CONFIG = """<?xml version="1.0" encoding="UTF-8"?>
@ -56,7 +50,7 @@ class DevCommand : CliktCommand("dev") {
val server by argument().help("Server Template") val server by argument().help("Server Template")
val port by option("--port").long().default( val port by option("--port").long().default(
if (System.getProperty("os.name").lowercase() if (System.getProperty("os.name").lowercase()
.let { os -> listOf("mac", "nix", "sunos").any { it in os } } .let { os -> listOf("mac", "nix", "sunos").any { os in it } }
) UnixSystem().uid else 2050 ) UnixSystem().uid else 2050
).help("Port for Server") ).help("Port for Server")
val world by option("--world", "-w").help("User World") val world by option("--world", "-w").help("User World")
@ -167,7 +161,7 @@ class DevCommand : CliktCommand("dev") {
} }
} }
fun runServer(args: List<String>, jvmArgs: List<String>, cmd: List<String>, serverDir: File) = runBlocking { fun runServer(args: List<String>, jvmArgs: List<String>, cmd: List<String>, serverDir: File) {
val command = arrayOf( val command = arrayOf(
if (isJava8(server)) "/usr/lib/jvm/openj9-8/bin/java" else "java", if (isJava8(server)) "/usr/lib/jvm/openj9-8/bin/java" else "java",
*jvmArgs.toTypedArray(), *jvmArgs.toTypedArray(),