Commit Graph

333 Commits

Author SHA1 Message Date
Bukkit/Spigot
2e1a3720cf SPIGOT-6502: Loading a class from a library of another plugin resulted in a ClassCastException.
By: blablubbabc <lukas@wirsindwir.de>
2021-06-11 14:00:18 +10:00
Bukkit/Spigot
24bab712b3 #615: Calculate the reachable nodes only once per transitive dependency check.
By: blablubbabc <lukas@wirsindwir.de>
2021-06-05 08:09:50 +10:00
Bukkit/Spigot
66af0a3e3c SPIGOT-5345: Add automatic library support
Example plugin.yml usage:
```
    libraries:
      - com.squareup.okhttp3:okhttp:4.9.0
```

Libraries will only be accessible to plugins and their transitive depends, allowing for multiple versions of the same library to be used by different plugins.

This feature is modeled on the parallel BungeeCord feature and intends to offer the same behaviour.
Although this is a preview feature, major changes to behaviour are not expected at this point.

With the exception of the issues described in SPIGOT-6419 it is not expected that this feature alters classloading behaviour, although some changes may be unavoidable.

By: md_5 <git@md-5.net>
2021-05-15 09:04:53 +10:00
Bukkit/Spigot
19b6eb1dda #587: Fix various javadoc typos
By: Matthew Sanders <msanders5984@gmail.com>
2021-02-22 19:36:26 +11:00
Bukkit/Spigot
4e44fa11b3 #525: Add contributors plugin.yml field.
Unlike "authors", names listed under the "contributors" field will not be named when AuthorNagExceptions are thrown. This makes a clear distinction between authorship and contributors as most contributions do not warrant the status of "author".

By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-07-22 18:17:07 +10:00
Bukkit/Spigot
09c7575189 SPIGOT-5783: Add helpful info to UnknownDependencyException
By: md_5 <git@md-5.net>
2020-06-17 18:50:45 +10:00
Bukkit/Spigot
ee3885052d SPIGOT-5681: Increase max plugin channel size
By: md_5 <git@md-5.net>
2020-04-22 11:52:43 +10:00
Bukkit/Spigot
aec6ad036b #474: Add ability to set other plugin names as provided API so others can still depend on it
By: Phoenix616 <mail@moep.tv>
2020-03-15 18:59:32 +11:00
Bukkit/Spigot
e18807dc04 No longer necessary to synchronize sync events
By: md_5 <git@md-5.net>
2020-01-29 09:23:40 +11:00
Bukkit/Spigot
d962970177 Improve dependency tracker
By: md_5 <git@md-5.net>
2020-01-28 13:36:39 +11:00
Bukkit/Spigot
99378a8c91 Add support for transitive depends in load access warning
By: md_5 <git@md-5.net>
2020-01-28 12:43:25 +11:00
Bukkit/Spigot
109958b9e6 SPIGOT-5548: Show error that hints towards plugins misusing reflection
By: md_5 <git@md-5.net>
2020-01-28 08:46:14 +11:00
Bukkit/Spigot
ffa5a5dba7 SPIGOT-5546: Fix bad depend access using wrong provider in message
Also limit to once per plugin/provider pair

By: md_5 <git@md-5.net>
2020-01-27 16:46:29 +11:00
Bukkit/Spigot
0fc1ae9b1c Fix buggy classloader warning triggering for all classes
By: md_5 <git@md-5.net>
2020-01-27 10:58:39 +11:00
Bukkit/Spigot
fe8b567ad1 Print warning when loading classes from depends that have not been specified
By: md_5 <git@md-5.net>
2020-01-26 12:40:56 +11:00
Bukkit/Spigot
750cc90cb7 Fix bug where disablePlugin could remove ConfigurationSerializable classes from other plugins
By: md_5 <git@md-5.net>
2020-01-26 12:42:25 +11:00
Bukkit/Spigot
0c53c95293 Add additional checkstyle checks
By: md_5 <git@md-5.net>
2020-01-24 17:37:30 +11:00
Bukkit/Spigot
eb28d87c9f SPIGOT-5525: saveResource saves files from server jars
By: md_5 <git@md-5.net>
2020-01-20 16:16:46 +11:00
Bukkit/Spigot
d16413b877 Javadoc improvements per checkstyle
By: md_5 <git@md-5.net>
2019-12-22 09:56:28 +11:00
Bukkit/Spigot
7bfc0554c2 Add Plugin Chunk Ticket API
Allows plugins to force certain chunks to be kept loaded for as long as they are enabled.

By: Spottedleaf <Spottedleaf@users.noreply.github.com>
2019-07-08 12:14:29 +10:00
Bukkit/Spigot
82854b7bd7 Add Override annotations where appropriate
By: md_5 <git@md-5.net>
2019-04-28 11:37:52 +10:00
Bukkit/Spigot
e9ae9842f0 Apply and enforce import ordering rules
By: md_5 <git@md-5.net>
2019-04-23 14:33:57 +10:00
Bukkit/Spigot
c240b58f66 Begin implementation of CheckStyle style checking
By: md_5 <git@md-5.net>
2019-04-23 14:00:20 +10:00
Bukkit/Spigot
30a442aef7 Update to Minecraft 1.14-pre5
By: md_5 <git@md-5.net>
2019-04-23 12:00:00 +10:00
Bukkit/Spigot
416c865476 SPIGOT-2540: Add nullability annotations to entire Bukkit API
By: Darkyenus <darkyenus@gmail.com>
2019-03-13 17:42:57 +11:00
Bukkit/Spigot
90b6068b6b Apply default permissions by registration order.
When permissibles recalculate their permissions they set the default permission values in the order as the default permissions are provided by the plugin manager.

