build: переход на Gradle Kotlin DSL
This commit is contained in:
74
build.gradle
74
build.gradle
@@ -1,74 +0,0 @@
|
||||
//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 unpackBaseQ2(type: Copy) {
|
||||
File zipFile = file("baseq2.zip")
|
||||
File outputDir = file(".")
|
||||
println(zipFile.absolutePath)
|
||||
|
||||
from zipTree(zipFile)
|
||||
into outputDir
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
82
build.gradle.kts
Normal file
82
build.gradle.kts
Normal file
@@ -0,0 +1,82 @@
|
||||
plugins {
|
||||
java
|
||||
application
|
||||
}
|
||||
|
||||
group = "lwjake2"
|
||||
version = "1.0-SNAPSHOT"
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java.srcDirs("src")
|
||||
resources.srcDirs("resources")
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
val lwjglVersion by extra("2.9.3")
|
||||
val lwjglPlatform by extra(
|
||||
when {
|
||||
org.gradle.internal.os.OperatingSystem.current().isWindows -> "windows"
|
||||
org.gradle.internal.os.OperatingSystem.current().isMacOsX -> "osx"
|
||||
else -> "linux"
|
||||
}
|
||||
)
|
||||
|
||||
dependencies {
|
||||
implementation("org.lwjgl.lwjgl:lwjgl:$lwjglVersion")
|
||||
implementation("org.lwjgl.lwjgl:lwjgl_util:$lwjglVersion")
|
||||
}
|
||||
|
||||
application {
|
||||
mainClass.set("lwjake2.LWJake2")
|
||||
applicationDefaultJvmArgs = listOf("-Djava.library.path=${layout.buildDirectory.get()}/natives/$lwjglPlatform")
|
||||
}
|
||||
|
||||
tasks {
|
||||
withType<Wrapper> {
|
||||
gradleVersion = "8.10"
|
||||
distributionType = Wrapper.DistributionType.BIN
|
||||
}
|
||||
|
||||
withType<JavaCompile> {
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8.toString()
|
||||
targetCompatibility = JavaVersion.VERSION_1_8.toString()
|
||||
options.encoding = "UTF-8"
|
||||
options.compilerArgs.addAll(listOf("-Xlint:unchecked", "-Xlint:deprecation"))
|
||||
}
|
||||
|
||||
register<Copy>("unpackBaseQ2") {
|
||||
val zipFile = file("baseq2.zip")
|
||||
println(zipFile.absolutePath)
|
||||
|
||||
eachFile {
|
||||
path = path.substringAfter('/').substringAfter('\\')
|
||||
}
|
||||
includeEmptyDirs = false
|
||||
|
||||
from(zipTree(zipFile))
|
||||
into("baseq2")
|
||||
}
|
||||
|
||||
register<Copy>("unpackNative") {
|
||||
configurations.runtimeClasspath.get().filter {
|
||||
it.name.contains("lwjgl-platform-") &&
|
||||
it.name.contains(lwjglPlatform)
|
||||
}.forEach {
|
||||
includeEmptyDirs = false
|
||||
from(zipTree(it)) {
|
||||
exclude("META-INF/*")
|
||||
}
|
||||
into(layout.buildDirectory.dir("natives/$lwjglPlatform"))
|
||||
}
|
||||
}
|
||||
|
||||
named<JavaExec>("run") {
|
||||
dependsOn("unpackNative")
|
||||
}
|
||||
}
|
||||
1
settings.gradle.kts
Normal file
1
settings.gradle.kts
Normal file
@@ -0,0 +1 @@
|
||||
rootProject.name = "lwjake2"
|
||||
Reference in New Issue
Block a user