apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' repositories { // for security issues fixed version of iText 2 from JasperReports maven { url "http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts" } } android { compileSdkVersion androidCompileSdkVersion buildToolsVersion androidBuildToolsVersion defaultConfig { applicationId "net.codinux.banking.android" minSdkVersion androidMinSdkVersion targetSdkVersion androidTargetSdkVersion versionName version.replace("-", " ") versionCode appVersionCode multiDexEnabled true // enable using vector drawables on pre Lollipop devices vectorDrawables.useSupportLibrary = true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } kotlinOptions { jvmTarget = '1.8' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildTypes { debug { applicationIdSuffix = ".develop" } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } signingConfigs { debug { // so that all machines have the same signing key, no matter if app is installed from developer's machine or from Jenkins storeFile file('debug-keystore.jks') storePassword 'find_my_bugs_before_releasing_me' keyAlias 'DebugKey' keyPassword 'find_my_bugs_before_releasing_me' } } packagingOptions { pickFirst 'META-INF/kotlinx-coroutines-io.kotlin_module' pickFirst 'META-INF/kotlinx-io.kotlin_module' pickFirst 'META-INF/kotlinx-serialization-runtime.kotlin_module' pickFirst 'META-INF/ktor-utils.kotlin_module' pickFirst 'META-INF/ktor-client-core.kotlin_module' pickFirst 'META-INF/ktor-http.kotlin_module' pickFirst 'META-INF/ktor-io.kotlin_module' pickFirst 'META-INF/ktor-http-cio.kotlin_module' pickFirst 'META-INF/atomicfu.kotlin_module' pickFirst 'META-INF/common.kotlin_module' pickFirst 'META-INF/fints4k.kotlin_module' pickFirst 'META-INF/BankFinder.kotlin_module' pickFirst 'META-INF/BankFinder.kotlin_module' pickFirst 'META-INF/DEPENDENCIES' pickFirst 'META-INF/NOTICE' pickFirst 'META-INF/LICENSE' pickFirst 'META-INF/LICENSE.txt' pickFirst 'META-INF/NOTICE.txt' pickFirst 'BankList.json' exclude 'DetailedBankList.json' } lintOptions { abortOnError false } } dependencies { implementation project(":fints4k") implementation project(':BankingUiCommon') implementation project(':fints4kBankingClient') implementation project(':LuceneBankFinder') implementation project(':BankingPersistenceJson') implementation project(':LuceneBankingPersistence') implementation project(':RoomBankingPersistence') implementation project(':CsvAccountTransactionsImporterAndExporter') implementation "net.dankito.text.extraction:itext2-text-extractor:$textExtractorVersion" implementation "net.dankito.text.extraction:pdfbox-android-text-extractor:$textExtractorVersion" + "a" // TODO: version 0.6.0a become only necessary due to a misconfigured Maven upload task. Remove 'a' again on next version implementation "com.github.clans:fab:$clansFloatingActionButtonVersion" implementation 'info.hoang8f:android-segmented:1.0.6' implementation "com.otaliastudios:autocomplete:$autocompleteVersion" implementation("com.journeyapps:zxing-android-embedded:4.1.0") { transitive = false } // transitive to use older ZXing version as ZXing 3.4.0 requires Android > 23 implementation "com.google.zxing:core:$zxingVersion" implementation "com.yakivmospan:scytale:$scytaleVersion" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutinesVersion" implementation "net.dankito.filechooserdialog:filechooserdialog-android:$fileChooserDialogVersion", { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib' exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'com.android.support', module: 'design' exclude group: 'com.android.support.constraint', module: 'constraint-layout' exclude module: 'recyclerview-v7' } implementation "net.dankito.utils:android-utils:$androidUtilsVersion", { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7' exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'com.android.support', module: 'design' } // Android 4 support has been dropped with version 3.13.0 implementation('com.squareup.okhttp3:okhttp') { version { strictly '3.12.12' } } implementation "org.slf4j:slf4j-android:$slf4jVersion" implementation "androidx.multidex:multidex:$multiDexVersion" implementation "androidx.appcompat:appcompat:$appCompatVersion" implementation "androidx.recyclerview:recyclerview:$appCompatVersion" implementation "androidx.annotation:annotation:$appCompatVersion" implementation "com.google.android.material:material:$materialComponentsVersion" implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion" implementation "androidx.biometric:biometric:$androidXBiometricVersion" implementation "at.favre.lib:bcrypt:$bcryptVersion" implementation "com.mikepenz:fastadapter:$fastAdapterVersion" implementation "com.mikepenz:fastadapter-extensions-binding:$fastAdapterVersion" implementation "com.mikepenz:fastadapter-extensions-drag:$fastAdapterVersion" implementation "com.mikepenz:fastadapter-extensions-swipe:$fastAdapterVersion" implementation "com.mikepenz:fastadapter-extensions-utils:$fastAdapterVersion" // for MaterialDrawer implementation "com.mikepenz:materialdrawer:$materialDrawerVersion" implementation "com.mikepenz:materialdrawer-nav:$materialDrawerVersion" implementation "com.mikepenz:materialdrawer-iconics:$materialDrawerVersion" kapt "com.google.dagger:dagger-compiler:$daggerVersion" implementation "com.google.dagger:dagger:$daggerVersion" implementation "androidx.navigation:navigation-fragment:$androidXNavigationVersion" implementation "androidx.navigation:navigation-ui:$androidXNavigationVersion" implementation "androidx.navigation:navigation-fragment-ktx:$androidXNavigationVersion" implementation "androidx.navigation:navigation-ui-ktx:$androidXNavigationVersion" }