//file:noinspection DependencyNotationArgument import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform plugins { id "application" } application { mainClassName = "Start" } run { workingDir = new File(buildDir, "run") if (!workingDir.exists()) { workingDir.mkdir() } systemProperty "java.library.path", file("$buildDir/natives") dependsOn ":client:copyNatives" } dependencies { implementation(project(":shared")) implementation name: "jinput" // предположительно это "jinput-1.0.jar" implementation name: "org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0" implementation name: "org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0" implementation name: "paulscode" if (DefaultNativePlatform.currentOperatingSystem.isWindows()) { implementation name: "org/lwjgl/lwjgl/lwjgl-platform/2.9.0/lwjgl-platform-2.9.0-natives-windows" // вроде подходит и слава богу implementation name: "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-windows" } else { implementation name: "org/lwjgl/lwjgl/lwjgl-platform/2.9.0/lwjgl-platform-2.9.0-natives-linux" // вроде подходит и слава богу implementation name: "net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-linux" } } tasks.register("copyNatives").configure { doLast { def classifier def suffix if (DefaultNativePlatform.currentOperatingSystem.isWindows()) { classifier = "natives-windows" suffix = "-natives-windows" } else { classifier = "natives-linux" suffix = "-natives-linux" } copy { def resolvedArtifacts = configurations.runtimeClasspath.resolvedConfiguration.resolvedArtifacts def matches = resolvedArtifacts.findAll {it.classifier == classifier || it.name.endsWith(suffix)} from matches.collect { it.file }.collect { zipTree(it).matching { exclude "META-INF/**" } } into "$buildDir/natives" } } }