-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
98 lines (82 loc) · 2.83 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
plugins {
val kotlinVersion = "2.1.20"
kotlin("jvm") version kotlinVersion
id("org.jetbrains.kotlin.plugin.compose") version kotlinVersion
id("org.jetbrains.compose") version "1.7.3"
}
group = "com.hoc.kotlin_playground"
version = "1.0-SNAPSHOT"
repositories {
maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/")
mavenCentral()
google()
}
configurations.all {
resolutionStrategy.eachDependency { ->
if (requested.group == "io.github.hoc081098") {
// Check for updates every build
resolutionStrategy.cacheChangingModulesFor(30, TimeUnit.MINUTES)
}
}
}
composeCompiler {
featureFlags.add(
org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag.Companion.OptimizeNonSkippingGroups,
)
}
dependencies {
testImplementation(kotlin("test"))
// Kotlin Flow Extensions
implementation("io.github.hoc081098:FlowExt:1.0.0")
// Kotlin Multiplatform ViewModel, SavedStateHandle, Compose Multiplatform ViewModel
val kmpViewModel = "0.8.0"
implementation("io.github.hoc081098:kmp-viewmodel:$kmpViewModel")
implementation("io.github.hoc081098:kmp-viewmodel-savedstate:$kmpViewModel")
implementation("io.github.hoc081098:kmp-viewmodel-compose:$kmpViewModel")
// Kotlin Channel Event Bus
implementation("io.github.hoc081098:channel-event-bus:0.1.0")
// Solivagant - Compose Multiplatform Navigation
implementation("io.github.hoc081098:solivagant-navigation:0.5.0")
// Compose
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
implementation(compose.desktop.currentOs)
// Coroutines
val coroutines = "1.10.1"
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:$coroutines")
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8")
// RxJava3 and Kotlin Flow Extensions
implementation("io.reactivex.rxjava3:rxjava:3.1.10")
implementation("com.github.akarnokd:kotlin-flow-extensions:0.0.14")
// reactivestate
api(platform("com.ensody.reactivestate:reactivestate-bom:5.11.0"))
implementation("com.ensody.reactivestate:reactivestate")
// Arrow-kt
val arrow = "2.0.1"
implementation("io.arrow-kt:arrow-core:$arrow")
implementation("io.arrow-kt:arrow-fx-coroutines:$arrow")
implementation("io.arrow-kt:arrow-autoclose:$arrow")
implementation("io.arrow-kt:arrow-resilience:$arrow")
}
tasks.test {
useJUnitPlatform()
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
compilerOptions {
freeCompilerArgs.addAll(
"-Xcontext-receivers",
)
}
}
java {
sourceCompatibility = JavaVersion.VERSION_22
targetCompatibility = JavaVersion.VERSION_22
}
kotlin {
jvmToolchain {
languageVersion = JavaLanguageVersion.of(22)
}
}