| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 1 | import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage | 
 | 2 | import com.bmuschko.gradle.docker.tasks.image.DockerPushImage | 
 | 3 |  | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 4 | plugins { | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 5 |     id 'java' | 
 | 6 |     id 'io.quarkus' | 
| Matthias Andreas Benkard | f7bf7c4 | 2020-01-28 22:31:12 +0100 | [diff] [blame] | 7 |     id "com.bmuschko.docker-remote-api" version "${dockerPluginVersion}" | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 8 |     id "com.diffplug.gradle.spotless" version "${spotlessPluginVersion}" | 
 | 9 |     id "com.github.ben-manes.versions" version "${versionsPluginVersion}" | 
 | 10 |     id "se.patrikerdes.use-latest-versions" version "${useLatestVersionsPluginVersion}" | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 11 | } | 
 | 12 |  | 
| Matthias Andreas Benkard | 513deee | 2020-01-12 20:58:56 +0100 | [diff] [blame] | 13 | sourceCompatibility = 11 | 
 | 14 | targetCompatibility = 11 | 
 | 15 |  | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 16 | repositories { | 
 | 17 |      mavenLocal() | 
 | 18 |      mavenCentral() | 
 | 19 | } | 
 | 20 |  | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 21 | tasks { | 
 | 22 |     dependencyUpdates { | 
 | 23 |         checkConstraints = true | 
 | 24 |         gradleReleaseChannel = "current" | 
 | 25 |         revision = "release" | 
 | 26 |     } | 
 | 27 | } | 
 | 28 |  | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 29 | dependencies { | 
 | 30 |     implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}") | 
 | 31 |  | 
 | 32 |     implementation 'io.quarkus:quarkus-agroal' | 
| Matthias Andreas Benkard | c27d1cb | 2020-01-26 11:11:24 +0100 | [diff] [blame] | 33 |     implementation 'io.quarkus:quarkus-elytron-security-properties-file' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 34 |     implementation 'io.quarkus:quarkus-flyway' | 
 | 35 |     implementation 'io.quarkus:quarkus-hibernate-orm-panache' | 
 | 36 |     implementation 'io.quarkus:quarkus-hibernate-validator' | 
 | 37 |     implementation 'io.quarkus:quarkus-jdbc-postgresql' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 38 |     implementation 'io.quarkus:quarkus-kubernetes' | 
 | 39 |     implementation 'io.quarkus:quarkus-mailer' | 
| Matthias Andreas Benkard | 24a2514 | 2020-01-24 13:25:54 +0100 | [diff] [blame] | 40 |     implementation 'io.quarkus:quarkus-oidc' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 41 |     implementation 'io.quarkus:quarkus-resteasy' | 
 | 42 |     implementation 'io.quarkus:quarkus-resteasy-jsonb' | 
 | 43 |     implementation 'io.quarkus:quarkus-resteasy-qute' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 44 |     implementation 'io.quarkus:quarkus-scheduler' | 
| Matthias Andreas Benkard | 2a1383f | 2020-02-01 23:53:17 +0100 | [diff] [blame] | 45 |     implementation 'io.quarkus:quarkus-smallrye-jwt' | 
| Matthias Andreas Benkard | e5f81e5 | 2020-01-18 12:48:40 +0100 | [diff] [blame] | 46 |  | 
 | 47 |     //implementation 'io.quarkus:quarkus-elytron-security' | 
 | 48 |     //implementation 'io.quarkus:quarkus-elytron-security-jdbc' | 
 | 49 |     //implementation 'io.quarkus:quarkus-elytron-security-oauth2' | 
 | 50 |     //implementation 'io.quarkus:quarkus-keycloak-authorization' | 
| Matthias Andreas Benkard | e5f81e5 | 2020-01-18 12:48:40 +0100 | [diff] [blame] | 51 |     //implementation 'io.quarkus:quarkus-quartz' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 52 |     //implementation 'io.quarkus:quarkus-smallrye-fault-tolerance' | 
 | 53 |     //implementation 'io.quarkus:quarkus-smallrye-health' | 
 | 54 |     //implementation 'io.quarkus:quarkus-smallrye-metrics' | 
 | 55 |     //implementation 'io.quarkus:quarkus-smallrye-openapi' | 
 | 56 |  | 
 | 57 |     //implementation 'jakarta.transaction:jakarta.transaction-api' | 
 | 58 |     //implementation 'org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec' | 
 | 59 |     //implementation 'jakarta.persistence:jakarta.persistence-api' | 
 | 60 |  | 
