-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathbuild.gradle.kts
96 lines (89 loc) · 3.04 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
import com.arkivanov.gradle.AndroidConfig
import com.arkivanov.gradle.BinaryCompatibilityValidatorConfig
import com.arkivanov.gradle.PublicationConfig
import com.arkivanov.gradle.ensureUnreachableTasksDisabled
import com.arkivanov.gradle.iosCompat
import com.arkivanov.gradle.macosCompat
import com.arkivanov.gradle.setupDefaults
import com.arkivanov.gradle.setupDetekt
import com.arkivanov.gradle.tvosCompat
import com.arkivanov.gradle.watchosCompat
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
gradlePluginPortal()
mavenCentral()
google()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath(deps.kotlin.kotlinGradlePlug)
classpath(deps.android.gradle)
classpath(deps.kotlinx.binaryCompatibilityValidator)
classpath(deps.detekt.gradleDetektPlug)
classpath(deps.jetbrains.kotlin.serializationGradlePlug)
}
}
plugins {
id("com.arkivanov.gradle.setup")
}
setupDefaults(
multiplatformConfigurator = {
androidTarget()
jvm()
js {
browser()
nodejs()
}
wasmJs {
browser()
}
linuxX64()
iosCompat()
watchosCompat()
tvosCompat()
macosCompat()
},
androidConfig = AndroidConfig(
minSdkVersion = 15,
compileSdkVersion = 34,
targetSdkVersion = 34,
),
publicationConfig = PublicationConfig(
group = "com.arkivanov.essenty",
version = deps.versions.essenty.get(),
projectName = "Essenty",
projectDescription = "Essential libraries for Kotlin Multiplatform",
projectUrl = "https://github.com/arkivanov/Essenty",
scmUrl = "scm:git:git://github.com/arkivanov/Essenty.git",
licenseName = "The Apache License, Version 2.0",
licenseUrl = "http://www.apache.org/licenses/LICENSE-2.0.txt",
developerId = "arkivanov",
developerName = "Arkadii Ivanov",
developerEmail = "[email protected]",
signingKey = System.getenv("SIGNING_KEY"),
signingPassword = System.getenv("SIGNING_PASSWORD"),
repositoryUrl = "https://s01.oss.sonatype.org/service/local/staging/deployByRepositoryId/${System.getenv("SONATYPE_REPOSITORY_ID")}",
repositoryUserName = System.getenv("SONATYPE_USER_NAME"),
repositoryPassword = System.getenv("SONATYPE_PASSWORD"),
),
binaryCompatibilityValidatorConfig = BinaryCompatibilityValidatorConfig(klib = true),
)
setupDetekt()
ensureUnreachableTasksDisabled()
allprojects {
repositories {
mavenCentral()
google()
}
afterEvaluate {
extensions.findByType<KotlinMultiplatformExtension>()?.apply {
sourceSets {
all {
languageSettings.optIn("com.arkivanov.essenty.utils.internal.InternalEssentyApi")
}
}
}
}
}