Chris Craik | cecc57f | 2024-03-05 16:46:59 -0800 | [diff] [blame] | 1 | ## These rules enable microbenchmarking from a minified test, as an experimental feature |
| 2 | |
Chris Craik | 23c069d4 | 2024-05-13 15:35:58 -0700 | [diff] [blame] | 3 | # Custom JNI registration, so entire class must be kept |
| 4 | -keepclasseswithmembers class androidx.benchmark.BlackHole { *; } |
| 5 | |
Chris Craik | cecc57f | 2024-03-05 16:46:59 -0800 | [diff] [blame] | 6 | # basic protection against junit/androidx.test reflection, shouldn't affect library/test code |
| 7 | -keepclasseswithmembers class androidx.test.** { *; } |
| 8 | -keepclasseswithmembers class org.junit.** { *; } |
| 9 | -keepclasseswithmembers class junit.** { *; } |
| 10 | -dontwarn com.google.errorprone.annotations.MustBeClosed |
Chris Craik | 94a0e98 | 2024-05-06 15:12:42 -0700 | [diff] [blame] | 11 | -dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue |
Chris Craik | cecc57f | 2024-03-05 16:46:59 -0800 | [diff] [blame] | 12 | |
| 13 | ## keep test classes |
| 14 | -keepclasseswithmembers @org.junit.runner.RunWith class * { *; } |
| 15 | |
| 16 | ## needed for org.junit.Test annotation to be discoverable by reflection |
| 17 | -keepattributes *Annotation* |
| 18 | |
Chris Craik | 94a0e98 | 2024-05-06 15:12:42 -0700 | [diff] [blame] | 19 | ## needed for listeners instantiated by reflection (e.g. InstrumentationResultsRunListener) |
| 20 | -keepclasseswithmembers class * extends androidx.test.internal.runner.listener.InstrumentationRunListener { *; } |
Chris Craik | ef02fd5 | 2024-08-26 16:06:43 -0700 | [diff] [blame] | 21 | -keepclasseswithmembers class * extends org.junit.runner.notification.RunListener { *; } |
Chris Craik | 94a0e98 | 2024-05-06 15:12:42 -0700 | [diff] [blame] | 22 | |
Chris Craik | cecc57f | 2024-03-05 16:46:59 -0800 | [diff] [blame] | 23 | ## Needed due to b/328649293 - shouldn't be needed since they're ref'd by manifest |
| 24 | ## May need to leave these in place long term to account for old gradle versions |
| 25 | -keepclasseswithmembers class androidx.benchmark.junit4.AndroidBenchmarkRunner { *; } |
| 26 | -keepclasseswithmembers class androidx.benchmark.IsolationActivity { *; } |
Chris Craik | 94a0e98 | 2024-05-06 15:12:42 -0700 | [diff] [blame] | 27 | |
| 28 | ## Needed due to b/339085669 - shouldn't be needed as they're referenced by code |
| 29 | -keepclasseswithmembers class androidx.benchmark.json.BenchmarkData$TestResult$ProfilerOutput$Type { *; } |