1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
emacs/java/proguard.conf
Po Lu b9acfd7c2b Optimize R8 configuration
* java/org/gnu/emacs/EmacsWindowManager.java (WindowConsumer):
Mark as package-local.

* java/proguard.conf: List only symbols that must be preserved,
enabling R8 to optimize the remainder.
2024-04-11 10:15:25 +08:00

53 lines
3.1 KiB
Text

# Proguard configuration files for Emacs
#
# Copyright (C) 2024 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
#
# The effect of the following lines is to inhibit the removal of variable or
# method symbol names from symbols referenced from C.
-keep,allowoptimization class org.gnu.emacs.EmacsClipboard { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsContextMenu { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsCursor { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsDesktopNotification { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsDialog { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsDirectoryEntry { <fields>; }
-keep,allowoptimization class org.gnu.emacs.EmacsFontDriver { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsFontDriver$* { <fields>; }
-keep,allowoptimization class org.gnu.emacs.EmacsGC { <methods>; <fields>; }
-keep,allowoptimization class org.gnu.emacs.EmacsHandleObject { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsPixmap { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsService { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsWindow { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsNative { <methods>; }
-keep,allowoptimization class org.gnu.emacs.EmacsNoninteractive { <methods>; }
-keep,allowoptimization interface org.gnu.emacs.EmacsDrawable { <methods>; }
# And these lines inhibit the deletion of symbols that are referenced by
# the operating system while enabling the compiler to minify or delete
# symbols only referenced internally.
-keep,allowoptimization,allowaccessmodification public class * extends android.app.Activity
-keep,allowoptimization,allowaccessmodification public class * extends android.app.Application
-keep,allowoptimization,allowaccessmodification public class * extends android.app.Service
-keep,allowoptimization,allowaccessmodification public class * extends android.content.BroadcastReceiver
-keep,allowoptimization,allowaccessmodification public class * extends android.content.ContentProvider
# Local Variables:
# truncate-lines: t
# indent-tabs-mode: nil
# End: