Oh underneath a magic moon
This update focuses mainly on providing annotations from which a CommandNode
can be created. In addition, several annotation processors that perform static analysis on the annotations are also included.
Big Ol' list of changes:
Annotations
- Add
AnnotationProcessor
- Add Element filters
Commons
- Add annotations from which commands can be derived
- Add annotation processors that perform static analysis on the annotations from which commands are derived
- Add
Alisable
interface - Add
Mutable
interface - Add
Commands#from(...)
to create commands from annotated objects - Add
Literal.Builder#then(annotated, name)
- Add varargs overload to
Literal.Builder#aliases(...)
- Fix aliases of children not getting added in
Literal
andArgument
- Fix aliases of commands not getting registered to the server's internal
CommandMap
inRoot
- Fix
Literal
andArgument
to implementAliasable
andMutable
instead ofNode
- Fix
Root#addChild(...)
to throw anIllegalArgumentException
if the given command does not inherit fromLiteralCommandNode
- Fix
Root#register(...)
andRoot#wrap(...)
to allow onlyLiteralCommandNode
s instead ofCommandNode
s - Remove methods & support for Argument aliasing - it didn't make sense since arguments did not have a concrete representation
- Remove
Node
interface - replaced byAlisable
andMutable
Others
- Bump Checker-qual to 2.8.1
- Bump Lingua Franca to 1.0.4