Clone
Ian Kerins <ianskerins@gmail.com>
committed
on 03 Mar 19
Support resource creation in incremental annotation processors
Allow resources to be created by incremental annotation processors using
`Fil… Show more
Support resource creation in incremental annotation processors

Allow resources to be created by incremental annotation processors using

`Filer#createResource`.  Allow resources to be created in the three currently

existing output locations on `StandardLocation`: `SOURCE_OUTPUT`,

`CLASS_OUTPUT`, and `NATIVE_HEADER_OUTPUT`.

A generated resource is uniquely identified by its `Location` and its path

relative to that `Location`.  A new type `GeneratedResource` is created to that

effect.  Data of that type is then plumbed through the existing annotation

processing infrastructure, ultimately reaching

`IncrementalCompilationInitializer` so that cleaning may be done.

Resolves #4702.

Signed-off-by: Ian Kerins <ianskerins@gmail.com>

Show less

master + 390 more