| Matthias Andreas Benkard | 2a1383f | 2020-02-01 23:53:17 +0100 | [diff] [blame] | 61 |     implementation "org.bitbucket.b_c:jose4j" | 
 | 62 |  | 
| Matthias Andreas Benkard | 5d71a9e | 2020-01-18 12:31:26 +0100 | [diff] [blame] | 63 |     implementation 'org.mapstruct:mapstruct' | 
 | 64 |     compileOnly 'org.mapstruct:mapstruct-processor' | 
 | 65 |  | 
 | 66 |     compileOnly 'com.google.code.findbugs:jsr305' | 
 | 67 |  | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 68 |     implementation 'com.vladmihalcea:hibernate-types-52' | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 69 |  | 
| Matthias Andreas Benkard | 5d71a9e | 2020-01-18 12:31:26 +0100 | [diff] [blame] | 70 |     implementation "jakarta.security.jacc:jakarta.security.jacc-api" | 
 | 71 |     implementation "net.java.dev.jna:jna" | 
 | 72 |  | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 73 |     testImplementation 'io.quarkus:quarkus-junit5' | 
 | 74 |     testImplementation 'io.rest-assured:rest-assured' | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 75 |  | 
| Matthias Andreas Benkard | 4e29a24 | 2020-01-25 05:38:27 +0100 | [diff] [blame] | 76 |     implementation 'org.jsoup:jsoup:1.12.1' | 
 | 77 |  | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 78 |     constraints { | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 79 |         implementation "com.vladmihalcea:hibernate-types-52:${hibernateTypesVersion}" | 
| Matthias Andreas Benkard | 5d71a9e | 2020-01-18 12:31:26 +0100 | [diff] [blame] | 80 |         implementation "org.mapstruct:mapstruct:${mapstructVersion}" | 
 | 81 |         compileOnly "org.mapstruct:mapstruct-processor:${mapstructVersion}" | 
 | 82 |         compileOnly "com.google.code.findbugs:jsr305:${findbugsJsr305Version}" | 
 | 83 |         implementation "jakarta.security.jacc:jakarta.security.jacc-api:${jakartaJaccVersion}" | 
 | 84 |         implementation "net.java.dev.jna:jna:${jnaVersion}" | 
| Matthias Andreas Benkard | 2a1383f | 2020-02-01 23:53:17 +0100 | [diff] [blame] | 85 |         implementation "org.bitbucket.b_c:jose4j:${jose4jVersion}" | 
| Matthias Andreas Benkard | f611d9e | 2020-01-13 05:04:52 +0100 | [diff] [blame] | 86 |     } | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 87 | } | 
 | 88 |  | 
 | 89 | spotless { | 
| Matthias Andreas Benkard | 4be112f | 2020-01-12 20:29:38 +0100 | [diff] [blame] | 90 |   java { | 
 | 91 |     googleJavaFormat() | 
 | 92 |     removeUnusedImports() | 
 | 93 |   } | 
| Matthias Andreas Benkard | 4c5847b | 2020-01-12 15:42:02 +0100 | [diff] [blame] | 94 | } | 
 | 95 |  | 
| Matthias Andreas Benkard | f7bf7c4 | 2020-01-28 22:31:12 +0100 | [diff] [blame] | 96 | group "eu.mulk" | 
 | 97 | version "${projectVersion}" | 
