0
Files
lwjake2/build.gradle
2025-05-26 13:25:51 +03:00

66 lines
1.4 KiB
Groovy

//file:noinspection GroovyAssignabilityCheck
//file:noinspection ConfigurationAvoidance
//file:noinspection GrDeprecatedAPIUsage
import org.gradle.internal.os.OperatingSystem
plugins {
id("java")
id("application")
}
wrapper {
gradleVersion = "8.10"
distributionType = Wrapper.DistributionType.BIN
}
java.toolchain {
languageVersion = JavaLanguageVersion.of(8)
}
sourceSets.main {
java.srcDirs = ["src"]
resources.srcDirs = ["resources"]
}
repositories {
mavenLocal()
mavenCentral()
}
ext {
lwjglVersion = "2.9.3"
lwjglPlatform = "linux"
if (OperatingSystem.current().isWindows()) {
lwjglPlatform = "windows"
} else if (OperatingSystem.current().isMacOsX()) {
lwjglPlatform = "osx"
}
}
dependencies {
implementation("org.lwjgl.lwjgl:lwjgl:$lwjglVersion")
implementation("org.lwjgl.lwjgl:lwjgl_util:$lwjglVersion")
}
application {
mainClass = "lwjake2.LWJake2"
applicationDefaultJvmArgs = ["-Djava.library.path=$buildDir/natives/$lwjglPlatform"]
}
task unpackNative(type: Copy) {
configurations.runtimeClasspath.filter {
(it.getName().indexOf("lwjgl-platform-") >= 0) &&
(it.getName().indexOf("$lwjglPlatform") >= 0)
}.each {
includeEmptyDirs = false
from (zipTree(it)) {
exclude "META-INF/*"
}
into "$buildDir/natives/$lwjglPlatform"
}
}
run.configure {
dependsOn unpackNative
}