Skip to content

Commit e588945

Browse files
committed
Split apart core and integration (add-on) dependencies
1 parent 5e2ded6 commit e588945

File tree

2 files changed

+52
-34
lines changed

2 files changed

+52
-34
lines changed

build.gradle.kts

+49-33
Original file line numberDiff line numberDiff line change
@@ -16,56 +16,70 @@ java {
1616
withSourcesJar()
1717
}
1818

19+
sourceSets {
20+
main {
21+
resources.srcDir(file("src/generated/resources"))
22+
}
23+
24+
val addons = create("addons") {
25+
val main = main.get()
26+
compileClasspath += main.compileClasspath + main.output
27+
runtimeClasspath += main.runtimeClasspath + main.output
28+
}
29+
30+
create("data") {
31+
compileClasspath += addons.compileClasspath + addons.output
32+
runtimeClasspath += addons.runtimeClasspath + addons.output
33+
}
34+
}
35+
1936
dependencies {
20-
api(libs.ae2)
37+
api(core.ae2)
2138

22-
compileOnly(libs.ae2wtlibapi)
23-
runtimeOnly(libs.ae2wtlib)
39+
compileOnly(integration.ae2wtlibapi)
40+
"addonsRuntimeOnly"(integration.ae2wtlib)
2441

25-
implementation(libs.appmek)
26-
compileOnly(libs.mekanism)
27-
compileOnly(variantOf(libs.mekanism) { classifier("generators") })
28-
runtimeOnly(variantOf(libs.mekanism) { classifier("all") })
42+
compileOnly(integration.appmek)
43+
compileOnly(integration.mekanism)
44+
"addonsRuntimeOnly"(integration.appmek)
45+
"dataCompileOnly"(variantOf(integration.mekanism) { classifier("generators") })
46+
"addonsRuntimeOnly"(variantOf(integration.mekanism) { classifier("all") })
2947

30-
implementation(libs.arseng)
31-
implementation(libs.arsnouveau) { exclude("mezz.jei") }
48+
compileOnly(integration.arseng)
49+
"addonsRuntimeOnly"(integration.arseng)
3250

33-
implementation(libs.appflux)
34-
runtimeOnly(libs.glodium)
51+
@Suppress("UnstableApiUsage")
52+
"dataCompileOnly"(integration.arsnouveau) { exclude("mezz.jei") }
53+
@Suppress("UnstableApiUsage")
54+
"addonsRuntimeOnly"(integration.arsnouveau) { exclude("mezz.jei") }
3555

36-
implementation(libs.appex)
37-
runtimeOnly(libs.explib)
56+
compileOnly(integration.appflux)
57+
"addonsRuntimeOnly"(integration.appflux)
58+
"addonsRuntimeOnly"(integration.glodium)
3859

39-
implementation(libs.appliede)
40-
runtimeOnly(libs.projecte)
60+
compileOnly(integration.appex)
61+
"addonsRuntimeOnly"(integration.appex)
62+
"addonsRuntimeOnly"(integration.explib)
4163

42-
compileOnly(libs.appbot)
43-
compileOnly(libs.botania)
64+
compileOnly(integration.appliede)
65+
"addonsRuntimeOnly"(integration.appliede)
66+
"addonsRuntimeOnly"(integration.projecte)
67+
68+
compileOnly(integration.appbot)
69+
"addonsCompileOnly"(integration.botania)
4470

4571
testImplementation(testlibs.junit.jupiter)
4672
testImplementation(testlibs.assertj)
4773
testImplementation(testlibs.neoforge.test)
4874
testRuntimeOnly(testlibs.junit.platform)
4975
}
5076

51-
sourceSets {
52-
main {
53-
resources.srcDir(file("src/generated/resources"))
54-
}
55-
56-
create("data") {
57-
val main = main.get()
58-
compileClasspath += main.compileClasspath + main.output
59-
runtimeClasspath += main.runtimeClasspath + main.output
60-
}
61-
}
62-
6377
neoForge {
64-
version = libs.versions.neoforge.get()
78+
version = core.versions.neoforge.get()
6579

6680
parchment {
67-
minecraftVersion = libs.versions.minecraft.get()
68-
mappingsVersion = libs.versions.parchment.get()
81+
minecraftVersion = core.versions.minecraft.get()
82+
mappingsVersion = core.versions.parchment.get()
6983
}
7084

7185
mods {
@@ -78,11 +92,12 @@ neoForge {
7892
runs {
7993
configureEach {
8094
logLevel = org.slf4j.event.Level.DEBUG
81-
gameDirectory = file("run")
95+
sourceSet = sourceSets.getByName("addons")
8296
}
8397

8498
create("client") {
8599
client()
100+
gameDirectory = file("run/client")
86101
}
87102

88103
create("server") {
@@ -92,6 +107,7 @@ neoForge {
92107

93108
create("data") {
94109
data()
110+
gameDirectory = file("run/data")
95111
logLevel = org.slf4j.event.Level.INFO
96112
programArguments.addAll(
97113
"--mod", modId,

settings.gradle.kts

+3-1
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,17 @@ run {
8383
val maj = mc.substringAfter('.')
8484
val nf = "${maj + (if (!maj.contains('.')) ".0" else "")}.119"
8585

86-
create("libs") {
86+
create("core") {
8787
version("minecraft", mc)
8888

8989
version("neoforge", nf)
9090
version("parchment", "2024.11.17")
9191

9292
version("ae2", "19.2.5-beta")
9393
library("ae2", "org.appliedenergistics", "appliedenergistics2").versionRef("ae2")
94+
}
9495

96+
create("integration") {
9597
version("ae2wtlib", "19.2.2")
9698
library("ae2wtlib", "de.mari_023", "ae2wtlib").versionRef("ae2wtlib")
9799
library("ae2wtlibapi", "de.mari_023", "ae2wtlib_api").versionRef("ae2wtlib")

0 commit comments

Comments
 (0)