import org.gradle.language.nativeplatform.internal.BuildType import java.io.FileInputStream import java.util.Properties plugins { alias(libs.plugins.ksp) alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.hilt) alias(libs.plugins.serialization) } // Keystore val keystorePropertiesFile = rootProject.file("keys/keystore.properties") val keystoreProperties = Properties() keystoreProperties.load(FileInputStream(keystorePropertiesFile)) android { namespace = "fr.openium.consentium" compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { applicationId = "fr.openium.consentium" minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } signingConfigs { named(BuildType.DEBUG.name) { storeFile = file(keystoreProperties["debugStoreFile"].toString()) } register(BuildType.RELEASE.name) { storeFile = file(keystoreProperties["releaseStoreFile"].toString()) storePassword = keystoreProperties["passwordRelease"].toString() keyAlias = keystoreProperties["aliasRelease"].toString() keyPassword = keystoreProperties["passwordRelease"].toString() } } buildTypes { debug { isMinifyEnabled = false versionNameSuffix = "-debug" applicationIdSuffix = ".debug" signingConfig = signingConfigs.getByName(BuildType.DEBUG.name) } release { isMinifyEnabled = true isShrinkResources = true signingConfig = signingConfigs.getByName(BuildType.RELEASE.name) proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } flavorDimensions += "version" productFlavors { create("prod") { dimension = "version" } create("demo") { dimension = "version" } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { compose = true } } dependencies { // Internal dependencies implementation(project(":consentium")) implementation(project(":consentium-ui")) // AndroidX implementation(libs.bundles.androidx) // Lifecycle implementation(libs.androidx.lifecycle.runtime) implementation(libs.androidx.lifecycle.viewmodel) // Hilt implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.hilt.navigation.compose) implementation(libs.matomo) implementation(libs.clarity) implementation(libs.ga4) // Compose implementation(platform(libs.compose.bom)) implementation(libs.bundles.compose) // Timber implementation(libs.timber) // Compose Navigation implementation(libs.androidx.navigation.compose) // Tests testImplementation(libs.test.junit) androidTestImplementation(libs.test.junit) androidTestImplementation(libs.test.espresso) androidTestImplementation(libs.test.androidx.junit) // Kotlin serialization implementation(libs.kotlin.serialization) }