# Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

-keepattributes *Annotation*

-keep class **.InterfaceUser {
  public static void main(...);
}

-keep class org.junit.** { *; }
-keep class org.mockito.** { *; }
-keep @**.RunWith class * { *; }