Java ProGuard rules

A Kotbase user reported that the documented ProGuard rules are insufficient. I noticed these changes that were made to the documentation haven’t been published. There was also a small addition to those rules that was still needed. The user reported that these rules seem to be working:

-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings

-keep class com.couchbase.lite.ConnectionStatus { <init>(...); }
-keep class com.couchbase.lite.LiteCoreException { static <methods>; }
-keep class com.couchbase.lite.internal.replicator.CBLTrustManager {
    public java.util.List checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.lang.String);
}
-keep interface com.couchbase.lite.internal.ReplicationCollection$C4Filter
-keep class com.couchbase.lite.internal.ReplicationCollection {
    static <methods>;
    <fields>;
}
-keep class com.couchbase.lite.internal.fleece.FLSliceResult {
    static <methods>;
    <fields>;
    <init>(...);
}
-keep class com.couchbase.lite.internal.core.C4* {
    static <methods>;
    <fields>;
    <init>(...);
 }

Hey Jeff!
Yes. Those are exactly the rules that should be used.
They are what should be configured in consumerProguardFiles. It looks to me, though, as if the exclusion for the static methods in FLSliceResult was missing until the most recent release, 3.2.2. Customers can, surely, use the rules you’ve shown. They should, though, need only:

-keep class com.couchbase.lite.internal.fleece.FLSliceResult {
    static <methods>;
}

Great! Thanks for confirming.