-
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathbuild.gradle.kts
69 lines (57 loc) · 1.69 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
import pl.allegro.tech.build.axion.release.domain.PredefinedVersionCreator
plugins {
`maven-publish`
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
id("pl.allegro.tech.build.axion-release") version "1.18.16"
}
description = "JavaCAN is a binding to Linux' socketcan subsystem that feels native to Java developers."
scmVersion {
tag {
prefix = "javacan-"
}
nextVersion {
suffix = "SNAPSHOT"
separator = "-"
}
versionCreator = PredefinedVersionCreator.SIMPLE.versionCreator
}
val gitVersion: String = scmVersion.version
allprojects {
group = "tel.schich"
version = gitVersion
}
nexusPublishing {
this.repositories {
sonatype()
}
}
val publishAllToMavenLocal by tasks.registering(DefaultTask::class) {
group = "publishing"
project.subprojects
.flatMap { it.tasks }
.filter { it.enabled }
.filter { it.name == "publishToMavenLocal" }
.forEach {
this@registering.dependsOn(it)
}
}
val testAll by tasks.registering(DefaultTask::class) {
group = "verification"
project.subprojects
.flatMap { it.tasks .withType<Test>() }
.filter { it.enabled }
.forEach {
this@registering.dependsOn(it)
}
}
val mavenCentralDeploy by tasks.registering(DefaultTask::class) {
group = "publishing"
val isSnapshot = project.version.toString().endsWith("-SNAPSHOT")
val publishTasks = subprojects
.flatMap { it.tasks.withType<PublishToMavenRepository>() }
.filter { it.repository.name == "sonatype" }
dependsOn(publishTasks)
if (!isSnapshot) {
dependsOn(tasks.closeAndReleaseStagingRepositories)
}
}