/* * Copyright © 2014-2020 The Android Password Store Authors. All Rights Reserved. * SPDX-License-Identifier: GPL-3.0-only */ ext.versions = [ minSdk: 23, targetSdk: 29, compileSdk: 29, buildTools: '29.0.3' ] ext.deps = [ gradle_plugin: [ android: 'com.android.tools.build:gradle:4.0.0', kotlin: 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72', ], kotlin: [ coroutines: [ // #989: Keep these at 1.3.6 as long as we are not using Kotlin 1.4 to prevent crashes. android: 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6', core: 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6', ], stdlib8: 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72' ], androidx: [ activity_ktx: 'androidx.activity:activity-ktx:1.2.0-alpha06', annotation: 'androidx.annotation:annotation:1.2.0-alpha01', autofill: 'androidx.autofill:autofill:1.0.0', appcompat: 'androidx.appcompat:appcompat:1.3.0-alpha01', biometric: 'androidx.biometric:biometric:1.1.0-alpha01', constraint_layout: 'androidx.constraintlayout:constraintlayout:2.0.0-beta7', core_ktx: 'androidx.core:core-ktx:1.5.0-alpha01', documentfile: 'androidx.documentfile:documentfile:1.0.1', fragment_ktx: 'androidx.fragment:fragment-ktx:1.3.0-alpha06', lifecycle_common: 'androidx.lifecycle:lifecycle-common-java8:2.3.0-alpha05', lifecycle_livedata_ktx: 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.0-alpha05', lifecycle_viewmodel_ktx: 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0-alpha05', material: 'com.google.android.material:material:1.3.0-alpha01', preference: 'androidx.preference:preference:1.1.1', recycler_view: 'androidx.recyclerview:recyclerview:1.2.0-alpha04', recycler_view_selection: 'androidx.recyclerview:recyclerview-selection:1.1.0-rc01', security: 'androidx.security:security-crypto:1.1.0-alpha01', swiperefreshlayout: 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' ], first_party: [ openpgp_ktx: 'com.github.android-password-store:openpgp-ktx:2.0.0', zxing_android_embedded: 'com.github.android-password-store:zxing-android-embedded:v4.1.0-aps' ], third_party: [ bouncycastle: 'org.bouncycastle:bcprov-jdk15on:1.65.01', commons_codec: 'commons-codec:commons-codec:1.13', fastscroll: 'me.zhanghai.android.fastscroll:library:1.1.4', jsch: 'com.jcraft:jsch:0.1.55', jgit: 'org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r', leakcanary: 'com.squareup.leakcanary:leakcanary-android:2.4', plumber: 'com.squareup.leakcanary:plumber-android:2.4', sshj: 'com.hierynomus:sshj:0.29.0', ssh_auth: 'org.sufficientlysecure:sshauthentication-api:1.0', timber: 'com.jakewharton.timber:timber:4.7.1', timberkt: 'com.github.ajalt:timberkt:1.5.1', whatthestack: 'com.github.haroldadmin:WhatTheStack:0.0.3', ], non_free: [ google_play_auth_api_phone: 'com.google.android.gms:play-services-auth-api-phone:17.4.0', ], testing: [ junit: 'junit:junit:4.13', kotlin_test_junit: 'org.jetbrains.kotlin:kotlin-test-junit:1.3.72', androidx: [ runner: 'androidx.test:runner:1.3.0-rc01', rules: 'androidx.test:rules:1.3.0-rc01', junit: 'androidx.test.ext:junit:1.1.2-rc01', espresso_core: 'androidx.test.espresso:espresso-core:3.3.0-rc01', espresso_intents: 'androidx.test.espresso:espresso-intents:3.3.0-rc01' ] ] ]