-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.gradle.kts
135 lines (121 loc) · 4.64 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
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
131
132
133
134
135
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.archivesName
/*
* freeDictionaryApp is a simple android application for freeDictionaryAPI
* build.gradle Created by Yamin Siahmargooei at 2022/6/16
* This file is part of freeDictionaryAPI.
* Copyright (C) 2022 Yamin Siahmargooei
*
* freeDictionaryApp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* freeDictionaryApp is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with freeDictionaryAPI. If not, see <https://www.gnu.org/licenses/>.
*/
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("kotlin-parcelize")
id("com.google.devtools.ksp") version ("1.9.22-1.0.18")
}
private val composeCompilerVersion = "1.5.10"
private val appId = "io.github.yamin8000.owl"
android {
namespace = appId
compileSdk = 34
defaultConfig {
applicationId = appId
minSdk = 21
targetSdk = 34
versionCode = 39
versionName = "1.6.2"
vectorDrawables.useSupportLibrary = true
ksp.arg("room.schemaLocation", "$projectDir/schemas")
archivesName = "$applicationId-v$versionCode($versionName)"
}
buildTypes {
release {
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
isMinifyEnabled = true
isShrinkResources = true
}
debug {
isMinifyEnabled = false
isShrinkResources = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
languageVersion = "1.9"
}
buildFeatures {
compose = true
buildConfig = true
}
composeOptions {
kotlinCompilerExtensionVersion = composeCompilerVersion
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
kotlin.sourceSets.configureEach {
languageSettings.enableLanguageFeature("DataObjects")
}
}
dependencies {
//core android/kotlin
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0")
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7")
implementation("androidx.core:core-splashscreen:1.0.1")
//compose
val material3Version = "1.2.1"
val composeLibsVersion = "1.6.3"
val composeUiLibsVersion = "1.6.3"
implementation("androidx.compose.ui:ui:$composeUiLibsVersion")
implementation("androidx.compose.material:material:$composeLibsVersion")
implementation("androidx.compose.ui:ui-tooling-preview:$composeUiLibsVersion")
debugImplementation("androidx.compose.ui:ui-tooling:$composeUiLibsVersion")
implementation("androidx.activity:activity-compose:1.8.2")
implementation("androidx.compose.material:material-icons-extended:$composeLibsVersion")
implementation("androidx.compose.material3:material3:$material3Version")
implementation("androidx.compose.material3:material3-window-size-class:$material3Version")
//network
val retrofitVersion = "2.10.0"
implementation("com.squareup.retrofit2:retrofit:$retrofitVersion")
implementation("com.squareup.retrofit2:converter-moshi:$retrofitVersion")
ksp("com.squareup.moshi:moshi-kotlin-codegen:1.15.1")
ksp("com.squareup.retrofit2:response-type-keeper:$retrofitVersion")
//coil
val coilVersion = "2.6.0"
implementation("io.coil-kt:coil:$coilVersion")
implementation("io.coil-kt:coil-compose:$coilVersion")
//navigation
val navVersion = "2.7.7"
implementation("androidx.navigation:navigation-compose:$navVersion")
//datastore
implementation("androidx.datastore:datastore-preferences:1.0.0")
//room
val roomVersion = "2.6.1"
implementation("androidx.room:room-runtime:$roomVersion")
annotationProcessor("androidx.room:room-compiler:$roomVersion")
ksp("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")
//lottie
implementation("com.airbnb.android:lottie-compose:6.4.0")
}