-
Notifications
You must be signed in to change notification settings - Fork 277
/
Copy pathbuild.gradle.kts
119 lines (104 loc) · 4.45 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
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
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-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")