Loading mechanism for optional libs (rhino, etc) #2692
Labels
status:accepted
Will be fixed / added to WorldEdit, eventually
type:tech-debt
Task for cleaning up tech debt that has accumulated in the code base
The Problem
Optional dependencies, such as truezip, truevfs, and the rhino runtime, are clunky to install for users and don't have platform parity or consistency at the moment.
Currently:
A Solution
Platform-parity: We shouldn't require different installations for bukkit and modded platforms.
User-friendliness: We should either use automated library loading features (exists on spigot/paper, might need to rig something up on mod platforms?) or shadow the libraries (but this causes bloat, especially for things very rarely used).
In theory, we can continue to bundle for NF/Fabric and use the library loader for Spigot/Paper for rhino to avoid increasing the bukkit jar size, but this would only help for rhino.
One more thing to note is that Paper does allow loading libraries at runtime (see #2691 (comment)), so when we drop spigot support that would also allow better control over library loading, as opposed to loading all optional libs even when unused.
Alternatives
No response
Anything Else?
No response
The text was updated successfully, but these errors were encountered: