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