/
build.gradle
136 lines (123 loc) · 5.15 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
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
124
125
126
127
128
129
130
131
132
133
134
135
136
plugins {
id "com.github.johnrengelman.shadow" version "8.1.1"
id "io.micronaut.application" version "$micronautVersion"
id "io.micronaut.library" version "$micronautVersion"
id "com.gorylenko.gradle-git-properties" version "2.4.1"
id "org.owasp.dependencycheck" version "latest.release"
id "jacoco"
}
group "ca.airspeed"
version = '1.0.0-SNAPSHOT'
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
configurations {
// for dependencies that are needed for development only
developmentOnly
}
micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
annotations("ca.airspeed.*")
}
}
dependencies {
compileOnly "org.projectlombok:lombok"
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
annotationProcessor "org.projectlombok:lombok"
annotationProcessor "org.projectlombok:lombok-mapstruct-binding:${lombokMapstructBindingVersion}"
annotationProcessor "io.micronaut:micronaut-inject-java"
annotationProcessor "io.micronaut.data:micronaut-data-processor"
annotationProcessor "io.micronaut.openapi:micronaut-openapi"
annotationProcessor "io.micronaut.micrometer:micronaut-micrometer-annotation:${micronautMicrometerAnnotationVersion}"
implementation "io.micronaut:micronaut-http"
implementation "io.micronaut:micronaut-http-client"
implementation "io.micronaut:micronaut-inject"
implementation("io.micronaut.rxjava3:micronaut-rxjava3")
implementation "io.micronaut.data:micronaut-data-hibernate-jpa"
implementation "io.micronaut.discovery:micronaut-discovery-client"
implementation("io.micronaut.aws:micronaut-aws-sdk-v2")
implementation "software.amazon.awssdk:sqs"
implementation "software.amazon.awssdk:ssm"
implementation "io.micronaut:micronaut-management"
implementation "io.micronaut.micrometer:micronaut-micrometer-core"
implementation "io.micronaut.security:micronaut-security-annotations"
implementation "io.micronaut.security:micronaut-security-jwt"
implementation "io.micronaut.jms:micronaut-jms-sqs"
implementation "io.swagger.core.v3:swagger-annotations"
implementation "jakarta.persistence:jakarta.persistence-api:3.1.0"
implementation "org.apache.commons:commons-lang3:3.12.0"
implementation "org.mapstruct:mapstruct:${mapstructVersion}"
// runtimeOnly "com.amazonaws:aws-lambda-java-log4j2:1.1.0"
runtimeOnly "org.apache.logging.log4j:log4j-slf4j2-impl:2.22.1"
runtimeOnly "org.yaml:snakeyaml"
testAnnotationProcessor "io.micronaut:micronaut-inject-java"
testImplementation "org.projectlombok:lombok"
testAnnotationProcessor "org.projectlombok:lombok"
testImplementation "org.junit.jupiter:junit-jupiter-api"
testImplementation "org.junit.jupiter:junit-jupiter-params"
testImplementation "io.micronaut.test:micronaut-test-junit5"
testImplementation "org.mockito:mockito-junit-jupiter:3.8.0"
testImplementation "org.hamcrest:hamcrest:2.2"
testImplementation "com.tngtech.archunit:archunit-junit5:0.17.0"
testImplementation("io.micronaut.reactor:micronaut-reactor-http-client")
testImplementation "com.fasterxml.jackson.core:jackson-databind"
// testImplementation "io.micronaut:micronaut-function-client"
// testImplementation "io.micronaut:micronaut-inject-java"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1"
runtimeOnly 'io.micronaut.sql:micronaut-jdbc-hikari'
runtimeOnly "io.micronaut.data:micronaut-data-runtime"
testRuntimeOnly "com.h2database:h2"
runtimeOnly("mysql:mysql-connector-java")
// runtimeOnly "com.h2database:h2"
implementation "io.micronaut:micronaut-http-server-netty"
}
test.classpath += configurations.developmentOnly
// use JUnit 5 platform
test {
useJUnitPlatform()
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
afterEvaluate {
classDirectories.from = files(classDirectories.files.collect {
fileTree(dir: it, exclude: [
'**/Application.*',
'ca/airspeed/qbdapi/adapter/in/web/resource/WebCreditCardChargeMapperImpl.class',
'ca/airspeed/qbdapi/adapter/out/persistence/creditcard/CreditCardChargeMapperImpl.class',
'ca/airspeed/qbdapi/adapter/out/persistence/VendorMapperImpl.class'
])
})
}
}
tasks.withType(JavaCompile){
options.encoding = "UTF-8"
options.compilerArgs.add('-parameters')
}
run.classpath += configurations.developmentOnly
run.jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
mainClassName = "ca.airspeed.qbdapi.Application"
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.compilerArgs.add('-parameters')
options.fork = true
options.forkOptions.jvmArgs << '-Dmicronaut.openapi.views.spec=redoc.enabled=true,rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
}
compileJava {
options.compilerArgs += [
'-Amapstruct.unmappedTargetPolicy=IGNORE'
]
}
def nvdApiKey = System.getenv('NVD_API_KEY')
dependencyCheck {
nvd {
apiKey=nvdApiKey
}
}