New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add 'compatibility bundles' to allow runtime library upgrades. #879

Merged
merged 1 commit into from Mar 27, 2018

Conversation

Projects
None yet
2 participants
@smartboyathome
Contributor

smartboyathome commented Mar 25, 2018

During the review of #865, it was found that we didn't have as much control over the libraries that CraftBukkit includes and plugins may depend on. After discussion, it was decided that Glowstone needs to have some control over updating these libraries. So, after much thought, I came up with the concept of the Compatibility Bundle.

These bundles are a collection of libraries that are statically compiled into our code. These libraries will be downloaded alongside any libraries specified in the config. In order to avoid conflicts, only one compatibility bundle will be allowed to be specified. In cases where there's a conflict between the user specified libraries and the compatibility bundle, the library from the bundle will be used and a warning will be issued to the console.

Other changes included:

  • An error will be issued if a library is specified multiple times in the libraries section of the config.

@mastercoms mastercoms merged commit ec59a98 into GlowstoneMC:dev Mar 27, 2018

2 checks passed

ci/circleci: build Your tests passed on CircleCI!
Details
license/cla Contributor License Agreement is signed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment