OSDN Git Service

Use class retention for VisibleForTesting annotations
authorColin Cross <ccross@android.com>
Fri, 4 Aug 2017 23:39:05 +0000 (16:39 -0700)
committerColin Cross <ccross@android.com>
Mon, 7 Aug 2017 18:07:15 +0000 (11:07 -0700)
commit5be3cbad273a3512385ec3bde4d95a07100ff460
tree1d18e9de9a238e9eb82024000cae7b8ad8aae30b
parent935e0c996a7899bbe3ccbc0a1c166af576cca58c
Use class retention for VisibleForTesting annotations

The VisibleForTesting annotations are used by proguard to prevent
stripping code that is needed at runtime for tests.  The annotations
were marked with source retention, which worked fine with Jack's
proguard implementation.  When we switched back to javac + proguard,
the VisibleForTesting annotations are gone by the time proguard
sees the classes, so the annotated classes and methods can still
be stripped.

Move the VisibleForTesting annotation to class retention, which
matches guava's equivalent annotation.

Bug: 64365384
Test: m -j MtpDocumentsProvider &&
      javap -cp out/target/common/obj/APPS/MtpDocumentsProvider_intermediates/classes-proguard.jar com.android.mtp.MtpRoot

Change-Id: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
Merged-In: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
(cherry picked from commit 8e846143ddc285117d391561de7abd670078d27f)
core/java/com/android/internal/annotations/VisibleForTesting.java