JeremyStarTM
e2e5040055
Thanks solonovamax! She/he/they helped improve the engine's build scripts and gave a lot of tips when working with Gradle. Website: https://solonovamax.gay Fedi: https://tech.lgbt/@solonovamax GitHub: https://github.com/solonovamax
77 lines
2.2 KiB
Text
77 lines
2.2 KiB
Text
/*
|
|
* STAROPENSOURCE ENGINE SOURCE FILE
|
|
* Copyright (c) 2024 The StarOpenSource Engine Authors
|
|
* Licensed under the GNU General Public License v3.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU 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("application")
|
|
}
|
|
|
|
// Dependencies
|
|
dependencies {
|
|
// sos!engine
|
|
implementation(project(":base"))
|
|
implementation(project(":ansi"))
|
|
}
|
|
|
|
// Configure JAR
|
|
tasks.withType<Jar> {
|
|
manifest {
|
|
attributes["Main-Class"] = "de.staropensource.engine.testapp.Main"
|
|
}
|
|
}
|
|
|
|
// Configure application
|
|
application {
|
|
mainClass = "de.staropensource.engine.testapp.Main"
|
|
|
|
// JVM arguments
|
|
applicationDefaultJvmArgs = buildList {
|
|
// Unlock more VM options
|
|
add("-XX:+UnlockDiagnosticVMOptions")
|
|
add("-XX:+UnlockExperimentalVMOptions")
|
|
|
|
// 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")
|
|
}
|
|
|
|
// -> 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")
|
|
}
|
|
}
|