Engine/testapp/build.gradle.kts

78 lines
2.2 KiB
Text
Raw Normal View History

2024-12-12 23:10:29 +01:00
/*
* STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU General Public License v3.
2024-12-12 23:10:29 +01:00
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
2024-12-12 23:10:29 +01:00
* 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("application")
}
// Dependencies
dependencies {
// sos!engine
implementation(project(":base"))
implementation(project(":ansi"))
2024-12-12 23:10:29 +01:00
}
// Configure JAR
tasks.withType<Jar> {
manifest {
attributes["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
applicationDefaultJvmArgs = buildList {
// Unlock more VM options
add("-XX:+UnlockDiagnosticVMOptions")
add("-XX:+UnlockExperimentalVMOptions")
2024-12-12 23:10:29 +01:00
// VM settings
// -> Log garbage collection
if (
hasProperty("jvm.logGC")
&& property("jvm.logGC") as String == "true"
)
add("-Xlog:gc")
// -> Log JIT & AOT
if (
hasProperty("jvm.logJITandAOT")
&& property("jvm.logJITandAOT") as String == "true"
) {
add("-XX:+PrintCompilation")
add("-XX:+PrintInlining")
2024-12-13 03:10:15 +01:00
}
2024-12-12 23:10:29 +01:00
// -> Select garbage collector
if (hasProperty("jvm.garbageCollector"))
when (property("jvm.garbageCollector")) {
"epsilon" -> add("-XX:+UseEpsilonGC")
"serial" -> add("-XX:+UseSerialGC")
"g1" -> add("-XX:+UseG1GC")
}
// Jansi
add("-Djansi.mode=force")
}
2024-12-12 23:10:29 +01:00
}