generated from GoodforGod/java-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
65 lines (54 loc) · 1.35 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
58
59
60
61
62
63
64
65
plugins {
id "java"
id "application"
id "com.diffplug.spotless" version "6.1.0"
id "com.github.johnrengelman.shadow" version "7.1.0"
}
repositories {
mavenLocal()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
group = groupId
version = artifactVersion
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
mainClassName = "io.goodforgod.jmh.Bench"
dependencies {
annotationProcessor "org.openjdk.jmh:jmh-generator-annprocess:1.34"
implementation "org.openjdk.jmh:jmh-core:1.34"
}
test {
failFast(true)
useJUnitPlatform()
testLogging {
showStandardStreams(false)
events("passed", "skipped", "failed")
exceptionFormat("full")
}
}
spotless {
java {
encoding("UTF-8")
importOrder()
removeUnusedImports()
eclipse("4.21.0").configFile("${projectDir}/config/codestyle.xml")
}
}
jar.enabled(true)
shadowJar {
mergeServiceFiles()
manifest {
attributes "Main-Class": mainClassName
attributes "Implementation-Version": artifactVersion
attributes "Build-Time": java.time.OffsetDateTime.now()
}
}
artifacts {
archives shadowJar
}
tasks.withType(JavaCompile) {
options.encoding("UTF-8")
options.incremental(true)
options.fork = true
}