1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Centralized versions for dependencies that share versions
[versions]
androidx_test = "1.4.0-beta01"
coroutines = "1.5.0"
hilt = "2.35.1"
kotlin = "1.5.0"
lifecycle = "2.4.0-alpha01"
[libraries]
# buildSrc dependencies
androidGradlePlugin = "com.android.tools.build:gradle:4.2.1"
binaryCompatibilityValidator = "org.jetbrains.kotlinx:binary-compatibility-validator:0.5.0"
dokkaPlugin = "org.jetbrains.dokka:dokka-gradle-plugin:1.4.32"
downloadTaskPlugin = "de.undercouch:gradle-download-task:4.1.1"
hiltGradlePlugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }
kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
mavenPublishPlugin = "com.vanniktech:gradle-maven-publish-plugin:0.15.1"
okhttp = "com.squareup.okhttp3:okhttp:4.9.0"
semver4j = "com.vdurmont:semver4j:3.1.0"
spotlessGradlePlugin = "com.diffplug.spotless:spotless-plugin-gradle:5.12.4"
# Kotlin dependencies
kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
# AndroidX dependencies
androidx-activityKtx = "androidx.activity:activity-ktx:1.3.0-alpha08"
androidx-annotation = "androidx.annotation:annotation:1.2.0"
androidx-autofill = "androidx.autofill:autofill:1.2.0-alpha01"
androidx-appcompat = "androidx.appcompat:appcompat:1.4.0-alpha01"
androidx-biometricKtx = "androidx.biometric:biometric-ktx:1.2.0-alpha03"
androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.1.0-beta02"
androidx-coreKtx = "androidx.core:core-ktx:1.6.0-beta01"
androidx-documentfile = "androidx.documentfile:documentfile:1.0.1"
androidx-fragmentKtx = "androidx.fragment:fragment-ktx:1.4.0-alpha01"
androidx-lifecycle_common = { module = "androidx.lifecycle:lifecycle-common-java8", version.ref="lifecycle" }
androidx-lifecycle_livedataKtx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref="lifecycle" }
androidx-lifecycle_viewmodelKtx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref="lifecycle" }
androidx-material = "com.google.android.material:material:1.4.0-beta01"
androidx-preference = "androidx.preference:preference:1.1.1"
androidx-recyclerview = "androidx.recyclerview:recyclerview:1.2.0"
androidx-recyclerviewSelection = "androidx.recyclerview:recyclerview-selection:1.2.0-alpha01"
androidx-security = "androidx.security:security-crypto:1.1.0-alpha03"
androidx-swiperefreshlayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
# Dagger/Hilt dependencies
dagger-hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hilt" }
dagger-hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hilt" }
dagger-hilt-core = { module = "com.google.dagger:hilt-core", version.ref = "hilt" }
# Desugaring
android-desugarJdkLibs = "com.android.tools:desugar_jdk_libs:1.0.10"
# First-party libraries
aps-sublimeFuzzy = "com.github.android-password-store:sublime-fuzzy:1.0.0"
aps-zxingAndroidEmbedded = "com.github.android-password-store:zxing-android-embedded:4.2.0"
# Third-party dependencies
thirdparty-bouncycastle = "org.bouncycastle:bcprov-jdk15on:1.68"
thirdparty-commons_codec = "commons-codec:commons-codec:1.14"
thirdparty-eddsa = "net.i2p.crypto:eddsa:0.3.0"
thirdparty-fastscroll = "me.zhanghai.android.fastscroll:library:1.1.5"
thirdparty-jgit = "org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r"
thirdparty-kotlinResult = "com.michael-bull.kotlin-result:kotlin-result:1.1.11"
thirdparty-leakcanary = "com.squareup.leakcanary:leakcanary-android:2.7"
thirdparty-modernAndroidPrefs = "de.maxr1998:modernandroidpreferences:2.1.0"
thirdparty-plumber = "com.squareup.leakcanary:plumber-android:2.7"
thirdparty-sshj = "com.hierynomus:sshj:0.31.0"
thirdparty-sshauth = "com.github.open-keychain.open-keychain:sshauthentication-api:5.7.5"
thirdparty-timber = "com.jakewharton.timber:timber:4.7.1"
thirdparty-timberkt = "com.github.ajalt:timberkt:1.5.1"
thirdparty-whatthestack = "com.github.haroldadmin:WhatTheStack:0.3.0"
thirdparty-nonfree-googlePlayAuthApiPhone = "com.google.android.gms:play-services-auth-api-phone:17.5.0"
# Testing dependencies
testing-junit = "junit:junit:4.13.2"
testing-kotlintest-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
testing-robolectric = "org.robolectric:robolectric:4.6-alpha-1"
testing-sharedPrefsMock = "com.github.IvanShafran:shared-preferences-mock:1.0"
androidx-testing-rules = { module = "androidx.test:rules", version.ref="androidx_test" }
androidx-testing-runner = { module = "androidx.test:runner", version.ref="androidx_test" }
kotlin-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" }
# Bundles of dependencies usually used together so they can be included in one go
[bundles]
androidxLifecycle = ["androidx-lifecycle_common", "androidx-lifecycle_livedataKtx", "androidx-lifecycle_viewmodelKtx"]
testDependencies = ["testing-junit", "testing-kotlintest-junit"]
androidTestDependencies = ["androidx-testing-rules", "androidx-testing-runner"]
|