From 3f857cdef17e0086c80cf4f73750b3448fca5836 Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Fri, 3 Sep 2021 09:20:22 +0100 Subject: [PATCH] KT-45777: Update keep rules for serializable classes to prevent broken serialization caused by missing fields/methods. (Without this commit, the next commit will break tests.) --- prepare/compiler/compiler.pro | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/prepare/compiler/compiler.pro b/prepare/compiler/compiler.pro index 614ac11bc66..9c889fb0b33 100644 --- a/prepare/compiler/compiler.pro +++ b/prepare/compiler/compiler.pro @@ -265,8 +265,15 @@ -keep class org.jline.terminal.impl.jna.JnaSupportImpl { *; } -keep class org.jline.terminal.impl.jansi.JansiSupportImpl { *; } +# Keep rules for serializable classes (see https://www.guardsquare.com/manual/configuration/examples#serializable) -keepclassmembers class * implements java.io.Serializable { - static final long serialVersionUID; + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + !static !transient ; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); } -dontwarn org.jetbrains.kotlin.fir.**