/* * Nextcloud Notes - Android Client * * SPDX-FileCopyrightText: 2015-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2015-2024 Stefan Niedermann * SPDX-FileCopyrightText: 2020 Hui-Ouyang16 <11710106@mail.sustech.edu.cn> * SPDX-License-Identifier: GPL-3.0-or-later */ apply plugin: 'com.android.application' apply plugin: 'org.jetbrains.kotlin.android' android { compileSdk 34 namespace 'it.niedermann.owncloud.notes' defaultConfig { applicationId "it.niedermann.owncloud.notes" minSdk 24 targetSdk 34 versionCode 40040000 versionName "4.4.0 Alpha1" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } buildFeatures { viewBinding true buildConfig true } buildTypes { debug { testCoverageEnabled true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } testCoverage.jacocoVersion = "0.8.8" flavorDimensions = ["version"] productFlavors { fdroid { dimension "version" } dev { dimension "version" applicationIdSuffix ".dev" } play { dimension "version" } } testOptions { unitTests { includeAndroidResources true } } lintOptions { abortOnError false disable 'MissingTranslation' } androidResources { generateLocaleConfig true } } ext { glideVersion = '4.16.0' roomVersion = "2.6.1" } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.2' // Nextcloud SSO implementation 'com.github.nextcloud.android-common:ui:0.23.1' implementation 'com.github.nextcloud:Android-SingleSignOn:1.3.2' implementation 'com.github.stefan-niedermann:android-commons:1.0.2' implementation "com.github.stefan-niedermann.nextcloud-commons:sso-glide:$commonsVersion" implementation "com.github.stefan-niedermann.nextcloud-commons:exception:$commonsVersion" implementation("com.github.stefan-niedermann.nextcloud-commons:markdown:$commonsVersion") { exclude group: 'org.jetbrains', module: 'annotations-java5' } // Glide implementation "com.github.bumptech.glide:glide:$glideVersion" annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion" // Android X implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.core:core-ktx:1.13.1' implementation 'androidx.core:core-splashscreen:1.0.1' implementation 'androidx.fragment:fragment:1.8.5' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7' implementation 'androidx.preference:preference:1.2.1' implementation 'androidx.recyclerview:recyclerview-selection:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.work:work-runtime:2.9.1' implementation 'com.google.android.material:material:1.12.0' // Database implementation "androidx.room:room-runtime:${roomVersion}" annotationProcessor "androidx.room:room-compiler:${roomVersion}" // Retrofit implementation 'com.squareup.retrofit2:retrofit:2.11.0' // Gson implementation 'com.google.code.gson:gson:2.11.0' // ReactiveX implementation 'io.reactivex.rxjava2:rxjava:2.2.21' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' // Testing testImplementation 'androidx.test:core:1.6.1' testImplementation 'androidx.arch.core:core-testing:2.2.0' testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.14.2' testImplementation 'org.robolectric:robolectric:4.13' }