MAN-3347: Добавлены правила
This commit is contained in:
@@ -12,3 +12,4 @@
|
||||
-include rules/kotlinx_serialization.pro
|
||||
-include rules/workmanager.pro
|
||||
-include rules/navigation.pro
|
||||
-include rules/logs.pro
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Стрипаем debug-логи в release/customer-сборках через R8.
|
||||
#
|
||||
# -assumenosideeffects говорит R8, что вызов метода можно удалить, если его
|
||||
# возвращаемое значение не используется. Для Log.v/d/i и Timber.v/d/i это
|
||||
# безопасно: они возвращают Int (всегда 0) и обычно вызываются ради побочного
|
||||
# эффекта — печати в logcat.
|
||||
#
|
||||
# Log.w / Log.e и Timber.w / Timber.e СОХРАНЯЕМ — нужны для диагностики
|
||||
# проблем в проде (видно в `adb logcat`, идёт в Crashlytics через breadcrumbs).
|
||||
#
|
||||
# Дублирует и подстраховывает гард `if (BuildConfig.ENABLE_LOGS)` вокруг
|
||||
# `Timber.plant(...)` в App.kt: даже если разработчик случайно вызовет
|
||||
# `android.util.Log.d(...)` напрямую (минуя Timber) — в release этот код
|
||||
# не попадёт в APK.
|
||||
|
||||
-assumenosideeffects class android.util.Log {
|
||||
public static *** v(...);
|
||||
public static *** d(...);
|
||||
public static *** i(...);
|
||||
}
|
||||
|
||||
# Timber 5.x: статический API делегирует в companion object `Forest`,
|
||||
# плюс есть базовый класс `Tree`. Покрываем все три точки входа.
|
||||
-assumenosideeffects class timber.log.Timber {
|
||||
public static *** v(...);
|
||||
public static *** d(...);
|
||||
public static *** i(...);
|
||||
}
|
||||
|
||||
-assumenosideeffects class timber.log.Timber$Forest {
|
||||
public *** v(...);
|
||||
public *** d(...);
|
||||
public *** i(...);
|
||||
}
|
||||
|
||||
-assumenosideeffects class timber.log.Timber$Tree {
|
||||
public *** v(...);
|
||||
public *** d(...);
|
||||
public *** i(...);
|
||||
}
|
||||
Reference in New Issue
Block a user