-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
55 lines (45 loc) · 1.49 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
val junitJupiterVersion by project
version = "$junitJupiterVersion"
group = "org.mikeneck.junit.starter"
subprojects {
group = rootProject.group
version = rootProject.version
tasks.withType<Jar>().all {
baseName = "${rootProject.name}-${project.name}"
}
}
tasks {
val projects = listOf(":normal", ":library", ":spek")
"allTests" {
group = "Verification"
description = "Runs all tests."
val tests = projects.map { "$it:junitPlatformTest" }
dependsOn(tests)
doLast {
val states = tests.map { task(it) }.map(Task::getState)
val results = states.all { it.failure == null }
if (!results) {
val failed = states.find { it.failure != null } as TaskState
throw GradleScriptException("Test failed.", failed.failure as Throwable)
}
}
}
"allPublish" {
group = "Plugin Portal"
description = "Publishes all plugins."
dependsOn(projects.map { "$it:publishPlugins" })
}
"allUpdates" {
group = "Update check"
description = "Checks library updates"
dependsOn((projects + ":junit-starter-core").map { "$it:dependencyUpdates" })
}
"allVersions" {
doLast {
(projects + ":junit-starter-core")
.map { it to project(it) }
.map { it.first to it.second.version }
.forEach { println("${it.first} : ${it.second}") }
}
}
}