-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
58 lines (48 loc) · 2.24 KB
/
build.gradle.kts
File metadata and controls
58 lines (48 loc) · 2.24 KB
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
import Build_common_lifecycle_gradle.CheckJvmArgsCompatibilityTask
import Build_common_lifecycle_gradle.LifeCycleUtility.dependsOnSameTaskInIncludedBuilds
import Build_common_lifecycle_gradle.LifeCycleUtility.dependsOnSameTaskInSubmodules
import io.github.simonhauck.release.version.api.Version
plugins {
id("build.common.lifecycle")
id("build.common.kotlin-conventions") apply false
id("io.github.simonhauck.release")
}
allprojects {
group = "io.github.simonhauck.release"
version = Version.fromPropertiesFile(rootProject.file("version.properties"))
}
// To prevent accidental release commits, a separate property must be set
release {
disablePush = !project.properties["enablePush"].toString().toBoolean()
gitName = "Release Bot"
gitEmail = "no-reply@release-bot.com"
}
// ---------------------------------------------------------------------------------------------------------------------
// Lifecycle
// ---------------------------------------------------------------------------------------------------------------------
val checkJvmArgsCompatibilityTask =
tasks.register<CheckJvmArgsCompatibilityTask>("checkJvmArgsCompatibility") {
gradlePropertiesFiles =
listOf(
layout.projectDirectory.file("gradle.properties").asFile,
layout.projectDirectory.file("build-logic/gradle.properties").asFile,
layout.projectDirectory.file("release-plugin/gradle.properties").asFile,
)
}
tasks.check { dependsOn(checkJvmArgsCompatibilityTask) }
listOf(tasks.clean, tasks.check, tasks.assemble, tasks.build).forEach {
it.dependsOnSameTaskInSubmodules()
it.dependsOnSameTaskInIncludedBuilds()
}
// ---------------------------------------------------------------------------------------------------------------------
// Formatting tasks
// ---------------------------------------------------------------------------------------------------------------------
tasks.register("format") {
group = "formatting"
dependsOnSameTaskInIncludedBuilds(excludedModule = listOf("build-logic"))
}
tasks.register("checkFormat") {
group = "verification"
dependsOnSameTaskInSubmodules()
dependsOnSameTaskInIncludedBuilds(excludedModule = listOf("build-logic"))
}