summaryrefslogtreecommitdiffstats
path: root/third_party/guava/proguard.flags
blob: e97f99db26bba5788d5d6efa96e993937a17887f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

-keep class com.google.common.base.** {
  *;
}

-keep class com.google.common.annotations.** {
  *;
}

-keepattributes Signature

# Don't complain about usage of sun.misc.Unsafe. Guava imports this,
# but does not use it unless it exists.
# The gyp-target that uses this is guava.gyp:guava_javalib.
-dontwarn sun.misc.Unsafe
# Striped64 uses reflection to access some local fields.
-dontnote com.google.common.cache.Striped64
-dontnote com.google.common.cache.Striped64$Cell

# Keep all enum values and valueOf methods. See
# http://proguard.sourceforge.net/index.html#manual/examples.html
# for the reason for this. Also, see http://crbug.com/248037.
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Keep finalizer stuff from google-common used via reflection
-keepclassmembers class com.google.common.** {
  *** finalizeReferent();
}
-keepclassmembers class com.google.common.** {
  *** startFinalizer(java.lang.Class,java.lang.Object);
}