Commit Graph

5 Commits

Author SHA1 Message Date
Tor Norbye
b6b7487e23 Bug 17782530: Annotations using retention policy source remain in .class
Change-Id: I763e99c243d85406162e3b898fe1e5af8c216173
2014-10-06 16:21:36 -07:00
Tor Norbye
0eac39db90 17782530: Annotations using retention policy source remain in .class
Change-Id: Ia62e0d6ef5024515567be6564197e723f0013ee0
2014-10-04 18:49:35 +00:00
Tor Norbye
5b47af05d5 Re-enable typedef stripping
Change-Id: I128b06209223dfc79dc94645847f32df4cd11b1b
2013-09-21 12:37:44 -07:00
Tor Norbye
784abcfaf1 Temporarily disable removing typedefs
Change-Id: Ief7cb3b570d2b36b7101f622ab77cbdf7d699e3e
2013-09-12 17:09:59 -07:00
Tor Norbye
11835f7fcb Add typedef removal tool
The rmtypedefs tool is inteded only for the Android build itself.

It is given a set of .class file folders, and it finds any .class
files within those folders that correspond to "typedef annotations":
these are annotation classes that themselves have been annotated with
@IntDef or @StringDef. These typedefs should all be using
@Retention(RetentionPolicy.SOURCE), something this tool will check and
report if not the case.

However, even if an annotation only has source level retention, the
annotation class *itself*, will still be created as a .class file.  We
don't want these annotations in the Android system image, so this tool
is used to find and nuke the corresponding .class files for the
annotations themselves.

Change-Id: Ia343cc5bdbf215ded24b4354f3d92f5a9076eae3
2013-08-13 14:56:13 -07:00