Merge "Further refine VisibleForTesting rules"
This commit is contained in:
@@ -9,14 +9,19 @@
|
|||||||
# Add this flag in your package's own configuration if it's needed.
|
# Add this flag in your package's own configuration if it's needed.
|
||||||
#-flattenpackagehierarchy
|
#-flattenpackagehierarchy
|
||||||
|
|
||||||
# Keep classes and methods that have @VisibleForTesting annotations, except in
|
# Keep classes and members with the platform-defined @VisibleForTesting annotation.
|
||||||
# intermediate libraries that export those annotations (e.g., androidx, guava).
|
-keep @com.android.internal.annotations.VisibleForTesting class *
|
||||||
# This avoids keeping library-specific test code that isn't actually needed
|
-keepclassmembers class * {
|
||||||
# for platform testing.
|
@com.android.internal.annotations.VisibleForTesting *;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keep classes and members with non-platform @VisibleForTesting annotations, but
|
||||||
|
# only within platform-defined packages. This avoids keeping external, library-specific
|
||||||
|
# test code that isn't actually needed for platform testing.
|
||||||
# TODO(b/239961360): Migrate away from androidx.annotation.VisibleForTesting
|
# TODO(b/239961360): Migrate away from androidx.annotation.VisibleForTesting
|
||||||
# and com.google.common.annotations.VisibleForTesting use in platform code.
|
# and com.google.common.annotations.VisibleForTesting use in platform code.
|
||||||
-keep @**.VisibleForTesting class !androidx.**,!com.google.common.**,*
|
-keep @**.VisibleForTesting class android.**,com.android.**,com.google.android.**
|
||||||
-keepclassmembers class !androidx.**,!com.google.common.**,* {
|
-keepclassmembers class android.**,com.android.**,com.google.android.** {
|
||||||
@**.VisibleForTesting *;
|
@**.VisibleForTesting *;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user