Skip to content

Oh underneath a magic moon

Compare
Choose a tag to compare
@Pante Pante released this 08 May 10:37
· 654 commits to stable since this release

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 and Argument
  • Fix aliases of commands not getting registered to the server's internal CommandMap in Root
  • Fix Literal and Argument to implement Aliasable and Mutable instead of Node
  • Fix Root#addChild(...) to throw an IllegalArgumentException if the given command does not inherit from LiteralCommandNode
  • Fix Root#register(...) and Root#wrap(...) to allow only LiteralCommandNodes instead of CommandNodes
  • Remove methods & support for Argument aliasing - it didn't make sense since arguments did not have a concrete representation
  • Remove Node interface - replaced by Alisable and Mutable

Others

  • Bump Checker-qual to 2.8.1
  • Bump Lingua Franca to 1.0.4