Skip to content

Commit fb3f1ae

Browse files
committed
build: Support integrations without data gen
1 parent d08bb23 commit fb3f1ae

File tree

11 files changed

+15
-193
lines changed

11 files changed

+15
-193
lines changed

build-logic/src/main/java/juuxel/adorn/gradle/compat/CompatExtension.java

+14-12
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,30 @@ public void registerTargetMod(String modId, String modName, boolean fabric, bool
3535
task.getArchiveClassifier().set(modId.replace('_', '-'));
3636
task.doLast(new MinifyJson());
3737
});
38+
project.getTasks().named("assemble", task -> task.dependsOn(jar));
3839

39-
var dataSettings = dataGenerator.getSettings().register(modId, settings -> {
40-
settings.getSourceSet().set(compatSourceSet);
41-
settings.getModId().set("adorn_integrations_" + modId);
42-
settings.getConfigs().register("main", config -> {
43-
config.getFiles().from("src/data/" + modId + ".xml");
40+
var dataConfig = project.file("src/data/" + modId + ".xml");
41+
boolean setupData = dataConfig.exists();
42+
43+
if (setupData) {
44+
dataGenerator.getSettings().register(modId, settings -> {
45+
settings.getSourceSet().set(compatSourceSet);
46+
settings.getModId().set("adorn_integrations_" + modId);
47+
settings.getConfigs().register("main", config -> {
48+
config.getFiles().from("src/data/" + modId + ".xml");
49+
});
4450
});
45-
});
51+
}
4652

4753
if (fabric) {
4854
project.getArtifacts().add(CompatPlugin.FABRIC_COMPAT_ARTIFACTS_CONFIGURATION, jar);
4955

5056
var generateFmj = project.getTasks().register(compatSourceSet.getTaskName("generate", "FabricModJson"), GenerateFabricModJson.class, task -> {
5157
task.getTargetModId().set(modId);
5258
task.getTargetModName().set(modName);
53-
task.getOutputFile().set(dataSettings.get().getGeneratedResources().file("fabric.mod.json"));
54-
});
55-
56-
project.afterEvaluate(p -> {
57-
generateFmj.configure(task -> task.dependsOn(compatSourceSet.getTaskName("generate", "MainData")));
58-
project.getTasks().named(compatSourceSet.getTaskName("generate", "Data"), task -> task.dependsOn(generateFmj));
59+
task.getOutputFile().set(project.getLayout().getBuildDirectory().file("mod-metadata/" + modId + "/fabric.mod.json"));
5960
});
61+
jar.configure(task -> task.from(generateFmj.flatMap(GenerateFabricModJson::getOutputFile)));
6062
}
6163

6264
if (neo) {

build-logic/src/main/java/juuxel/adorn/gradle/compat/GenerateFabricModJson.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void run() throws IOException {
4242
"id": "%s",
4343
"name": "Adorn Integrations: %s",
4444
"version": "%s",
45-
"description": "Integrates materials from %s into Adorn.",
45+
"description": "Integrates features from %s into Adorn.",
4646
"authors": ["Juuz"],
4747
"license": "MIT",
4848
"contact": {

integrations/src/biomemakeover/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/blockus/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/byg/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/cinderscapes/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/promenade/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/techreborn/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/terrestria/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/traverse/generatedResources/fabric.mod.json

-20
This file was deleted.

integrations/src/woods_and_mires/generatedResources/fabric.mod.json

-20
This file was deleted.

0 commit comments

Comments
 (0)