plugins { id 'com.github.triplet.play' version '2.6.2' id "org.jlleitschuh.gradle.ktlint" version "9.4.1" id 'com.android.application' version "4.1.0" id "org.jetbrains.kotlin.android" version "$KOTLIN_VERSION" id "org.jetbrains.kotlin.kapt" version "$KOTLIN_VERSION" id "org.jetbrains.kotlin.android.extensions" version "$KOTLIN_VERSION" } repositories { google() jcenter() } android { compileSdkVersion COMPILE_SDK_VERSION as Integer def secretPropsFile = file(".secret/gradle.properties") if (secretPropsFile.exists()) { def secrets = new Properties() secretPropsFile.withInputStream { secrets.load(it) } signingConfigs { release { storeFile file(secrets.LOOP_KEY_STORE) storePassword secrets.LOOP_STORE_PASSWORD keyAlias secrets.LOOP_KEY_ALIAS keyPassword secrets.LOOP_KEY_PASSWORD } } buildTypes.release.signingConfig signingConfigs.release } defaultConfig { versionCode VERSION_CODE as Integer versionName "$VERSION_NAME" minSdkVersion MIN_SDK_VERSION as Integer targetSdkVersion TARGET_SDK_VERSION as Integer applicationId "org.isoron.uhabits" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { testCoverageEnabled true } } lintOptions { checkReleaseBuilds false abortOnError false disable 'GoogleAppIndexingWarning' } compileOptions { coreLibraryDesugaringEnabled true targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } buildFeatures { viewBinding true } } dependencies { androidTestImplementation "androidx.test.espresso:espresso-contrib:$ESPRESSO_VERSION" androidTestImplementation "androidx.test.espresso:espresso-core:$ESPRESSO_VERSION" androidTestImplementation "com.google.dagger:dagger:$DAGGER_VERSION" androidTestImplementation "com.linkedin.dexmaker:dexmaker-mockito:2.28.0" androidTestImplementation "com.linkedin.testbutler:test-butler-library:1.3.1" androidTestImplementation "io.ktor:ktor-client-mock:$KTOR_VERSION" androidTestImplementation "io.ktor:ktor-jackson:$KTOR_VERSION" androidTestImplementation "org.mockito:mockito-core:2.28.2" androidTestImplementation 'androidx.annotation:annotation:1.1.0' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' androidTestImplementation 'androidx.test:rules:1.3.0' compileOnly "javax.annotation:jsr250-api:1.0" coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1' implementation "com.github.paolorotolo:appintro:3.4.0" implementation "com.google.code.findbugs:jsr305:3.0.2" implementation "com.google.dagger:dagger:$DAGGER_VERSION" implementation "com.google.guava:guava:30.0-android" implementation "io.ktor:ktor-client-android:$KTOR_VERSION" implementation "io.ktor:ktor-client-core:$KTOR_VERSION" implementation "io.ktor:ktor-client-jackson:$KTOR_VERSION" implementation "io.ktor:ktor-client-json:$KTOR_VERSION" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$KOTLIN_VERSION" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$KX_COROUTINES_VERSION" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$KX_COROUTINES_VERSION" implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.legacy:legacy-preference-v14:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'com.google.android.material:material:1.2.1' implementation 'com.google.zxing:core:3.4.1' implementation 'com.opencsv:opencsv:3.10' implementation files("../uhabits-core/build/libs/uhabits-core-jvm.jar") kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION" kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION" testImplementation "com.google.dagger:dagger:$DAGGER_VERSION" testImplementation "junit:junit:4.12" testImplementation "org.mockito:mockito-core:2.28.2" testImplementation "org.mockito:mockito-inline:2.8.9" } kapt { correctErrorTypes = true } play { serviceAccountCredentials = file("../.secret/gcp-key.json") track = "alpha" }