-
Notifications
You must be signed in to change notification settings - Fork 49
/
build.gradle
93 lines (75 loc) · 2.16 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
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
/*
* Open Source Software published under the Apache Licence, Version 2.0.
*/
import org.gradle.internal.os.OperatingSystem
plugins {
id "base"
id "com.github.ben-manes.versions" version "0.47.0"
id "net.researchgate.release" version "3.0.2"
id "org.sonarqube" version "3.5.0.2730"
id "com.github.spotbugs" version "5.0.14" apply false
}
ext {
operatingSystem = OperatingSystem.current()
}
allprojects {
group 'io.github.vocabhunter'
}
wrapper {
description 'Setup the Gradle wrapper'
gradleVersion = '8.1.1'
distributionUrl = "https://services.gradle.org/distributions/gradle-${gradleVersion}-all.zip"
}
subprojects {
apply plugin: 'java'
apply plugin: 'pmd'
apply plugin: 'checkstyle'
apply plugin: 'com.github.spotbugs'
apply plugin: 'jacoco'
sourceCompatibility = 17
targetCompatibility = 17
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.3'
testImplementation 'org.mockito:mockito-junit-jupiter:5.3.1'
runtimeOnly 'ch.qos.logback:logback-classic:1.4.8'
}
test {
useJUnitPlatform()
}
pmd {
toolVersion = '6.55.0'
ruleSetFiles = files("$rootProject.projectDir/config/pmd/ruleset.xml")
ruleSets = []
}
checkstyle {
toolVersion = '10.11.0'
configFile = file("$rootProject.projectDir/config/checkstyle/checkstyle.xml")
}
spotbugs {
toolVersion = '4.7.3'
effort = 'max'
reportLevel = 'medium'
excludeFilter = file("$rootProject.projectDir/config/spotbugs/excludeFilter.xml")
}
tasks.withType(com.github.spotbugs.snom.SpotBugsTask) {
reports {
xml.enabled = false
html.enabled = true
}
}
jacoco {
toolVersion = '0.8.10'
}
jacocoTestReport {
reports {
xml.required = true
xml.outputLocation = file("${buildDir}/reports/jacoco/report.xml")
}
}
[compileJava, compileTestJava].each { task ->
task.options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Werror"
}
}