-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.gradle
57 lines (46 loc) · 1.1 KB
/
build.gradle
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
plugins {
id 'java-library'
id 'penna.publishing'
id 'penna.build.projectVersion'
id 'pmd'
}
group 'com.hkupty.penna'
repositories {
mavenCentral()
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
// Reproducible builds
tasks.withType(AbstractArchiveTask).configureEach {
preserveFileTimestamps = false
reproducibleFileOrder = true
}
// The API is an optional client-facing library and therefore it should not have gaps
// in the documentation, nor fail on linting, so it is easier for consumers to understand
// what it is doing under the hood.
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
options.compilerArgs += [
"-Xlint:all",
"-Xdoclint:all/public",
"-Werror"
]
}
// version = "0.8.1"
dependencies {
compileOnly libs.slf4j
compileOnly libs.jetbrains.annotations
testImplementation libs.junit.api
testRuntimeOnly libs.junit.engine
}
test {
useJUnitPlatform()
}
jar {
manifest {
attributes('Implementation-Version': project.version)
}
}