| Matthias Andreas Benkard | 2a10755 | 2020-01-23 10:47:52 +0100 | [diff] [blame] | 98 |  | 
 | 99 | task yarnInstall(type:Exec) { | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 100 |   def resourceDir = "src/main/resources/META-INF/resources" | 
 | 101 |  | 
| Matthias Andreas Benkard | c52eb74 | 2020-02-02 19:06:54 +0100 | [diff] [blame] | 102 |   onlyIf { !project.hasProperty('skipWeb') } | 
 | 103 |  | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 104 |   inputs.file "${resourceDir}/package.json" | 
 | 105 |   outputs.dir "${resourceDir}/node_modules" | 
 | 106 |   outputs.file "${resourceDir}/yarn.lock" | 
 | 107 |  | 
 | 108 |   workingDir resourceDir | 
| Matthias Andreas Benkard | 2a10755 | 2020-01-23 10:47:52 +0100 | [diff] [blame] | 109 |   commandLine "yarn", "install" | 
 | 110 | } | 
 | 111 |  | 
 | 112 | task snowpack(type:Exec) { | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 113 |   def resourceDir = "src/main/resources/META-INF/resources" | 
 | 114 |  | 
| Matthias Andreas Benkard | c52eb74 | 2020-02-02 19:06:54 +0100 | [diff] [blame] | 115 |   onlyIf { !project.hasProperty('skipWeb') } | 
 | 116 |  | 
| Matthias Andreas Benkard | 2a10755 | 2020-01-23 10:47:52 +0100 | [diff] [blame] | 117 |   dependsOn yarnInstall | 
 | 118 |  | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 119 |   inputs.dir "${resourceDir}/node_modules" | 
 | 120 |   inputs.file "${resourceDir}/yarn.lock" | 
 | 121 |   inputs.file "${resourceDir}/package.json" | 
 | 122 |   outputs.dir "${resourceDir}/web_modules" | 
 | 123 |  | 
 | 124 |   workingDir resourceDir | 
| Matthias Andreas Benkard | 2a10755 | 2020-01-23 10:47:52 +0100 | [diff] [blame] | 125 |   commandLine "yarn", "run", "snowpack" | 
 | 126 | } | 
 | 127 |  | 
 | 128 | task compileWeb { | 
 | 129 |   dependsOn snowpack | 
 | 130 |  | 
 | 131 |   doLast {} | 
 | 132 | } | 
 | 133 |  | 
| Matthias Andreas Benkard | b712a01 | 2020-01-26 08:10:49 +0100 | [diff] [blame] | 134 | processResources { | 
 | 135 |     exclude("META-INF/resources/node_modules/**/*") | 
| Matthias Andreas Benkard | 97130f9 | 2020-01-27 21:03:39 +0100 | [diff] [blame] | 136 |     exclude("META-INF/resources/package.json") | 
 | 137 |     exclude("META-INF/resources/yarn.lock") | 
| Matthias Andreas Benkard | b712a01 | 2020-01-26 08:10:49 +0100 | [diff] [blame] | 138 | } | 
 | 139 |  | 
| Matthias Andreas Benkard | b428e52 | 2020-01-26 08:13:04 +0100 | [diff] [blame] | 140 | quarkusBuild.dependsOn compileWeb | 
| Matthias Andreas Benkard | f7bf7c4 | 2020-01-28 22:31:12 +0100 | [diff] [blame] | 141 |  | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 142 | task buildDocker(type: DockerBuildImage) { | 
| Matthias Andreas Benkard | c52eb74 | 2020-02-02 19:06:54 +0100 | [diff] [blame] | 143 |     onlyIf { !project.hasProperty('skipDocker') } | 
 | 144 |  | 
| Matthias Andreas Benkard | f7bf7c4 | 2020-01-28 22:31:12 +0100 | [diff] [blame] | 145 |     inputDir = file(".") | 
 | 146 |     dockerFile = file("src/main/docker/Dockerfile.jvm") | 
 | 147 |     images.add("docker.benkard.de/mulk/mulkcms2:${projectVersion}") | 
 | 148 | } | 
 | 149 |  | 
 | 150 | buildDocker.dependsOn quarkusBuild | 
 | 151 | assemble.dependsOn buildDocker | 
 | 152 |  | 
| Matthias Andreas Benkard | 02e10f1 | 2020-02-02 18:46:56 +0100 | [diff] [blame] | 153 | task pushDocker(type: DockerPushImage) { | 
| Matthias Andreas Benkard | f7bf7c4 | 2020-01-28 22:31:12 +0100 | [diff] [blame] | 154 |     images.add("docker.benkard.de/mulk/mulkcms2:${projectVersion}") | 
 | 155 | } | 
 | 156 |  | 
 | 157 | pushDocker.dependsOn buildDocker |