Open lukebemish opened 2 years ago
I don't think QMJ supports multiple overlapping version constraints at the moment - neither with spaces or any other method. (the relevant part of the spec is here: https://github.com/QuiltMC/rfcs/blob/main/specification/0002-quilt.mod.json.md#the-versions-field)
That links here: https://devhints.io/semver. I had also been told on discord that it did; if that is inaccurate, then what is the proper way to specify bounded version ranges? i.e, "less than this one and more than this". If there isn't currently any way to do that, I can look into what it would take to add that.
A quick workaround is to use ~0.17.0
, which means the same thing as your example
In this example, yes. But, say, less than 0.18.5
and more than 0.17.0
? That solution is not very flexible. If there is no way at present to do this, I'll look into making a PR
I started to suggest a change to fix this - https://github.com/QuiltMC/rfcs/pull/56 - but that link wasn't present in the original spec -_-
Additionally, this: https://github.com/QuiltMC/quilt-loader/blob/develop/src/main/java/org/quiltmc/loader/impl/util/version/VersionPredicateParser.java would seem to imply that some sort of space-separating parsing, or at least the infrastructure for it, already exists.
That's for fabric.mod.json
To be clear: you're not wrong - this is functionality we should have, but I've not worked on actually implementing this yet.
Yes, I am aware. My point is, basically: the infrastructure for parsing versions of this sort is already present, though currently it is used only for fabric.mod.json
and not for quilt.mod.json
.
Space separated version ranges for defining dependency version bounds in quilt.mod.json do not work. For instance, taking the quilt template mod and replacing the quilt-loader version requirements in quilt.mod.json with
"versions": ">=0.17.0 <0.18.0"
causes a ModSolvingException: