diff --git a/build.gradle b/build.gradle index b0269b9..25740dd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,49 +1,65 @@ -apply plugin: 'java' -apply plugin: 'application' -apply plugin: 'idea' -apply plugin: 'eclipse' +//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() } -import org.gradle.internal.os.OperatingSystem; - -def lwjgl_ver = '2.9.3' -def platform = '' -if (OperatingSystem.current().isWindows()) { - platform = 'windows' -} else if (OperatingSystem.current().isMacOsX()) { - platform = 'osx' -} else if (OperatingSystem.current().isLinux()) { - platform = 'linux' -} - -dependencies { - compile (['org.lwjgl.lwjgl:lwjgl:' + lwjgl_ver], - ['org.lwjgl.lwjgl:lwjgl_util:' + lwjgl_ver]) -} - -sourceSets { - main { - java.srcDirs = ['src'] - resources.srcDirs = ['resources'] +ext { + lwjglVersion = "2.9.3" + lwjglPlatform = "linux" + if (OperatingSystem.current().isWindows()) { + lwjglPlatform = "windows" + } else if (OperatingSystem.current().isMacOsX()) { + lwjglPlatform = "osx" } } -mainClassName = 'lwjake2.LWJake2' -applicationDefaultJvmArgs = ["-Djava.library.path=$buildDir/natives/$platform"] +dependencies { + implementation("org.lwjgl.lwjgl:lwjgl:$lwjglVersion") + implementation("org.lwjgl.lwjgl:lwjgl_util:$lwjglVersion") +} -task t1(type: Copy) { - configurations.compile.filter { +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("$platform") >= 0) + (it.getName().indexOf("$lwjglPlatform") >= 0) }.each { includeEmptyDirs = false from (zipTree(it)) { exclude "META-INF/*" } - into "$buildDir/natives/$platform" + into "$buildDir/natives/$lwjglPlatform" } - +} + +run.configure { + dependsOn unpackNative }