[MCOMPILER-203] Allow compiler-plugin to specify annotation processor dependencies (original) (raw)

Right now the status quo for annotation processor artifacts requires one of two actions:

  1. Use an external plugin for annotation processing
  2. Put the annotation processor in as a dependency with provided scope

The former is suboptimal because the external plugins are clunky and ill-supported, and inflexible/hard to use. The latter is suboptimal because it is often the case that you do not want to leak annotation processor classes on to the application class path.

It should be possible to add annotation processor dependency artifacts to the compiler plugin configuration such that they are recognized by the annotation processing search algorithm of the compiler, but they do not actually appear on the compilation class path. Ideally they would also be isolated from one another (dependency graphs and all), but that's more of a "nice to have".