apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "30.0.3" defaultConfig { applicationId "it.niedermann.nextcloud.deck" minSdkVersion 19 targetSdkVersion 29 versionCode 1014002 versionName "1.14.2" multiDexEnabled true vectorDrawables.useSupportLibrary true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } buildFeatures { viewBinding true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { disable 'MissingTranslation' abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 coreLibraryDesugaringEnabled true } flavorDimensions "version" productFlavors { fdroid { dimension "version" } dev { dimension "version" applicationIdSuffix ".dev" } play { dimension "version" applicationIdSuffix ".play" } } testOptions { unitTests { includeAndroidResources true } } } dependencies { // Cross tab drag'n'drop implementation project(path: ':cross-tab-drag-and-drop') // TabLayoutHelper implementation project(path: ':tab-layout-helper') coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1' // Android X implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.camera:camera-camera2:1.1.0-alpha01' implementation 'androidx.camera:camera-lifecycle:1.1.0-alpha01' implementation 'androidx.camera:camera-view:1.0.0-alpha21' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.preference:preference:1.1.1' def roomVersion = "2.2.6" implementation "androidx.room:room-runtime:$roomVersion" annotationProcessor "androidx.room:room-compiler:$roomVersion" implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.work:work-runtime:2.5.0' implementation "com.google.android.material:material:$rootProject.materialVersion" // Glide implementation 'com.github.bumptech.glide:glide:4.11.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' // Markdown implementation 'com.github.stefan-niedermann:nextcloud-notes:v3.1.1' // Single-Sign-On implementation 'com.github.nextcloud:Android-SingleSignOn:0.5.6' implementation 'com.github.stefan-niedermann.nextcloud-commons:sso-glide:1.2.5' implementation 'com.github.stefan-niedermann.nextcloud-commons:exception:1.2.5' implementation 'com.github.stefan-niedermann.android-commons:util:0.2.0' // Custom Date / Time Picker for branding support implementation 'com.wdullaer:materialdatetimepicker:4.2.3' // Flexbox implementation 'com.google.android:flexbox:2.0.1' // Custom Color Picker implementation 'com.github.skydoves:colorpickerview:2.1.8' // Gson implementation 'com.google.code.gson:gson:2.8.6' // Retrofit implementation 'com.squareup.retrofit2:retrofit:2.6.4' // ReactiveX implementation 'io.reactivex.rxjava2:rxjava:2.2.20' // Tests testImplementation 'junit:junit:4.13.1' testImplementation 'org.robolectric:robolectric:4.5' testImplementation 'org.mockito:mockito-core:3.7.7' def powermockVersion = "2.0.9" testImplementation "org.powermock:powermock-core:$powermockVersion" testImplementation "org.powermock:powermock-module-junit4:$powermockVersion" testImplementation "org.powermock:powermock-api-mockito2:$powermockVersion" testImplementation 'androidx.test:core:1.3.0' testImplementation 'androidx.arch.core:core-testing:2.1.0' }