plugins { id 'idea' id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' id 'com.github.triplet.play' version '2.6.2' id 'kotlin-android-extensions' } 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 { targetCompatibility JavaVersion.VERSION_1_8 sourceCompatibility JavaVersion.VERSION_1_8 } testOptions { unitTests.all { testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" outputs.upToDateWhen { false } showStandardStreams = true } } } sourceSets { main.assets.srcDirs += '../uhabits-core/src/main/resources/' } buildFeatures { viewBinding true } } dependencies { implementation project(":uhabits-core") implementation project(":android-base") implementation project(":android-pickers") implementation 'androidx.appcompat:appcompat:1.0.0' implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.legacy:legacy-preference-v14:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation "com.github.paolorotolo:appintro:3.4.0" implementation "com.google.dagger:dagger:$DAGGER_VERSION" implementation "com.jakewharton:butterknife:8.6.1-SNAPSHOT" implementation "org.apmem.tools:layouts:1.10" implementation "com.google.code.gson:gson:2.8.5" implementation "com.google.code.findbugs:jsr305:3.0.2" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$KOTLIN_VERSION" implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta4" implementation 'androidx.constraintlayout:constraintlayout:1.1.3' compileOnly "javax.annotation:jsr250-api:1.0" compileOnly "com.google.auto.factory:auto-factory:$AUTO_FACTORY_VERSION" kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION" kapt "com.jakewharton:butterknife-compiler:10.2.1" annotationProcessor "com.google.auto.factory:auto-factory:$AUTO_FACTORY_VERSION" androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' androidTestImplementation "com.google.dagger:dagger:$DAGGER_VERSION" androidTestImplementation "com.linkedin.testbutler:test-butler-library:1.3.1" androidTestCompileOnly "com.google.auto.factory:auto-factory:$AUTO_FACTORY_VERSION" androidTestAnnotationProcessor "com.google.auto.factory:auto-factory:$AUTO_FACTORY_VERSION" androidTestImplementation 'androidx.annotation:annotation:1.0.0' androidTestImplementation 'androidx.test:rules:1.1.1' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation "com.google.guava:guava:24.1-android" androidTestImplementation project(":uhabits-core") kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION" // mockito-android 2+ includes net.bytebuddy, which causes tests to fail. // Excluding the package net.bytebuddy on AndroidManifest.xml breaks some // AndroidJUnitRunner functionality, such as running individual methods. androidTestImplementation "org.mockito:mockito-core:1.10.19" androidTestImplementation "com.google.dexmaker:dexmaker-mockito:1.2" testImplementation "com.google.dagger:dagger:$DAGGER_VERSION" testImplementation "org.mockito:mockito-core:2.8.9" testImplementation "org.mockito:mockito-inline:2.8.9" testImplementation "junit:junit:4.12" implementation('com.opencsv:opencsv:3.10') { exclude group: 'commons-logging', module: 'commons-logging' } implementation('io.socket:socket.io-client:0.8.3') { exclude group: 'org.json', module: 'json' } } kapt { correctErrorTypes = true } play { serviceAccountCredentials = file("../../.secret/gcp-key.json") track = "alpha" }