2024-12-12 23:10:29 +01:00
|
|
|
/*
|
|
|
|
* STAROPENSOURCE ENGINE SOURCE FILE
|
|
|
|
* Copyright (c) 2024 The StarOpenSource Engine Authors
|
|
|
|
* Licensed under the GNU Affero General Public License v3
|
|
|
|
* with an exception allowing classpath linking.
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Affero General Public License as
|
|
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Plugins
|
|
|
|
plugins {
|
|
|
|
id("java")
|
|
|
|
id("application")
|
|
|
|
}
|
|
|
|
|
|
|
|
// Dependencies
|
|
|
|
dependencies {
|
|
|
|
// sos!engine
|
|
|
|
implementation(project(":base"))
|
|
|
|
}
|
|
|
|
|
|
|
|
// Configure JAR
|
|
|
|
tasks.withType<Jar> {
|
|
|
|
manifest {
|
2024-12-13 03:10:15 +01:00
|
|
|
attributes.put("Main-Class", "de.staropensource.engine.testapp.Main")
|
2024-12-12 23:10:29 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Configure application
|
|
|
|
application {
|
|
|
|
mainClass = "de.staropensource.engine.testapp.Main"
|
|
|
|
|
2024-12-13 03:10:15 +01:00
|
|
|
// JVM arguments
|
|
|
|
val jvmArgs: MutableList<String> = mutableListOf()
|
|
|
|
// -> JVM
|
|
|
|
jvmArgs.add("-XX:+UnlockDiagnosticVMOptions")
|
2024-12-12 23:10:29 +01:00
|
|
|
|
2024-12-13 03:35:55 +01:00
|
|
|
if (hasProperty("jvm.logGC") && property("jvm.logGC") as String == "true")
|
2024-12-13 03:10:15 +01:00
|
|
|
jvmArgs.add("-Xlog:gc")
|
2024-12-13 03:35:55 +01:00
|
|
|
if (hasProperty("jvm.logJITandAOT") && property("jvm.logJITandAOT") as String == "true") {
|
2024-12-13 03:10:15 +01:00
|
|
|
jvmArgs.add("-XX:+PrintCompilation")
|
|
|
|
jvmArgs.add("-XX:+PrintInlining")
|
|
|
|
}
|
2024-12-13 03:35:55 +01:00
|
|
|
if (hasProperty("jvm.garbageCollector"))
|
|
|
|
when (property("jvm.garbageCollector")) {
|
2024-12-13 03:10:15 +01:00
|
|
|
"epsilon" -> jvmArgs.add("-XX:+UseEpsilonGC")
|
|
|
|
"serial" -> jvmArgs.add("-XX:+UseSerialGC")
|
|
|
|
"g1" -> jvmArgs.add("-XX:+UseG1GC")
|
|
|
|
}
|
|
|
|
// -> Jansi
|
|
|
|
jvmArgs.add("-Djansi.mode=force")
|
2024-12-12 23:10:29 +01:00
|
|
|
|
2024-12-13 03:10:15 +01:00
|
|
|
applicationDefaultJvmArgs = jvmArgs
|
2024-12-12 23:10:29 +01:00
|
|
|
}
|