-
Notifications
You must be signed in to change notification settings - Fork 44
/
build.gradle.kts
94 lines (75 loc) · 2.99 KB
/
build.gradle.kts
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
@file:Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed (or agp 8.1)
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.allopen)
alias(libs.plugins.google.ksp)
alias(libs.plugins.secrets.gradle.plugin)
alias(libs.plugins.mannodermaus.junit5)
}
allOpen { annotation("co.kaush.msusf.movies.OpenClass") }
android {
namespace = "co.kaush.msusf.movies"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
applicationId = "co.kaush.msusf"
minSdk = libs.versions.minSdk.get().toInt()
versionCode = libs.versions.appVersionCode.get().toInt()
versionName = libs.versions.appVersionName.get()
}
buildFeatures {
buildConfig = true
viewBinding = true
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}
compileOptions {
// after agp 8.1.0-alpha09, this is no longer needed
// https://kotlinlang.org/docs/gradle-configure-project.html#gradle-java-toolchains-support
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
dependencies {
ksp(libs.kotlin.inject.compiler)
implementation(libs.kotlin.inject.runtime)
ksp(project(":usf:annotations-processors")) // todo: put all usf in same module
implementation(project(":usf:annotations"))
implementation(project(":usf:api"))
implementation(libs.kotlin.stdlib)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.androidx.constraintlayout) // todo: move to compose
implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
implementation(libs.androidx.swiperefreshlayout)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.recyclerview)
implementation(libs.coil)
implementation(libs.flow.binding)
implementation(libs.timber) // todo: remove
implementation(platform(libs.square.okhttp.bom))
implementation(libs.square.okhttp)
implementation(libs.square.okhttp.logging.interceptor)
implementation(libs.square.retrofit.gson)
implementation(libs.square.retrofit)
debugImplementation(libs.square.leakcanary)
releaseImplementation(libs.square.leakcanary.noop)
// (Required) Writing and executing Unit Tests on the JUnit Platform
testImplementation(libs.testing.junit5.api)
testRuntimeOnly(libs.testing.junit5.engine)
testImplementation(libs.testing.turbine)
testImplementation(libs.testing.assertj.core)
testImplementation(libs.mockito.core)
testImplementation(libs.mockito.kotlin)
testImplementation(libs.kotlinx.coroutines.test)
// testImplementation(libs.atsl.runner)
androidTestImplementation(libs.androidx.espresso.core)
}