Modular, extensible, fast. https://engine.staropensource.de
Find a file
JeremyStarTM ef692a31d5
All checks were successful
PRs & Pushes / build-apidoc (push) Successful in 2m11s
PRs & Pushes / build (push) Successful in 2m18s
No kotlin multiplatform
While running the engine on multiple of Kotlin's supported platforms would
be cool, the standard library is just way too limited for our usecase. The
JVM simply has the best support and is the most suited option.
This would reap additional benefits:
- Java, Scala and Groovy interoperability
- existing Java libraries and tooling can be (re)used
- compilation using native-image may be possible under the new rewrite (which would replace the need for Kotlin/Native)
2024-12-13 21:52:08 +01:00
.forgejo Fix artifact names 2024-12-13 03:16:50 +01:00
.idea/copyright Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
base Add & update package-info files 2024-12-13 18:36:27 +01:00
dist Make private secondary constructors the primaries 2024-12-13 18:36:27 +01:00
gradle/wrapper Update gradle wrapper 2024-10-03 21:38:01 +02:00
logging Rename TwoCycleFormatterBase -> TwoCycleFormatterImpl 2024-12-13 18:36:27 +01:00
testapp Make private secondary constructors the primaries 2024-12-13 18:36:27 +01:00
.gitattributes Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
.gitignore Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
build.gradle.kts No kotlin multiplatform 2024-12-13 21:52:08 +01:00
gradle.properties No kotlin multiplatform 2024-12-13 21:52:08 +01:00
gradlew Update to Gradle 8.9 2024-08-01 02:04:54 +02:00
gradlew.bat Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00
LICENSE You know what? Yeet! 2024-09-05 01:17:08 +02:00
README.md Fix link 2024-12-13 18:36:27 +01:00
settings.gradle.kts Initial rewrite commit (see #17) 2024-12-12 23:10:29 +01:00

Index

About

The StarOpenSource Engine is a game and application framework written in Kotlin, primarily targeting the JVM. The engine is designed to be modular, configurable and extensible while being lightweight and fast.

In this repository you can find the engine's logging system, engine core, official subsystems, their documentation and some miscellaneous files.

Contributing

TODO, waiting for Infrastructure/website-docs#1. Sorry :c

Gradle properties

You can modify Gradle's behaviour by passing one or multiple project properties. These are read by our build.gradle.kts files and actively change the build behaviour. You can pass one by adding -P<property>=<value> to your Gradle command line.

Skipping the Java toolchain specification

Setting java.skipToolchainSpecification to true disables the JDK version check & download step performed by Gradle. Useful when automating things or if you're facing the No locally installed toolchains match and toolchain download repositories have not been defined error.

JVM arguments

You can pass the following arguments to modify the behaviour of JVMs used for executing projects.

jvm.logGC

Enables garbage collection logging.

Takes effect if set to true.

jvm.logJITandAOT

Enables logging about JIT and AOT code compilation.

Takes effect if set to true.

jvm.garbageCollector

Sets the garbage collector to use. Requires the specified garbage collector to be built into the JVM (some aren't compiled by default).

Accepts epsilon, serial and g1.