blob: 3986100dd8aa9d5e41a88e874f7e8ea8491eadf4 [file] [log] [blame]
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +01001plugins {
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +01002 id 'java'
3 id 'io.quarkus'
Matthias Andreas Benkardf7bf7c42020-01-28 22:31:12 +01004 id "com.bmuschko.docker-remote-api" version "${dockerPluginVersion}"
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +01005 id "com.diffplug.gradle.spotless" version "${spotlessPluginVersion}"
6 id "com.github.ben-manes.versions" version "${versionsPluginVersion}"
7 id "se.patrikerdes.use-latest-versions" version "${useLatestVersionsPluginVersion}"
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +01008}
9
Matthias Andreas Benkard513deee2020-01-12 20:58:56 +010010sourceCompatibility = 11
11targetCompatibility = 11
12
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010013repositories {
14 mavenLocal()
15 mavenCentral()
16}
17
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010018tasks {
19 dependencyUpdates {
20 checkConstraints = true
21 gradleReleaseChannel = "current"
22 revision = "release"
23 }
24}
25
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010026dependencies {
27 implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
28
29 implementation 'io.quarkus:quarkus-agroal'
Matthias Andreas Benkardc27d1cb2020-01-26 11:11:24 +010030 implementation 'io.quarkus:quarkus-elytron-security-properties-file'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010031 implementation 'io.quarkus:quarkus-flyway'
32 implementation 'io.quarkus:quarkus-hibernate-orm-panache'
33 implementation 'io.quarkus:quarkus-hibernate-validator'
34 implementation 'io.quarkus:quarkus-jdbc-postgresql'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010035 implementation 'io.quarkus:quarkus-kubernetes'
36 implementation 'io.quarkus:quarkus-mailer'
Matthias Andreas Benkard24a25142020-01-24 13:25:54 +010037 implementation 'io.quarkus:quarkus-oidc'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010038 implementation 'io.quarkus:quarkus-resteasy'
39 implementation 'io.quarkus:quarkus-resteasy-jsonb'
40 implementation 'io.quarkus:quarkus-resteasy-qute'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010041 implementation 'io.quarkus:quarkus-scheduler'
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +010042 implementation 'io.quarkus:quarkus-smallrye-jwt'
Matthias Andreas Benkarde5f81e52020-01-18 12:48:40 +010043
44 //implementation 'io.quarkus:quarkus-elytron-security'
45 //implementation 'io.quarkus:quarkus-elytron-security-jdbc'
46 //implementation 'io.quarkus:quarkus-elytron-security-oauth2'
47 //implementation 'io.quarkus:quarkus-keycloak-authorization'
Matthias Andreas Benkarde5f81e52020-01-18 12:48:40 +010048 //implementation 'io.quarkus:quarkus-quartz'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010049 //implementation 'io.quarkus:quarkus-smallrye-fault-tolerance'
50 //implementation 'io.quarkus:quarkus-smallrye-health'
51 //implementation 'io.quarkus:quarkus-smallrye-metrics'
52 //implementation 'io.quarkus:quarkus-smallrye-openapi'
53
54 //implementation 'jakarta.transaction:jakarta.transaction-api'
55 //implementation 'org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec'
56 //implementation 'jakarta.persistence:jakarta.persistence-api'
57
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +010058 implementation "org.bitbucket.b_c:jose4j"
59
Matthias Andreas Benkard5d71a9e2020-01-18 12:31:26 +010060 implementation 'org.mapstruct:mapstruct'
61 compileOnly 'org.mapstruct:mapstruct-processor'
62
63 compileOnly 'com.google.code.findbugs:jsr305'
64
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010065 implementation 'com.vladmihalcea:hibernate-types-52'
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010066
Matthias Andreas Benkard5d71a9e2020-01-18 12:31:26 +010067 implementation "jakarta.security.jacc:jakarta.security.jacc-api"
68 implementation "net.java.dev.jna:jna"
69
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010070 testImplementation 'io.quarkus:quarkus-junit5'
71 testImplementation 'io.rest-assured:rest-assured'
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010072
Matthias Andreas Benkard4e29a242020-01-25 05:38:27 +010073 implementation 'org.jsoup:jsoup:1.12.1'
74
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010075 constraints {
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010076 implementation "com.vladmihalcea:hibernate-types-52:${hibernateTypesVersion}"
Matthias Andreas Benkard5d71a9e2020-01-18 12:31:26 +010077 implementation "org.mapstruct:mapstruct:${mapstructVersion}"
78 compileOnly "org.mapstruct:mapstruct-processor:${mapstructVersion}"
79 compileOnly "com.google.code.findbugs:jsr305:${findbugsJsr305Version}"
80 implementation "jakarta.security.jacc:jakarta.security.jacc-api:${jakartaJaccVersion}"
81 implementation "net.java.dev.jna:jna:${jnaVersion}"
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +010082 implementation "org.bitbucket.b_c:jose4j:${jose4jVersion}"
Matthias Andreas Benkardf611d9e2020-01-13 05:04:52 +010083 }
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010084}
85
86spotless {
Matthias Andreas Benkard4be112f2020-01-12 20:29:38 +010087 java {
88 googleJavaFormat()
89 removeUnusedImports()
90 }
Matthias Andreas Benkard4c5847b2020-01-12 15:42:02 +010091}
92
Matthias Andreas Benkardf7bf7c42020-01-28 22:31:12 +010093group "eu.mulk"
94version "${projectVersion}"
Matthias Andreas Benkard2a107552020-01-23 10:47:52 +010095
96task yarnInstall(type:Exec) {
97 workingDir "src/main/resources/META-INF/resources"
98 commandLine "yarn", "install"
99}
100
101task snowpack(type:Exec) {
102 dependsOn yarnInstall
103
104 workingDir "src/main/resources/META-INF/resources"
105 commandLine "yarn", "run", "snowpack"
106}
107
108task compileWeb {
109 dependsOn snowpack
110
111 doLast {}
112}
113
Matthias Andreas Benkardb712a012020-01-26 08:10:49 +0100114processResources {
115 exclude("META-INF/resources/node_modules/**/*")
Matthias Andreas Benkard97130f92020-01-27 21:03:39 +0100116 exclude("META-INF/resources/package.json")
117 exclude("META-INF/resources/yarn.lock")
Matthias Andreas Benkardb712a012020-01-26 08:10:49 +0100118}
119
Matthias Andreas Benkardb428e522020-01-26 08:13:04 +0100120quarkusBuild.dependsOn compileWeb
Matthias Andreas Benkardf7bf7c42020-01-28 22:31:12 +0100121
122task buildDocker(type: com.bmuschko.gradle.docker.tasks.image.DockerBuildImage) {
123 inputDir = file(".")
124 dockerFile = file("src/main/docker/Dockerfile.jvm")
125 images.add("docker.benkard.de/mulk/mulkcms2:${projectVersion}")
126}
127
128buildDocker.dependsOn quarkusBuild
129assemble.dependsOn buildDocker
130
131task pushDocker(type: com.bmuschko.gradle.docker.tasks.image.DockerPushImage) {
132 images.add("docker.benkard.de/mulk/mulkcms2:${projectVersion}")
133}
134
135pushDocker.dependsOn buildDocker