summaryrefslogtreecommitdiff
path: root/proguard.flags
diff options
context:
space:
mode:
authorGustav Sennton <gsennton@google.com>2018-03-05 10:23:12 +0000
committerCommit Bot <commit-bot@chromium.org>2018-03-05 10:23:12 +0000
commit32d9649e35f0fd9ad15e7f071c1eda0f2d403855 (patch)
tree31c183ac4bc237e034b2d4fe13cf68f410d27aaa /proguard.flags
parent486dfe57b8b6015ab895e45e9dcf32949bc35de7 (diff)
downloadwebview_support_interfaces-32d9649e35f0fd9ad15e7f071c1eda0f2d403855.tar.gz
[android_webview] Save boundary interfaces from proguard obfuscation
We need to keep the names of all boundary interface classes and methods used by the support library and chromium to ensure their names are the same in the support library as in the WebView APK. However, utility classes in the boundary interface package can be obfuscated just fine since they are not part of the boundary interface API. Ideally then, we will put everything that is part of the boundary interface API in one specific package, and keep utility methods in a sub-package, to allow for simple proguard rules (and avoid bugs where we incorrectly keep/remove new boundary interfaces). Bug: 809471 Change-Id: I7a700fcc50998d83bf3bfa799196477289bedb3e Reviewed-on: https://chromium-review.googlesource.com/943504 Reviewed-by: agrieve <agrieve@chromium.org> Reviewed-by: Richard Coles <torne@chromium.org> Commit-Queue: Gustav Sennton <gsennton@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#540800} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0a6e992e64dcf503e038e34a0c7952172b29d9a9
Diffstat (limited to 'proguard.flags')
-rw-r--r--proguard.flags9
1 files changed, 9 insertions, 0 deletions
diff --git a/proguard.flags b/proguard.flags
new file mode 100644
index 0000000..4a0d580
--- /dev/null
+++ b/proguard.flags
@@ -0,0 +1,9 @@
+# Copyright 2018 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.
+
+# We need to avoid obfuscating the support library boundary interface because
+# this API is shared with the Android Support Library.
+# Note that we only 'keep' the package org.chromium.support_lib_boundary itself,
+# any sub-packages of that package can still be obfuscated.
+-keep public class org.chromium.support_lib_boundary.* { public *; }