QuiltMC / quilt-loom

MIT License
22 stars 18 forks source link

Using loom.modVersion fails because it tries to find a fmj #28

Closed triphora closed 1 year ago

triphora commented 1 year ago

This appears to be a regression from Loom 1.0 -> 1.1.

Build file '/home/orchid/repos/mods/quilt_loading_screen/build.gradle' line: 10

A problem occurred evaluating root project 'quilt_loading_screen'.
> Expected main resources to contain exactly one file, however, it contains no files.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'quilt_loading_screen'.
[SNIP - useless Gradle stacktrace]
Caused by: java.lang.IllegalStateException: Expected main resources to contain exactly one file, however, it contains no files.
    at org.gradle.api.internal.file.AbstractFileCollection.getSingleFile(AbstractFileCollection.java:160)
    at net.fabricmc.loom.extension.ModVersionParser.locateModJsonFile(ModVersionParser.java:72)
    at net.fabricmc.loom.extension.ModVersionParser.getModVersion(ModVersionParser.java:51)
    at net.fabricmc.loom.extension.LoomGradleExtensionApiImpl.getModVersion(LoomGradleExtensionApiImpl.java:233)
    at net.fabricmc.loom.extension.LoomGradleExtensionImpl_Decorated.getModVersion(Unknown Source)
[SNIP - useless Gradle stacktrace]
    at net.fabricmc.loom.extension.LoomGradleExtensionImpl_Decorated.getProperty(Unknown Source)
    at build_210nxavg5bvqiz26i64po8smt.run(/home/orchid/repos/mods/quilt_loading_screen/build.gradle:10)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
    ... 177 more

Code in Loom 1.0 / Code now

As you can see, the new code expects a fabric.mod.json.

I use this to determine my mod's version. I prefer setting it in quilt.mod.json and not having to deal with processResources and all that stuff. version = "$loom.modVersion+${libs.versions.minecraft.get()}"