Home | History | Annotate | Download | only in guava
      1 # Copyright 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 -keep class com.google.common.base.** {
      6   *;
      7 }
      8 
      9 -keep class com.google.common.annotations.** {
     10   *;
     11 }
     12 
     13 -keepattributes Signature
     14 
     15 # Don't complain about usage of sun.misc.Unsafe. Guava imports this,
     16 # but does not use it unless it exists.
     17 # The gyp-target that uses this is guava.gyp:guava_javalib.
     18 -dontwarn sun.misc.Unsafe
     19 # Striped64 uses reflection to access some local fields.
     20 -dontnote com.google.common.cache.Striped64
     21 -dontnote com.google.common.cache.Striped64$Cell
     22 
     23 # Keep all enum values and valueOf methods. See
     24 # http://proguard.sourceforge.net/index.html#manual/examples.html
     25 # for the reason for this. Also, see http://crbug.com/248037.
     26 -keepclassmembers enum * {
     27     public static **[] values();
     28     public static ** valueOf(java.lang.String);
     29 }
     30 
     31 # Keep finalizer stuff from google-common used via reflection
     32 -keepclassmembers class com.google.common.** {
     33   *** finalizeReferent();
     34 }
     35 -keepclassmembers class com.google.common.** {
     36   *** startFinalizer(java.lang.Class,java.lang.Object);
     37 }
     38