-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle
120 lines (105 loc) · 3.7 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
plugins {
id "com.diffplug.eclipse.apt" version "3.22.0"
id "groovy"
id "com.github.johnrengelman.shadow" version "6.0.0"
id "application"
id "com.google.cloud.tools.jib" version "2.1.0"
}
version "0.4"
group "mn.jwt.data"
repositories {
mavenCentral()
jcenter()
}
configurations {
// for dependencies that are needed for development only
developmentOnly
}
ext {
googleProjectId= "my-project"
micronautVersion = "2.0.0.RC1"
lombokVersion = "1.18.12"
}
dependencies {
//tag::lombok
compileOnly "org.projectlombok:lombok:$lombokVersion"
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
//end::lombok
annotationProcessor(platform("io.micronaut:micronaut-bom:$micronautVersion"))
annotationProcessor("io.micronaut:micronaut-inject-java")
annotationProcessor("io.micronaut:micronaut-validation")
annotationProcessor("io.micronaut.data:micronaut-data-processor")
annotationProcessor("io.micronaut.configuration:micronaut-openapi")
annotationProcessor("io.micronaut.security:micronaut-security-annotations")
implementation(platform("io.micronaut:micronaut-bom:$micronautVersion"))
implementation("io.micronaut:micronaut-inject")
implementation("io.micronaut:micronaut-validation")
implementation("io.micronaut:micronaut-runtime")
implementation("javax.annotation:javax.annotation-api")
implementation("io.micronaut:micronaut-http-server-netty")
implementation("io.micronaut:micronaut-http-client")
implementation("io.swagger.core.v3:swagger-annotations")
implementation("io.micronaut.sql:micronaut-jdbc-hikari")
implementation("io.micronaut.data:micronaut-data-hibernate-jpa")
implementation("io.micronaut.sql:micronaut-hibernate-jpa")
implementation("io.micronaut.security:micronaut-security-jwt")
runtimeOnly("ch.qos.logback:logback-classic")
runtimeOnly("com.h2database:h2")
testImplementation(platform("io.micronaut:micronaut-bom:$micronautVersion"))
testImplementation("io.micronaut:micronaut-inject-groovy")
testImplementation("org.spockframework:spock-core") {
exclude group: "org.codehaus.groovy", module: "groovy-all"
}
testImplementation("io.micronaut.test:micronaut-test-spock")
}
test.classpath += configurations.developmentOnly
mainClassName = "mn.jwt.data.Application"
// use JUnit 5 platform
test {
useJUnitPlatform()
}
java {
sourceCompatibility = JavaVersion.toVersion('11')
targetCompatibility = JavaVersion.toVersion('11')
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.compilerArgs.addAll([
'-parameters',
// enables incremental compilation
'-Amicronaut.processing.incremental=true',
'-Amicronaut.processing.annotations=mn.jwt.data.*',
"-Amicronaut.processing.group=$project.group",
"-Amicronaut.processing.module=$project.name",
])
}
shadowJar {
mergeServiceFiles()
}
tasks.withType(JavaExec) {
classpath += configurations.developmentOnly
jvmArgs('-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')
if (gradle.startParameter.continuous) {
systemProperties(
'micronaut.io.watch.restart':'true',
'micronaut.io.watch.enabled':'true',
"micronaut.io.watch.paths":"src/main"
)
}
}
jib {
to {
image = "gcr.io/$googleProjectId/mn-jwt-data"
}
from {
image = "adoptopenjdk/openjdk11-openj9:jdk-11.0.1.13-alpine-slim"
}
container {
jvmFlags = [
// this flag is appropriate for Servlet deployments
// reducing startup time by constraining the JIT
'-XX:TieredStopAtLevel=1',
'-XX:MaxRAM=256m'
]
}
}