feat(dist): shaded jar aggregator
Bundles core + ecs + binding into a single shaded JAR via
com.gradleup.shadow. Regular jar stays enabled so composite builds
in examples/ can consume project(":dist") directly.
This commit is contained in:
Vendored
+13
@@ -0,0 +1,13 @@
|
|||||||
|
# `:dist`
|
||||||
|
|
||||||
|
No source code. Aggregates `:core + :ecs + :binding` into one shaded JAR via
|
||||||
|
`com.gradleup.shadow`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./gradlew :dist:shadowJar
|
||||||
|
# → dist/build/libs/async-<version>.jar
|
||||||
|
```
|
||||||
|
|
||||||
|
Drop that JAR in your Hytale server's `mods/` directory. That's the only
|
||||||
|
artifact a consumer ever needs — the per-module split exists for testability
|
||||||
|
and codebase hygiene, not deployment cherry-picking.
|
||||||
Vendored
+26
@@ -0,0 +1,26 @@
|
|||||||
|
plugins {
|
||||||
|
`java-library`
|
||||||
|
alias(libs.plugins.shadow)
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
api(project(":core"))
|
||||||
|
api(project(":ecs"))
|
||||||
|
api(project(":binding"))
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
toolchain { languageVersion.set(JavaLanguageVersion.of(25)) }
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.withType<JavaCompile>().configureEach { options.release.set(24) }
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
shadowJar {
|
||||||
|
archiveBaseName.set("async")
|
||||||
|
archiveClassifier.set("")
|
||||||
|
mergeServiceFiles()
|
||||||
|
}
|
||||||
|
// Regular jar stays enabled so composite builds (examples/) can consume project(":dist") directly.
|
||||||
|
build { dependsOn(shadowJar) }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user