forked from jwiesler/ips4o-verify
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
123 lines (105 loc) · 3.89 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
120
121
122
123
import io.github.gradlenexus.publishplugin.NexusRepositoryContainer
import java.time.Duration
plugins {
`java-library`
signing
`maven-publish`
id("io.github.gradle-nexus.publish-plugin") version "1.0.0"
idea
}
group = "org.key-project.ips4o"
version = "1.0"
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-params:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
}
tasks.test {
useJUnitPlatform()
}
// configure all java components to be published
publishing {
publications {
create<MavenPublication>("maven") {
from(components.getByName("java"))
pom {
name = project.name
description = "A fast and formally verified sorting algorithm."
url = "https://github.com/keyproject/ips4o-verify"
licenses {
license {
name = "Simplified BSD License"
url = "https://opensource.org/licenses/BSD-2-Clause"
}
}
developers {
developer {
id = "jwiesler"
name = "Julian Wiesler"
email = "[email protected]"
roles = setOf("developer", "verifier")
}
developer {
id = "witt"
name = "Sascha Witt"
email = "[email protected]"
roles = setOf("developer")
}
developer {
id = "mattulbrich"
name = "Mattias Ulbrich"
email = "[email protected]"
roles = setOf("verifier")
url = "https://formal.iti.kit.edu/ulbrich"
organization = "Karlsruhe Institute of Technology"
organizationUrl = "https://formal.iti.kit.edu"
}
}
contributors {
contributor {
name = "Alexander Weigl"
email = "[email protected]"
roles = setOf("maintainer")
url = "https://formal.iti.kit.edu/weigl"
organization = "Karlsruhe Institute of Technology"
organizationUrl = "https://formal.iti.kit.edu"
}
}
issueManagement {
system = "Github"
url = "https://github.com/keyproject/ips4o-verify/issues"
}
scm {
connection = "scm:git:https://github.com/keyproject/ips4o-verify"
developerConnection = "scm:git:ssh://github.com/keyproject/ips4o-verify.git"
url = "https://github.com/keyproject/ips4o-verify"
}
}
}
}
}
// ossrh requires javadoc and sources https://central.sonatype.org/pages/requirements.html
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
withJavadocJar()
withSourcesJar()
}
signing {
useGpgCmd()
sign(publishing.publications["maven"])
}
nexusPublishing {
repositories(Action<NexusRepositoryContainer> {
sonatype {
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
}
})
// these are not strictly required. The default timeouts are set to 1 minute. But Sonatype can be really slow.
// If you get the error "java.net.SocketTimeoutException: timeout", these lines will help.
connectTimeout = Duration.ofMinutes(3)
clientTimeout = Duration.ofMinutes(3)
}