Replies: 4 comments
-
There is no "too large" jar. |
Beta Was this translation helpful? Give feedback.
-
We basically have only interfaces and documentation, it's not that large. I highly doubt the size will become a problem |
Beta Was this translation helpful? Give feedback.
-
I agree with MrNemo64 - interfaces and documentation and a small plugin managing providers will not be a lot. In addition, this negates the issue I was talking about in the versioning thread - if we have multiple modules of Treasury, say we release a new Core version specifically for features required by Permissions, we would not necessarily need to release new versions of all other dependent modules. This means Permissions and Economy would provide different versions of Core, which means it's potentially unusable by plugins depending on both Permissions and Economy because there's no guarantee which version of the class would be loaded first. Having an uberjar makes everyone's lives easier except for the tiny inconvenience of the server owner who has to download and store a slightly larger file. It largely doesn't even consume more memory at runtime due to how the lazy class loader works - classes aren't loaded out of the jar file until accessed. |
Beta Was this translation helpful? Give feedback.
-
Overwhelming opinion to keep things as-is, enough so I've also jumped on the 'no' wagon here, thank you all very much for the opinions. I'll mark this as resolved since we won't change this. |
Beta Was this translation helpful? Give feedback.
-
Current votes:
Problem: Collective API Module
Edit: I don't think this is a large problem upon reflection. However, I'd still like to hear what you all think.
I believe having all APIs in a single module will cause trouble down the line. We will be limited to how many APIs we can include in Treasury, in fear of making the API archive too large.
I propose that we split each API into its own package.
I have the following module list in mind (removed modules have strike-through formatting, potential future modules have italicized formatting):
core
api/economy
api/service
api/event
api/permission
api/chat
api/region
api/vanish
platform/bukkit/plugin
platform/bungeecord/plugin
platform/velocity/plugin
platform/sponge/plugin
(will be removed in the next Treasury version)platform/bukkit/api/economy
Tagging users who may be interested: @MrIvanPlays @Jikoo @MrNemo64 @yannicklamprecht @creatorfromhell
Beta Was this translation helpful? Give feedback.
All reactions