buildscript { ext.versions = [ kotlin: '1.5.31' ] repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.0.3' classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31' } } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: "kotlin-kapt" android { compileSdk = 31 defaultConfig { archivesBaseName = 'droidify' applicationId = 'com.looker.droidify' minSdk = 21 targetSdk = 31 versionCode = 36 versionName = "0.3.6" } sourceSets.all { def javaDir = it.java.srcDirs.find { it.name == 'java' } it.java.srcDirs += new File(javaDir.parentFile, 'kotlin') } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = compileOptions.sourceCompatibility.toString() } buildTypes { debug { minifyEnabled = false shrinkResources = false applicationIdSuffix = ".debug" versionNameSuffix = "-debug" resValue "string", "application_name", "Droid-ify-Debug" } release { minifyEnabled = true shrinkResources = true resValue "string", "application_name", "Droid-ify" } all { crunchPngs = false proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard.pro") } } lintOptions { warning 'InvalidPackage' ignore 'InvalidVectorPath' } packagingOptions { exclude '/DebugProbesKt.bin' exclude '/kotlin/**.kotlin_builtins' exclude '/kotlin/**.kotlin_metadata' exclude '/META-INF/**.kotlin_module' exclude '/META-INF/**.pro' exclude '/META-INF/**.version' exclude '/okhttp3/internal/publicsuffix/*' } def keystorePropertiesFile = rootProject.file('keystore.properties') buildFeatures { viewBinding true } if (keystorePropertiesFile.exists()) { def keystoreProperties = new Properties() keystoreProperties.load(keystorePropertiesFile.newDataInputStream()) def signing = [ storeFile : keystoreProperties['store.file'], storePassword: keystoreProperties['store.password'], keyAlias : keystoreProperties['key.alias'], keyPassword : keystoreProperties['key.password'] ] if (!signing.any { _, v -> v == null }) { signingConfigs { primary { storeFile = file(signing.storeFile) storePassword = signing.storePassword keyAlias = signing.keyAlias keyPassword = signing.keyPassword v2SigningEnabled = false } } buildTypes { debug.signingConfig = signingConfigs.primary release.signingConfig = signingConfigs.primary } } } } repositories { google() mavenCentral() maven { url "https://jitpack.io" } } dependencies { // Frontend implementation 'androidx.appcompat:appcompat:1.4.0-rc01' implementation 'androidx.viewpager2:viewpager2:1.0.0' implementation 'androidx.fragment:fragment-ktx:1.4.0-beta01' implementation 'androidx.vectordrawable:vectordrawable:1.1.0' implementation 'com.google.android.material:material:1.5.0-alpha05' // Backend implementation 'io.coil-kt:coil:1.4.0' implementation 'androidx.core:core-ktx:1.7.0' implementation 'io.reactivex.rxjava3:rxjava:3.1.1' implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.2' implementation 'com.github.topjohnwu.libsu:core:3.1.2' implementation 'androidx.room:room-runtime:2.3.0' implementation 'androidx.room:room-ktx:2.3.0' kapt 'androidx.room:room-compiler:2.3.0' }