This order is currently arbitrary and can even change depending on the number of buckets of the underlying hashset which stores those default permissions.

When a plugin defines default permissions inside its plugin.yml (eg. permission 'A' with default value 'true') and a server admin defines different default values for these permissions inside the permissions.yml (eg. permission 'myDefaultPerms' with default value 'true' and with child 'A' set to 'false'), then the outcome will depend on the order in which those default permissions (and their childs) get evaluated inside PermissableBase#recalculatePermissions().
The permission which gets processed last will overwrite the permission value of 'A' according to its definition. Since this order is arbitrary and inconsistent, the server admin will experience weird behavior with his defined default permissions sometimes working and sometimes not.

By: blablubbabc <lukas@wirsindwir.de>
2019-02-17 17:06:31 +01:00
Bukkit/Spigot
2f1a805931 Ease ClassLoader Deadlocks Where Possible
With Java 7 we can register the classloader as parallel capable to prevent deadlocks caused by certain scenarios. Due to the nature of PluginClassLoader this isn't completely safe, but we can make it safer by switching to concurrency focused collections. Either way this is far better than crashing the server.

By: md_5 <git@md-5.net>
2018-12-26 08:00:00 +11:00
Bukkit/Spigot
66cea125d6 Minor cosmetic cleanups to imports etc
Please see https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/pull-requests/389/overview

By: Parker Hawke <hawkeboyz2@hotmail.com>
2018-10-27 14:55:52 -04:00
Bukkit/Spigot
017a3c55d7 SPIGOT-4439: Allow minecraft:brand channel for use by plugins.
By: md_5 <git@md-5.net>
2018-10-25 20:38:53 +11:00
Bukkit/Spigot
88399f1f47 Include the plugin channel name in the exception message
By: Phoenix616 <mail@moep.tv>
2018-09-13 21:24:09 +01:00
Bukkit/Spigot
a5e572dd9e Let JavaPlugins use their own Logger implementation by overriding getLogger
By: Senmori <thesenmori@gmail.com>
2018-08-28 22:22:21 -04:00
Bukkit/Spigot
f3f25a351f Include class path in legacy conversion errors.
By: md_5 <git@md-5.net>
2018-07-30 09:18:55 +10:00
Bukkit/Spigot
246fed61ca Throw CNFE if we have an error processing plugin classes
By: md_5 <git@md-5.net>
2018-07-29 22:05:16 +10:00
Bukkit/Spigot
335202751d Remove redundant try/catch loading api-version
By: md_5 <git@md-5.net>
2018-07-15 22:38:15 +10:00
Bukkit/Spigot
767e4f6ccf Update to Minecraft 1.13-pre7
By: md_5 <git@md-5.net>
2018-07-15 10:00:00 +10:00
Bukkit/Spigot
0bea165ff0 SPIGOT-3988: Error on manually constructed PluginDescriptionFile
By: md_5 <git@md-5.net>
2018-07-07 09:21:17 +10:00
Bukkit/Spigot
70727107ce Fix some additional documentation typos
Thanks mrfloris

By: md_5 <git@md-5.net>
2018-01-15 12:53:01 +11:00
Bukkit/Spigot
a598aa855b Be more resilient to asynchronous package loads like URLClassLoader
By: md_5 <git@md-5.net>
2018-01-03 15:43:47 +11:00
Bukkit/Spigot
020876f38e SPIGOT-3723: Delegate PluginClassLoader back to parent
By: md_5 <git@md-5.net>
2017-12-30 07:00:16 +11:00
Bukkit/Spigot
6c92a5d111 Throw ClassNotFoundException without delegation
By: md_5 <git@md-5.net>
2017-12-29 14:06:56 +11:00
Bukkit/Spigot
a36a08cdd0 SPIGOT-3721: Plugins without manifests no longer load
By: md_5 <git@md-5.net>
2017-12-28 20:29:58 +11:00
Bukkit/Spigot
1e918108e3 Backport some PluginClassLoader changes for soak testing.
By: md_5 <git@md-5.net>
2017-12-28 14:49:21 +11:00
Bukkit/Spigot
5f4b9e502d Catch exceptions per plugin in PluginMessage handling
By: md_5 <git@md-5.net>
2017-11-10 10:47:12 +11:00
Bukkit/Spigot
417599c2ab Some minor improvements from static analysis
By: md_5 <git@md-5.net>
2017-11-07 17:28:28 +11:00
Bukkit/Spigot
e3d4acc303 Assorted whitespace fixes
By: md_5 <git@md-5.net>
2017-08-06 09:08:05 +10:00
Bukkit/Spigot
46c820e747 SPIGOT-3409: Improve performance of registering stupid amounts of permissions in plugin.yml
By: md_5 <git@md-5.net>
2017-07-10 21:05:39 +10:00
Bukkit/Spigot
331d059798 Remove outdated Javadoc / examples concerning database support
By: md_5 <git@md-5.net>
2017-05-15 21:42:28 +10:00
Bukkit/Spigot
05d2efaa86 Remove ability to load plugins with spaces in their name.
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
Bukkit/Spigot
158afaffeb Remove Ebean ORM
By: md_5 <git@md-5.net>
2017-05-14 12:00:00 +10:00
Bukkit/Spigot
816701f233 Warn about removal of ability to load plugins with spaces in Minecraft 1.12
By: md_5 <git@md-5.net>
2017-04-21 17:23:49 +10:00