This is the first part of the introduction of annotation processing to cloud. A new `@CommandContainer` annotation has been introduced, which can be placed on classes to have the annotation parser automatically construct & parse the classes when `AnnotationParser.parseContainers()` is invoked.
A future PR will introduce another processor that will scan for `@CommandMethod` annotations and verify the integrity of the annotated methods (visibility, argument annotations, etc.).
adds a system for processing strings found in annotations before they're used by AnnotationParser
implements #347
Also, because we're using "-Werror", the code won't actually build (and thus tests won't work) using JDK18. To remedy this, a bunch of @SuppressWarnings("serial")s has been added to the exceptions. We don't serialize exceptions, and they're in fact non-serializable because of their members, so this is the appropriate solution (well, the better solution would be to make them serializable, but that's outside the scope of this PR).
* build: switch to spotless
add in some other basic formatting steps that allow for easy
auto-correction
* build: lint text files as well
* chore: remove license headers from package-info files
spotless can't verify these
This also changes CommandExecutionHandler to return futures instead. The old method is still supported, and the new future-returning method will delegate to the old non-returning method.
* fabric: Update Loom to 0.7-SNAPSHOT
* Update to Gradle 7
Switch to CadixDev/licenser
The plugin we were using before does not support Gradle 7, and hasn't been updated in over a year.
* Remove `jcenter()` references
* Move to new JDA repo and bump version
* Use setup-java v2 and Adopt JDK 16 in gh actions
* build: Temporarily add Incendo repo for plugin resolution
Allows building until licenser has a new release
* Import indra plugin classes instead of string applies
* remove space
Co-authored-by: broccolai <me@broccol.ai>
* ✨ Add a new caption system to allow for the configuration of…
* ✨ Add caption support to all numerical types
* Add more standard pasres to the registry
* Add default messages for captions
* ✨ Improve captions in core
* Add captions for Bukkit
* ✨ Add FactoryDelegatingCaptionRegistry.java