1. I'm removing @PluginDefault and instead using an additional attribute on
@PluginAttribute.
2. I'm refactoring the logic in the giant if/else-if block in PluginBuilder
to a system vaguely similar to how the Bean Validation spec works.
3. I'm updating all the places where @PluginDefault is used to use the
simpler system.
4. I've only refactored the @PluginAttribute code so far, but it's working.
I'll continue with the other @PluginAnnotations afterward.

Future work:
1. Adding support for building a plugin using a builder class instead of a
factory method.
2. Converting existing plugin factory methods to builder classes.
3. Updating the jazillion unit tests to use said builder classes (which is
actually rather nice).
4. Removing factory methods altogether (perhaps replacing
@PluginBuilderFactory with @PluginFactory).

The good thing about all this is it's more along the line of refactoring,
so it's not necessary to complete it all by 2.0. It will, however, be
useful for plugin authors to not have to fix their plugins for 2.1 again.

-- 
Matt Sicker <boa...@gmail.com>

Reply via email to