-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
96 lines (82 loc) · 3.11 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
94
95
96
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins {
id "java-library"
id "idea"
id "jacoco"
id 'java-test-fixtures'
}
configurations.all {
// https://aws.amazon.com/blogs/developer/tuning-the-aws-java-sdk-2-x-to-reduce-startup-time/
exclude group:"software.amazon.awssdk", module: "apache-client"
exclude group:"software.amazon.awssdk", module: "netty-nio-client"
exclude group:"software.amazon.awssdk", module: "url-connection-client"
}
dependencies {
api project(":lib"),
"software.amazon.awssdk:acm",
"org.bouncycastle:bcpkix-jdk15to18:${dependencyVersions.bouncycastle_bcpkix_version}"
aspect "software.amazon.lambda:powertools-logging:${dependencyVersions.aws_powertools_logging_version}",
"software.amazon.lambda:powertools-metrics:${dependencyVersions.aws_powertools_metrics_version}",
"software.amazon.lambda:powertools-parameters:${dependencyVersions.aws_powertools_parameters_version}"
testImplementation testFixtures(project(":lib")),"org.junit.jupiter:junit-jupiter-engine:${dependencyVersions.junit_version}",
"org.junit.jupiter:junit-jupiter-api:${dependencyVersions.junit_version}",
"org.junit.jupiter:junit-jupiter-params:${dependencyVersions.junit_version}",
"org.mockito:mockito-junit-jupiter:${dependencyVersions.mockito_version}",
"org.mockito:mockito-core:${dependencyVersions.mockito_version}",
"org.hamcrest:hamcrest:${dependencyVersions.hamcrest_version}",
"uk.org.webcompere:system-stubs-core:${dependencyVersions.webcompere_version}",
"uk.org.webcompere:system-stubs-jupiter:${dependencyVersions.webcompere_version}"
testFixturesImplementation "uk.gov.account:cri-common-lib:${dependencyVersions.cri_common_lib_version}"
compileOnly "org.projectlombok:lombok:${dependencyVersions.lombok_version}"
annotationProcessor "org.projectlombok:lombok:${dependencyVersions.lombok_version}"
}
tasks.named("jar") {
manifest {
attributes("Implementation-Title": project.name,
"Implementation-Version": project.version)
}
}
test {
useJUnitPlatform ()
finalizedBy jacocoTestReport, jacocoTestCoverageVerification
}
jacocoTestReport {
dependsOn test
reports {
xml.required.set(true)
}
}
tasks.withType(Test) {
testLogging {
events TestLogEvent.FAILED,
TestLogEvent.PASSED,
TestLogEvent.SKIPPED
exceptionFormat TestExceptionFormat.FULL
showExceptions true
showCauses true
showStackTraces true
afterSuite { suite, result ->
if (!suite.parent) {
def output = "Results: ${result.resultType} (${result.testCount} tests, ${result.successfulTestCount} passed, ${result.failedTestCount} failed, ${result.skippedTestCount} skipped)"
def startItem = "| ", endItem = " |"
def repeatLength = startItem.length() + output.length() + endItem.length()
println("\n" + ("-" * repeatLength) + "\n" + startItem + output + endItem + "\n" + ("-" * repeatLength))
}
}
}
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
counter = 'LINE'
minimum = minUnitTestLineCoverage
}
limit {
counter = 'BRANCH'
minimum = minUnitTestBranchCoverage
}
}
}
}