This repository has been archived by the owner on Oct 18, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 322
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
150 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -97,4 +97,3 @@ lint/tmp/ | |
|
||
# Proguard files | ||
dictionary.txt | ||
proguard-rules.pro |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
-ignorewarnings | ||
|
||
-dontwarn ** | ||
-dontnote ** | ||
-dontobfuscate | ||
|
||
-keep class javax.** { *; } | ||
-keep class jdkx.** { *; } | ||
|
||
# keep javac classes | ||
-keep class openjdk.** { *; } | ||
|
||
# Android builder model interfaces | ||
-keep class com.android.** { *; } | ||
|
||
# Tooling API classes | ||
-keep class com.itsaky.androidide.tooling.** { *; } | ||
|
||
# Builder model implementations | ||
-keep class com.itsaky.androidide.builder.model.** { *; } | ||
|
||
# Eclipse | ||
-keep class org.eclipse.** { *; } | ||
|
||
# JAXP | ||
-keep class jaxp.** { *; } | ||
-keep class org.w3c.** { *; } | ||
-keep class org.xml.** { *; } | ||
|
||
# Services | ||
-keep @com.google.auto.service.AutoService class ** { | ||
} | ||
-keepclassmembers class ** { | ||
@com.google.auto.service.AutoService <methods>; | ||
} | ||
|
||
# EventBus | ||
-keepclassmembers class ** { | ||
@org.greenrobot.eventbus.Subscribe <methods>; | ||
} | ||
-keep enum org.greenrobot.eventbus.ThreadMode { *; } | ||
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { | ||
<init>(java.lang.Throwable); | ||
} | ||
|
||
# Accessed reflectively | ||
-keep class io.github.rosemoe.sora.widget.component.EditorAutoCompletion { | ||
io.github.rosemoe.sora.widget.component.EditorCompletionAdapter adapter; | ||
int currentSelection; | ||
} | ||
-keep class com.itsaky.androidide.projects.util.StringSearch { | ||
packageName(java.nio.file.Path); | ||
} | ||
-keep class * implements org.antlr.v4.runtime.Lexer { | ||
<init>(...); | ||
} | ||
-keep class * extends com.itsaky.androidide.lsp.java.providers.completion.IJavaCompletionProvider { | ||
<init>(...); | ||
} | ||
-keep class com.itsaky.androidide.editor.api.IEditor { *; } | ||
-keep class * extends com.itsaky.androidide.inflater.IViewAdapter { *; } | ||
-keep class * extends com.itsaky.androidide.inflater.drawable.IDrawableParser { | ||
<init>(...); | ||
android.graphics.drawable.Drawable parse(); | ||
android.graphics.drawable.Drawable parseDrawable(); | ||
} | ||
-keep class com.itsaky.androidide.utils.DialogUtils { public <methods>; } | ||
|
||
# APK Metadata | ||
-keep class com.itsaky.androidide.models.ApkMetadata { *; } | ||
-keep class com.itsaky.androidide.models.ArtifactType { *; } | ||
-keep class com.itsaky.androidide.models.MetadataElement { *; } | ||
|
||
# Parcelable | ||
-keepclassmembers class * implements android.os.Parcelable { | ||
public static final android.os.Parcelable$Creator CREATOR; | ||
} | ||
|
||
# Used in preferences | ||
-keep enum org.eclipse.lemminx.dom.builder.EmptyElements { *; } | ||
-keep enum com.itsaky.androidide.xml.permissions.Permission { *; } | ||
|
||
# Lots of native methods in tree-sitter | ||
# There are some fields as well that are accessed from native field | ||
-keepclasseswithmembers class ** { | ||
native <methods>; | ||
} | ||
|
||
-keep class com.itsaky.androidide.treesitter.** { *; } | ||
|
||
# Retrofit 2 | ||
-dontwarn retrofit2.** | ||
-keep class retrofit2.** { *; } | ||
|
||
-keepclasseswithmembers class * { | ||
@retrofit2.http.* <methods>; | ||
} | ||
|
||
# OkHttp3 | ||
-keep class okhttp3.** { *; } | ||
-keep interface okhttp3.** { *; } | ||
-dontwarn okhttp3.** | ||
|
||
# Stat uploader | ||
-keep class com.itsaky.androidide.stats.** { *; } | ||
|
||
# Gson | ||
-keep class * extends com.google.gson.TypeAdapter | ||
-keep class * implements com.google.gson.TypeAdapterFactory | ||
-keep class * implements com.google.gson.JsonSerializer | ||
-keep class * implements com.google.gson.JsonDeserializer | ||
|
||
-keepclassmembers,allowobfuscation class * { | ||
@com.google.gson.annotations.SerializedName <fields>; | ||
} | ||
|
||
## Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. | ||
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken | ||
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken | ||
|
||
## Themes | ||
-keep enum com.itsaky.androidide.ui.themes.IDETheme { | ||
*; | ||
} | ||
|
||
## Contributor models - deserialized with GSON | ||
-keep class * implements com.itsaky.androidide.contributors.Contributor { | ||
*; | ||
} | ||
|
||
# Suppress wissing class warnings | ||
## These are used in annotation processing process in the Java Compiler | ||
-dontwarn sun.reflect.annotation.AnnotationParser | ||
-dontwarn sun.reflect.annotation.AnnotationType | ||
-dontwarn sun.reflect.annotation.EnumConstantNotPresentExceptionProxy | ||
-dontwarn sun.reflect.annotation.ExceptionProxy | ||
|
||
## Used in Logback. We do not need this though. | ||
-dontwarn jakarta.servlet.ServletContainerInitializer | ||
|
||
## These are used in JGit | ||
## TODO(itsaky): Verify if it is safe to ignore these warnings | ||
-dontwarn java.lang.ProcessHandle | ||
-dontwarn java.lang.management.ManagementFactory | ||
-dontwarn org.ietf.jgss.GSSContext | ||
-dontwarn org.ietf.jgss.GSSCredential | ||
-dontwarn org.ietf.jgss.GSSException | ||
-dontwarn org.ietf.jgss.GSSManager | ||
-dontwarn org.ietf.jgss.GSSName | ||
-dontwarn org.ietf.jgss.Oid |