-
Notifications
You must be signed in to change notification settings - Fork 277
/
build.gradle.kts
106 lines (92 loc) · 3.94 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
import io.getstream.chat.android.Dependencies
import io.getstream.chat.android.command.changelog.plugin.ChangelogReleaseSectionPlugin
import io.getstream.chat.android.command.changelog.task.ChangelogReleaseSectionTask
import io.getstream.chat.android.command.changelog.task.ChangelogAddModelSectionTask
import io.getstream.chat.android.command.release.plugin.ReleasePlugin
import io.getstream.chat.android.command.release.task.ReleaseTask
import io.getstream.chat.android.command.unittest.plugin.UnitTestsPlugin
import io.getstream.chat.android.command.unittest.task.UnitTestsTask
import io.getstream.chat.android.command.version.plugin.VersionBumpPlugin
import io.getstream.chat.android.command.version.plugin.MinorBumpPlugin
import io.getstream.chat.android.command.version.plugin.VersionPrintPlugin
import io.getstream.chat.android.command.version.task.VersionPrintTask
import io.getstream.chat.android.command.changelog.plugin.ChangelogAddModelSectionPlugin
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.android.test) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.parcelize) apply false
alias(libs.plugins.kotlin.compose) apply false
alias(libs.plugins.androidx.baseline.profile) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.android.junit5) apply false
alias(libs.plugins.paparazzi) apply false
alias(libs.plugins.google.services) apply false
alias(libs.plugins.firebase.crashlytics) apply false
alias(libs.plugins.spotless) apply false
alias(libs.plugins.detekt) apply false
alias(libs.plugins.shot) apply false
alias(libs.plugins.androidx.navigation) apply false
id("io.getstream.chat.UnitTestsPlugin")
id("io.getstream.chat.ReleasePlugin")
id("io.getstream.chat.ChangelogReleaseSectionPlugin")
id("io.getstream.chat.VersionBumpPlugin")
id("io.getstream.chat.MinorBumpPlugin")
id("io.getstream.chat.VersionPrintPlugin")
id("io.getstream.chat.ChangelogAddModelSectionPlugin")
alias(libs.plugins.gitversioner)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.nexus.publish)
alias(libs.plugins.binary.compatibility.validator)
alias(libs.plugins.dokka)
}
apply(from = "${rootDir}/scripts/sample-app-versioner.gradle")
subprojects {
if (name != "stream-chat-android-docs"
&& buildFile.exists()) {
apply(from = "${rootDir}/spotless/spotless.gradle")
}
apply(plugin = "io.gitlab.arturbosch.detekt")
}
tasks.withType<DependencyUpdatesTask> {
rejectVersionIf {
Dependencies.isStable(currentVersion) && Dependencies.isNonStable(candidate.version)
}
}
tasks.withType<VersionPrintTask> {
config.printFilePath = "build/tmp/temp-version"
}
tasks.withType<UnitTestsTask> {
config.outputPath = "build/tmp/unit-tests-command.sh"
}
tasks.withType<ReleaseTask> {
config.changelogPath = "CHANGELOG.md"
}
tasks.withType<ChangelogReleaseSectionTask> {
config.changelogPath = "CHANGELOG.md"
}
tasks.withType<ChangelogAddModelSectionTask> {
config.changelogPath = "CHANGELOG.md"
config.changelogModel = "CHANGELOG_MODEL.md"
}
tasks.withType<Delete> {
delete(rootProject.layout.buildDirectory)
}
apiValidation {
ignoredPackages.add("com/getstream/sdk/chat/databinding")
ignoredPackages.add("io/getstream/chat/android/ui/databinding")
ignoredProjects += listOf(
"stream-chat-android-docs",
"stream-chat-android-ui-components-sample",
"stream-chat-android-test",
"stream-chat-android-compose-sample",
"stream-chat-android-ui-guides",
"stream-chat-android-metrics",
)
nonPublicMarkers += listOf(
"io.getstream.chat.android.core.internal.InternalStreamChatApi",
)
}
apply(from = "${rootDir}/scripts/publish-root.gradle")