-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle.kts
62 lines (58 loc) · 1.83 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
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
plugins {
idea
base
java
id("org.ajoberstar.reckon") version Globals.reckonGradlePluginVersion
id("com.github.ben-manes.versions") version Globals.versionsGradlePluginVersion
}
group = Globals.groupId
// version = Globals.version // reckon
reckon {
scopeFromProp()
// stageFromProp()
snapshotFromProp()
}
java.sourceCompatibility = Globals.javaVersion
tasks {
withType<Wrapper>().configureEach {
gradleVersion = Globals.gradleWrapperVersion
distributionType = Wrapper.DistributionType.BIN
}
withType<Test> {
useJUnitPlatform()
testLogging {
showExceptions = true
showStandardStreams = true
events(*Globals.testLoggingEvents)
}
}
named<DependencyUpdatesTask>("dependencyUpdates") {
resolutionStrategy {
componentSelection {
all {
val rejected = listOf("alpha", "beta", "rc", "cr", "m", "preview", "b", "ea", "SNAPSHOT")
.map { qualifier -> Regex("(?i).*[.-]$qualifier[.\\d-+]*") }
.any { it.matches(candidate.version) }
if (rejected) reject("Release candidate")
}
}
}
}
val buildSrcProjects = listOf("bot", "city", "user-message")
buildSrcProjects.forEach {
register<Copy>("$it-buildSrc") {
from("$rootDir/buildSrc")
into("$rootDir/$it/buildSrc")
doLast {
println("content copied to $rootDir/$it/buildSrc folder.")
}
}
}
register("buildSrc") {
dependsOn(buildSrcProjects
.map { "$it-buildSrc" }
.toTypedArray())
}
}
defaultTasks("clean", "buildSrc", "build")