
plugins {
	application
	id("com.gradleup.shadow") version "8.3.6"
}

repositories {
	mavenCentral()
}

dependencies {
	implementation(project(":common"))

	implementation(platform("org.lwjgl:lwjgl-bom:3.3.6"))

	implementation("org.lwjgl", "lwjgl")
	implementation("org.lwjgl", "lwjgl-glfw")
	implementation("org.lwjgl", "lwjgl-opengl")
	
	runtimeOnly("org.lwjgl", "lwjgl", classifier = "natives-linux")
	runtimeOnly("org.lwjgl", "lwjgl", classifier = "natives-windows")
	runtimeOnly("org.lwjgl", "lwjgl-glfw", classifier = "natives-linux")
	runtimeOnly("org.lwjgl", "lwjgl-glfw", classifier = "natives-windows")
	runtimeOnly("org.lwjgl", "lwjgl-opengl", classifier = "natives-linux")
	runtimeOnly("org.lwjgl", "lwjgl-opengl", classifier = "natives-windows")
}

java {
	toolchain {
		languageVersion = JavaLanguageVersion.of(21)
	}
}

application {
	mainClass = "client.Client"
	tasks.run.get().workingDir = rootProject.file("dev/client")
	tasks.run.get().workingDir.mkdirs()
	tasks.run.get().systemProperties.put("runtime.devmode", "")
}

tasks.shadowJar {
	destinationDirectory = rootProject.file("dev")
	archiveFileName = "tcr_client.jar"
}
