aboutsummaryrefslogtreecommitdiff
path: root/buildSrc/src/main/kotlin/kau/Dependencies.kt
blob: 8048959716d11c8edf4c70935f5f65a9b6edc180 (plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package kau

/**
 * Some common dependencies, backed by the supplied versions
 */
object Dependencies {
    @JvmStatic
    fun kau(version: String) = "ca.allanwang:kau:$version"

    @JvmStatic
    fun kau(type: String, version: String) = "ca.allanwang.kau:$type:$version"

    @JvmStatic
    fun kauAbout(version: String) = kau("about", version)

    @JvmStatic
    fun kauAdapter(version: String) = kau("adapter", version)

    @JvmStatic
    fun kauColorPicker(version: String) = kau("colorpicker", version)

    @JvmStatic
    fun kauCore(version: String) = kau("core", version)

    @JvmStatic
    fun kauCoreUi(version: String) = kau("core-ui", version)

    @JvmStatic
    fun kauFastAdapter(version: String) = kau("fastadapter", version)

    @JvmStatic
    fun kauFastAdapterViewBinding(version: String) = kau("fastadapter-viewbinding", version)

    @JvmStatic
    fun kauKprefActivity(version: String) = kau("kpref-activity", version)

    @JvmStatic
    fun kauMediaPicker(version: String) = kau("mediapicker", version)

    @JvmStatic
    fun kauSearchView(version: String) = kau("searchview", version)

    @JvmStatic
    fun kotlin(type: String) = "org.jetbrains.kotlin:kotlin-$type:${Versions.kotlin}"

    @JvmField
    val kotlin = kotlin("stdlib")
    @JvmField
    val kotlinTest = kotlin("test-junit")
    @JvmField
    val kotlinReflect = kotlin("reflect")

    @JvmField
    val koin = koin("android")

    @JvmField
    val koinTest = koin("test")

    @JvmStatic
    fun koin(type: String) = "io.insert-koin:koin-$type:${Versions.koin}"

    @JvmField
    val hilt = "com.google.dagger:hilt-android:${Versions.hilt}"

    @JvmField
    val hiltCompiler = hilt("compiler")

    @JvmField
    val hiltTest = hilt("testing")

    @JvmStatic
    fun hilt(type: String) = "com.google.dagger:hilt-android-$type:${Versions.hilt}"

    @JvmStatic
    fun compose(type: String) = "androidx.ui:ui-$type:${Versions.compose}"

    const val junit = "junit:junit:${Versions.junit}"
    const val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutines}"

    const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
    const val recyclerView = "androidx.recyclerview:recyclerview:${Versions.recyclerView}"
    const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:${Versions.swipeRefreshLayout}"
    const val cardView = "androidx.cardview:cardview:${Versions.cardView}"
    const val constraintLayout =
        "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val googleMaterial = "com.google.android.material:material:${Versions.googleMaterial}"

    const val coreKtx = "androidx.core:core-ktx:${Versions.coreKtx}"

    const val iconics = "com.mikepenz:iconics-core:${Versions.iconics}"
    const val iconicsGoogle =
        "com.mikepenz:google-material-typeface:${Versions.iconicsGoogle}-kotlin@aar"
    const val iconicsMaterial =
        "com.mikepenz:material-design-iconic-typeface:${Versions.iconicsMaterial}-kotlin@aar"
    const val iconicsCommunity =
        "com.mikepenz:community-material-typeface:${Versions.iconicsCommunity}-kotlin@aar"

    const val aboutLibraries = "com.mikepenz:aboutlibraries:${Versions.aboutLibraries}"
    const val aboutLibrariesCore = "com.mikepenz:aboutlibraries-core:${Versions.aboutLibraries}"

    const val blurry = "jp.wasabeef:blurry:${Versions.blurry}"

    const val glide = "com.github.bumptech.glide:glide:${Versions.glide}"
    const val glideKapt = "com.github.bumptech.glide:compiler:${Versions.glide}"

    @JvmStatic
    fun materialDialog(type: String) =
        "com.afollestad.material-dialogs:$type:${Versions.materialDialog}"

    @JvmField
    val materialDialog = materialDialog("core")

    const val fastAdapter = "com.mikepenz:fastadapter:${Versions.fastAdapter}"
    @JvmStatic
    fun fastAdapter(type: String) =
        "com.mikepenz:fastadapter-extensions-$type:${Versions.fastAdapter}"

    const val bugsnag = "com.bugsnag:bugsnag-android:${Versions.bugsnag}"

    const val leakCanary = "com.squareup.leakcanary:leakcanary-android:${Versions.leakCanary}"

    @JvmStatic
    fun espresso(type: String) = "androidx.test.espresso:espresso-$type:${Versions.espresso}"

    @JvmField
    val espresso = espresso("core")

    const val testRunner = "androidx.test.ext:junit:${Versions.testRunner}"
    const val testRules = "androidx.test:rules:${Versions.testRules}"
}