-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathbuild.gradle.kts
120 lines (108 loc) · 3.87 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
plugins {
kotlin("multiplatform")
id("com.android.library")
alias(libs.plugins.jetbrainCompose)
id("kotlinx-serialization")
id("com.google.devtools.ksp")
alias(kotlinx.plugins.compose.compiler)
}
android {
namespace = "ireader.domain"
compileSdk = ProjectConfig.compileSdk
defaultConfig {
minSdk = ProjectConfig.minSdk
targetSdk = ProjectConfig.targetSdk
}
compileOptions {
sourceCompatibility = ProjectConfig.androidJvmTarget
targetCompatibility = ProjectConfig.androidJvmTarget
}
androidComponents.onVariants { variant ->
val name = variant.name
sourceSets {
getByName(name).kotlin.srcDir("${buildDir.absolutePath}/generated/ksp/${name}/kotlin")
}
}
}
kotlin {
androidTarget {
compilations {
all {
kotlinOptions.jvmTarget = ProjectConfig.androidJvmTarget.toString()
}
}
}
jvm("desktop") {
compilations {
all {
kotlinOptions.jvmTarget = ProjectConfig.desktopJvmTarget.toString()
}
}
}
sourceSets {
commonMain {
dependencies {
implementation(project(Modules.commonResources))
implementation(project(Modules.coreApi))
implementation(project(Modules.sourceApi))
api(compose.ui)
api(compose.runtime)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.material3)
api(kotlinx.coroutines.core)
implementation(libs.ktor.core)
implementation(libs.ktor.contentNegotiation)
implementation(libs.ktor.okhttp)
implementation(libs.bundles.ireader)
implementation(kotlinx.serialization.protobuf)
implementation(kotlinx.datetime)
implementation(libs.okio)
implementation(libs.jsoup)
api(libs.koin.core)
api(libs.coil.core)
}
}
androidMain {
dependencies {
implementation("org.slf4j:slf4j-android:1.7.25")
implementation(libs.bundles.simplestorage)
implementation(androidx.biometric)
implementation(androidx.lifecycle.viewmodelktx)
implementation(androidx.lifecycle.viewmodelktx)
implementation(composeLib.compose.googlFonts)
implementation(androidx.media)
implementation(libs.googleTranslator)
implementation(libs.gson)
implementation(androidx.work.runtime)
/** Coroutine **/
implementation(libs.okhttp.okhttp3)
implementation(libs.okhttp.interceptor)
implementation(libs.okhttp.doh)
implementation(libs.okhttp.doh)
implementation(androidx.dataStore)
implementation(androidx.core)
implementation(androidx.appCompat)
implementation(androidx.webkit)
implementation(androidx.browser)
implementation(kotlinx.serialization.json)
implementation(kotlinx.reflect)
implementation(libs.coil.core)
implementation(libs.coil.gif)
/** LifeCycle **/
implementation(androidx.lifecycle.runtime)
implementation(kotlinx.stdlib)
api(libs.koin.android)
api(libs.koin.workManager)
}
}
val desktopMain by getting {
kotlin.srcDir("./src/jvmMain/kotlin")
dependencies {
implementation(compose.desktop.currentOs)
}
}
}
}
dependencies {
implementation(files("libs/epublib-core-latest.jar"))
}