plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } android { compileSdkVersion buildConfig.compileSdk defaultConfig { applicationId "foundation.e.privacycentralapp" minSdkVersion buildConfig.minSdk targetSdkVersion buildConfig.targetSdk versionCode buildConfig.version.code versionName buildConfig.version.fullName testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" manifestPlaceholders = [ persistent: "false" ] resValue("string", "mapbox_key", MAPBOX_KEY) } signingConfigs { debug { storeFile rootProject.file(".sign/debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } // We use test platform keys to sign /e/OS specific debug flavour. eDebug { storeFile rootProject.file(".sign/platform.jks") storePassword "android" keyAlias "platform" keyPassword "android" } } // We define here the OS flavor e, specific for the /e/ OS version, and google, for any // android device. The e or google prefix is then used in resources, dependencies, ... as // expected by the android gradle plugin. flavorDimensions 'os' productFlavors { e29 { applicationIdSuffix '.e' dimension 'os' minSdkVersion 26 targetSdkVersion 29 } e30 { applicationIdSuffix '.e' dimension 'os' minSdkVersion 30 targetSdkVersion 30 } // google { // applicationIdSuffix '.google' // dimension 'os' // } } buildTypes { debug { signingConfig null // Set signing config to null as we use signingConfig per variant. } release { manifestPlaceholders = [ persistent: "true" ] minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } /** * Sets the output name of the variant outputs and also it setup signingConfig based on the product flavor. */ applicationVariants.all { variant -> if (variant.buildType.name == "debug") { variant.outputs.all { output -> outputFileName = "PrivacyCentral-${output.name}-${variant.versionName}.apk" } if (variant.getFlavorName() == "e29" || variant.getFlavorName() == "e30") { variant.mergedFlavor.signingConfig = signingConfigs.eDebug } else { variant.mergedFlavor.signingConfig = signingConfigs.debug } } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } aaptOptions { additionalParameters '-I', 'app/libs/e-ui-sdk-1.0.1-q.jar' } buildFeatures { dataBinding true viewBinding true } } dependencies { implementation 'androidx.work:work-runtime-ktx:2.5.0' compileOnly files('libs/e-ui-sdk-1.0.1-q.jar') implementation files('libs/lineage-sdk.jar') // include the google specific version of the modules, just for the google flavor //googleImplementation project(":privacymodulesgoogle") // include the e specific version of the modules, just for the e flavor implementation 'foundation.e:privacymodule.trackerfilter:0.5.0' implementation 'foundation.e:privacymodule.api:0.6.0' e29Implementation 'foundation.e:privacymodule.e-29:0.4.2' e30Implementation 'foundation.e:privacymodule.e-30:0.4.2' implementation 'foundation.e:privacymodule.tor:0.2.2' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation project(":flow-mvi") implementation Libs.Kotlin.stdlib implementation Libs.AndroidX.coreKtx implementation Libs.AndroidX.Fragment.fragmentKtx implementation 'androidx.appcompat:appcompat:1.2.0' implementation Libs.AndroidX.Lifecycle.runtime implementation Libs.AndroidX.Lifecycle.viewmodel implementation Libs.MapBox.sdk implementation 'com.google.android.material:material:1.4.0-beta01' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } static def log(Object val) { println("[GradleRepository]: " + val) }