-
Notifications
You must be signed in to change notification settings - Fork 287
/
Copy pathbuild.gradle.kts
116 lines (101 loc) · 4.06 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
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
import io.getstream.chat.android.Dependencies
import io.getstream.chat.android.command.changelog.task.ChangelogAddModelSectionTask
import io.getstream.chat.android.command.changelog.task.ChangelogReleaseSectionTask
import io.getstream.chat.android.command.release.task.ReleaseTask
import io.getstream.chat.android.command.unittest.task.UnitTestsTask
import io.getstream.chat.android.command.version.task.VersionPrintTask
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
alias(libs.plugins.sonarqube) 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)
}
buildscript {
dependencies {
// TODO: Remove this workaround after AGP 8.9.0 is released
// Workaround for integrate sonarqube plugin with AGP
// It looks like will be fixed after AGP 8.9.0-alpha04 is released
// https://issuetracker.google.com/issues/380600747?pli=1
classpath("org.bouncycastle:bcutil-jdk18on:1.79")
}
}
apply(from = "${rootDir}/scripts/sample-app-versioner.gradle")
apply(from = "${rootDir}/scripts/sonar.gradle")
subprojects {
if (name != "stream-chat-android-docs"
&& buildFile.exists()) {
apply(from = "${rootDir}/spotless/spotless.gradle")
}
apply(plugin = "io.gitlab.arturbosch.detekt")
apply(from = "${rootDir}/scripts/coverage.gradle")
}
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-client-test",
"stream-chat-android-compose-sample",
"stream-chat-android-docs",
"stream-chat-android-e2e-test",
"stream-chat-android-previewdata",
"stream-chat-android-test",
"stream-chat-android-ui-components-sample",
"stream-chat-android-ui-guides",
"stream-chat-android-ui-uitests",
"stream-chat-android-metrics",
)
nonPublicMarkers += listOf(
"io.getstream.chat.android.core.internal.InternalStreamChatApi",
)
}
apply(from = "${rootDir}/scripts/publish-root.gradle")