Progress on the engine

This commit is contained in:
2026-08-04 02:30:55 +02:00
parent df9c94ca37
commit 060f5e534c
183 changed files with 1970 additions and 1468 deletions
+61 -56
View File
@@ -16,39 +16,33 @@ eclipse {
}
sourceSets {
math {
java {}
}
assets {
java {}
}
graphics {
compileClasspath += sourceSets.math.output
runtimeClasspath += sourceSets.math.output
java {}
}
gui {
compileClasspath += sourceSets.math.output + sourceSets.graphics.output
runtimeClasspath += sourceSets.math.output + sourceSets.graphics.output
java {}
}
main {
compileClasspath += sourceSets.math.output
runtimeClasspath += sourceSets.math.output
}
math
events
assets
graphics
gui
main
}
configurations {
graphics.extendsFrom implementation
graphics.extendsFrom runtime
graphics.extendsFrom mathRuntime
gui.extendsFrom mathRuntime
gui.extendsFrom graphicsRuntime
implementation.extendsFrom mathRuntime
commonImplementation
assetsImplementation.extendsFrom(eventsImplementation)
graphicsImplementation.extendsFrom(mathImplementation, assetsImplementation)
guiImplementation.extendsFrom(graphicsImplementation)
implementation.extendsFrom(guiImplementation)
}
sourceSets.all { sourceSet ->
String implementationConfigName = sourceSet.implementationConfigurationName
configurations.named(implementationConfigName).configure {
extendsFrom(configurations.named("commonImplementation").get())
}
}
repositories {
mavenCentral()
maven {
@@ -60,43 +54,51 @@ repositories {
dependencies {
//LWJGL 3
implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
assetsImplementation sourceSets.events.output
graphicsImplementation sourceSets.math.output
graphicsImplementation sourceSets.assets.output
guiImplementation sourceSets.graphics.output
implementation sourceSets.gui.output
implementation "org.lwjgl:lwjgl"
implementation "org.lwjgl:lwjgl-glfw"
implementation "org.lwjgl:lwjgl-jemalloc"
implementation "org.lwjgl:lwjgl-openal"
implementation "org.lwjgl:lwjgl-opengl"
implementation "org.lwjgl:lwjgl-stb"
implementation "org.lwjgl:lwjgl-nfd"
implementation "org.lwjgl:lwjgl-freetype"
implementation "org.lwjgl:lwjgl-harfbuzz"
implementation "org.lwjgl:lwjgl-nanovg"
implementation "org.lwjgl:lwjgl::$lwjglNatives"
implementation "org.lwjgl:lwjgl-glfw::$lwjglNatives"
implementation "org.lwjgl:lwjgl-jemalloc::$lwjglNatives"
implementation "org.lwjgl:lwjgl-openal::$lwjglNatives"
implementation "org.lwjgl:lwjgl-opengl::$lwjglNatives"
implementation "org.lwjgl:lwjgl-stb::$lwjglNatives"
implementation "org.lwjgl:lwjgl-nfd::$lwjglNatives"
implementation "org.lwjgl:lwjgl-freetype::$lwjglNatives"
implementation "org.lwjgl:lwjgl-harfbuzz::$lwjglNatives"
implementation "org.lwjgl:lwjgl-nanovg::$lwjglNatives"
implementation "org.jspecify:jspecify:1.0.0"
//LWJGL 3
commonImplementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
commonImplementation "org.lwjgl:lwjgl"
commonImplementation "org.lwjgl:lwjgl-glfw"
commonImplementation "org.lwjgl:lwjgl-jemalloc"
commonImplementation "org.lwjgl:lwjgl-openal"
commonImplementation "org.lwjgl:lwjgl-opengl"
commonImplementation "org.lwjgl:lwjgl-stb"
commonImplementation "org.lwjgl:lwjgl-nfd"
commonImplementation "org.lwjgl:lwjgl-freetype"
commonImplementation "org.lwjgl:lwjgl-harfbuzz"
commonImplementation "org.lwjgl:lwjgl-nanovg"
commonImplementation "org.lwjgl:lwjgl::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-glfw::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-jemalloc::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-openal::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-opengl::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-stb::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-nfd::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-freetype::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-harfbuzz::$lwjglNatives"
commonImplementation "org.lwjgl:lwjgl-nanovg::$lwjglNatives"
commonImplementation "org.jspecify:jspecify:1.0.0"
//Gson
implementation 'com.google.code.gson:gson:2.8.6'
commonImplementation 'com.google.code.gson:gson:2.8.6'
//Primitive Collections
implementation 'de.speiger:Primitive-Collections:1.0.0'
mathImplementation 'de.speiger:Primitive-Collections:1.0.0'
commonImplementation 'de.speiger:Primitive-Collections:1.0.0'
}
jar {
manifest {
attributes "Main-Class": 'speiger.src.coreengine.NewInputTest'
attributes "Main-Class": 'speiger.src.coreengine.NewRenderEngineTest'
}
sourceSets.each { ss ->
from ss.output
}
from {
configurations.runtimeClasspath.collect {
it.isDirectory() ? it : zipTree(it)
@@ -106,8 +108,11 @@ jar {
}
task srcJar(type: Jar) {
from sourceSets.main.allSource
archiveClassifier = 'sources'
sourceSets.each { ss ->
from ss.allSource
}
from {
configurations.runtimeClasspath.collect {
it.isDirectory() ? it : zipTree(it)