Add mod dependency symbol that indicated load before the dependency or optional dependency.
Posted: Mon Apr 29, 2019 10:49 am
What I'm proposing is to add a new symbol to the dependencies specification that indicates "this mod should load before the dependency or optional dependency" instead of after.
Let's call the symbol a "before" symbol, and for this example the symbol can be this: "¬" (it could be something else).
Mod A has some dependencies:
"¬ mod-b >= 0.1.1" would mean that mod B is required, but mod A should load first.
"¬? mod-b >= 0.1.5" would mean that mod B is optional, but mod A should load first.
"¬! mod-b" wouldn't change anything, it's still incompatible.
This would allow you to do things like:
Mod A requires Mod B with "¬ mod-b >= 0.1.1"
and Mod B requires Mod A with "mod-a >= 0.1.1"
The above means both mods require each other but there is no dependency loop because the agree on the order.
Also Mob B can specify an optional dependency of Mod C to make sure it loads after Mod C.
Mod C could then later decide that it needs mod A as a dependency, so inserts itself between the two mods in a way that isn't otherwise possible.
Let's call the symbol a "before" symbol, and for this example the symbol can be this: "¬" (it could be something else).
Mod A has some dependencies:
"¬ mod-b >= 0.1.1" would mean that mod B is required, but mod A should load first.
"¬? mod-b >= 0.1.5" would mean that mod B is optional, but mod A should load first.
"¬! mod-b" wouldn't change anything, it's still incompatible.
This would allow you to do things like:
Mod A requires Mod B with "¬ mod-b >= 0.1.1"
and Mod B requires Mod A with "mod-a >= 0.1.1"
The above means both mods require each other but there is no dependency loop because the agree on the order.
Also Mob B can specify an optional dependency of Mod C to make sure it loads after Mod C.
Mod C could then later decide that it needs mod A as a dependency, so inserts itself between the two mods in a way that isn't otherwise possible.