chore(-) : Update proguard for release

This commit is contained in:
Louis Legrand 2025-02-17 16:40:57 +01:00
parent ad08a4325f
commit 4276adaf22
10 changed files with 172 additions and 14 deletions

12
Jenkinsfile vendored
View File

@ -2,15 +2,15 @@ library "openiumpipeline"
openiumDroidJob modules: [
"consentium": [
testTasks: [],
unitTestTasks: [],
unitTestTasks: ["testDevDebugUnitTest"],
],
"consentium-ui": [
testTasks: [],
unitTestTasks: [],
unitTestTasks: ["testDevDebugUnitTest"],
],
"app": [
testTasks: [],
unitTestTasks: [],
unitTestTasks: ["testDevDebugUnitTest"],
testTasks: ["pixel5DevDebugAndroidTest"],
publishApkVariants : ["devRelease", "demoRelease", "prodRelease"],
],
]
publishChannel: '#int-consentium'

View File

@ -1,6 +1,7 @@
import org.gradle.language.nativeplatform.internal.BuildType
import java.io.FileInputStream
import java.util.Properties
import com.android.build.api.dsl.ManagedVirtualDevice
plugins {
alias(libs.plugins.ksp)
@ -48,6 +49,7 @@ android {
buildTypes {
debug {
isMinifyEnabled = false
isShrinkResources = false
versionNameSuffix = "-debug"
applicationIdSuffix = ".debug"
@ -91,6 +93,19 @@ android {
buildFeatures {
compose = true
}
testOptions {
animationsDisabled = true
managedDevices {
devices {
create<ManagedVirtualDevice>("pixel5") {
device = "Pixel 5"
apiLevel = 34
systemImageSource = "google"
}
}
}
}
}
dependencies {

View File

@ -19,12 +19,26 @@ android {
}
buildTypes {
release {
debug {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
consumerProguardFiles("proguard-rules.pro")
}
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
consumerProguardFiles("proguard-rules.pro")
}
}

View File

@ -18,4 +18,56 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile
-dontwarn fr.openium.consentium.data.di.ConsentiumUrl
-dontwarn fr.openium.consentium.data.di.OkHttpClientDefault
-dontwarn java.lang.invoke.StringConcatFactory
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception
-keep class com.google.firebase.crashlytics.** { *; }
-dontwarn com.google.firebase.crashlytics.**
# Keep enums
-keep public enum fr.openium.consentium.**{
*;
}
# Garder les annotations de Kotlin
-keepattributes *Annotation*
# Garder les classes et les membres annotés avec @Keep
-keep @androidx.annotation.Keep class * { *; }
-keepclassmembers class ** {
@androidx.annotation.Keep *;
}
# Garder les classes et les membres annotés avec @Serializable
-keep @kotlinx.serialization.Serializable class * { *; }
-keepclassmembers class ** {
@kotlinx.serialization.Serializable *;
}
# Garder les classes annotées avec @HiltAndroidApp
-keep @dagger.hilt.android.HiltAndroidApp class * { *; }
# Garder les classes et les membres pour Timber
-keep class timber.log.Timber { *; }
-keep interface timber.log.Timber$Tree { *; }
-keep public enum fr.openium.consentium_ui.ui.model.ConsentiumPageUI
-keepclassmembers enum fr.openium.consentium_ui.ui.model.ConsentiumPageUI {
<fields>;
}
-keep class fr.openium.consentium_ui.data.** { *; }
-keep class fr.openium.consentium_ui.domain.repository.** { *; }
-keep class fr.openium.consentium_ui.domain.usecase.** { *; }
-keep class fr.openium.consentium_ui.ui.** { *; }
-keepclassmembers class fr.openium.consentium_ui.data.** { *; }
-keepclassmembers class fr.openium.consentium_ui.domain.repository.** { *; }
-keepclassmembers class fr.openium.consentium_ui.domain.usecase.** { *; }
-keepclassmembers class fr.openium.consentium_ui.ui.** { *; }

View File

@ -20,11 +20,14 @@ android {
buildTypes {
debug {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
consumerProguardFiles("proguard-rules.pro")
}
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
consumerProguardFiles("proguard-rules.pro")
}
}

View File

@ -18,4 +18,42 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#-renamesourcefileattribute SourceFile
-dontwarn java.lang.invoke.StringConcatFactory
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception
-keep class com.google.firebase.crashlytics.** { *; }
-dontwarn com.google.firebase.crashlytics.**
# Keep enums
-keep public enum fr.openium.consentium.**{
*;
}
# Garder les annotations de Kotlin
-keepattributes *Annotation*
# Garder les classes et les membres annotés avec @Keep
-keep @androidx.annotation.Keep class * { *; }
-keepclassmembers class ** {
@androidx.annotation.Keep *;
}
# Garder les classes et les membres annotés avec @Serializable
-keep @kotlinx.serialization.Serializable class * { *; }
-keepclassmembers class ** {
@kotlinx.serialization.Serializable *;
}
# Garder les classes annotées avec @HiltAndroidApp
-keep @dagger.hilt.android.HiltAndroidApp class * { *; }
# Garder les classes et les membres pour Timber
-keep class timber.log.Timber { *; }
-keep interface timber.log.Timber$Tree { *; }
-keep class fr.openium.consentium.** { *; }
-keepclassmembers class fr.openium.consentium.** { *; }

View File

@ -0,0 +1,37 @@
package fr.openium.consentium
import android.content.Context
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import fr.openium.consentium.data.di.ConsentiumUrl
import fr.openium.consentium.data.di.NetworkModule
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import timber.log.Timber
@Module
@InstallIn(SingletonComponent::class)
class DevNetworkModule {
@Provides
fun provideOkHttpBuilder(
@ApplicationContext context: Context,
): OkHttpClient.Builder =
NetworkModule.standardOkHttpBuilder(context)
.addNetworkInterceptor(HttpLoggingInterceptor { message ->
Timber.tag("OkHttp")
Timber.v(message)
}.apply {
level = HttpLoggingInterceptor.Level.BODY
})
@ConsentiumUrl
@Provides
fun okHttpUrlConsentium(@ApplicationContext context: Context): HttpUrl =
"https://www.exemple.com".toHttpUrl()
}

View File

@ -16,7 +16,7 @@ import timber.log.Timber
@Module
@InstallIn(SingletonComponent::class)
class ConsentiumDebugNetworkModule {
class DevNetworkModule {
@Provides
fun provideOkHttpBuilder(

View File

@ -43,7 +43,7 @@ junitExtVersion = "1.2.1"
preferencesDataStore = "1.1.1"
# Plugins
agp = "8.7.3"
agp = "8.8.1"
kotlin = "2.0.0"
ksp = "2.0.0-1.0.24"
junitVersion = "1.2.1"
@ -65,7 +65,6 @@ clarityVersion = "1.3.2"
# Coil
coil = "3.0.4"
# GA4
ga4 = "22.1.2"
runtimeAndroid = "1.7.6"

View File

@ -1,6 +1,6 @@
#Mon Dec 09 14:35:54 CET 2024
#Mon Feb 17 11:35:23 CET 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists