blob: 1701c09deb18eedcb7c06a7814d4f436d2e85091 [file] [log] [blame]
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +01001<?xml version="1.0"?>
2<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4
5 <modelVersion>4.0.0</modelVersion>
6
7 <groupId>eu.mulk</groupId>
8 <artifactId>mulkcms2</artifactId>
9 <version>0.1.0-SNAPSHOT</version>
10
11 <properties>
12 <maven.compiler.parameters>true</maven.compiler.parameters>
13 <maven.compiler.source>11</maven.compiler.source>
14 <maven.compiler.target>11</maven.compiler.target>
15
16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
18
19 <compiler-plugin.version>3.8.1</compiler-plugin.version>
Matthias Andreas Benkardf7bf7c42020-01-28 22:31:12 +010020 <dockerfile-plugin.version>1.4.13</dockerfile-plugin.version>
Matthias Andreas Benkard2710bf32020-01-25 10:48:07 +010021 <quarkus-plugin.version>1.2.0.Final</quarkus-plugin.version>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010022 <surefire-plugin.version>3.0.0-M4</surefire-plugin.version>
23 <spotless-plugin.version>1.26.1</spotless-plugin.version>
24
Matthias Andreas Benkard2710bf32020-01-25 10:48:07 +010025 <!-- <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id> -->
26 <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010027 <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
Matthias Andreas Benkard2710bf32020-01-25 10:48:07 +010028 <quarkus.platform.version>1.2.0.Final</quarkus.platform.version>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010029
30 <findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
Matthias Andreas Benkard6fea8132020-02-08 10:17:38 +010031 <hibernate-types.version>2.9.3</hibernate-types.version>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010032 <mapstruct.version>1.3.1.Final</mapstruct.version>
Matthias Andreas Benkard2710bf32020-01-25 10:48:07 +010033 <testcontainers.version>1.12.5</testcontainers.version>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010034 <jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
35 <jna.version>5.5.0</jna.version>
Matthias Andreas Benkard4e29a242020-01-25 05:38:27 +010036 <jsoup.version>1.12.1</jsoup.version>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010037 </properties>
38
39 <dependencyManagement>
40 <dependencies>
41
42 <dependency>
43 <groupId>${quarkus.platform.group-id}</groupId>
44 <artifactId>${quarkus.platform.artifact-id}</artifactId>
45 <version>${quarkus.platform.version}</version>
46 <type>pom</type>
47 <scope>import</scope>
48 </dependency>
49
50 <!-- Hibernate PostgreSQL Extra Types -->
51 <dependency>
52 <groupId>com.vladmihalcea</groupId>
53 <artifactId>hibernate-types-52</artifactId>
54 <version>${hibernate-types.version}</version>
55 </dependency>
56
Matthias Andreas Benkard4e29a242020-01-25 05:38:27 +010057 <!-- Jsoup -->
58 <dependency>
59 <groupId>org.jsoup</groupId>
60 <artifactId>jsoup</artifactId>
61 <version>${jsoup.version}</version>
62 </dependency>
63
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010064 <!-- JNA -->
65 <dependency>
66 <groupId>net.java.dev.jna</groupId>
67 <artifactId>jna</artifactId>
68 <version>${jna.version}</version>
69 </dependency>
70
71 <!-- JACC -->
72 <dependency>
73 <groupId>jakarta.security.jacc</groupId>
74 <artifactId>jakarta.security.jacc-api</artifactId>
75 <version>${jakarta-jacc-api.version}</version>
76 </dependency>
77
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +010078 <!-- JOSE for Java -->
79 <dependency>
80 <groupId>org.bitbucket.b_c</groupId>
81 <artifactId>jose4j</artifactId>
82 <version>0.7.0</version>
83 </dependency>
84
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +010085 <!-- MapStruct -->
86 <dependency>
87 <groupId>org.mapstruct</groupId>
88 <artifactId>mapstruct</artifactId>
89 <version>${mapstruct.version}</version>
90 </dependency>
91 <dependency>
92 <groupId>org.mapstruct</groupId>
93 <artifactId>mapstruct-processor</artifactId>
94 <version>${mapstruct.version}</version>
95 <scope>provided</scope>
96 </dependency>
97
98 <!-- Annotations -->
99 <dependency>
100 <groupId>com.google.code.findbugs</groupId>
101 <artifactId>jsr305</artifactId>
102 <version>${findbugs-jsr305.version}</version>
103 <scope>provided</scope>
104 </dependency>
105
106 <!-- Testing -->
107 <dependency>
108 <groupId>org.testcontainers</groupId>
109 <artifactId>testcontainers</artifactId>
110 <version>${testcontainers.version}</version>
111 <scope>test</scope>
112 </dependency>
113 <dependency>
114 <groupId>org.testcontainers</groupId>
115 <artifactId>postgresql</artifactId>
116 <version>${testcontainers.version}</version>
117 <scope>test</scope>
118 </dependency>
119
120 </dependencies>
121 </dependencyManagement>
122
123 <dependencies>
124
125 <dependency>
126 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard4cb34f42020-01-24 14:44:28 +0100127 <artifactId>quarkus-agroal</artifactId>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100128 </dependency>
129 <dependency>
130 <groupId>io.quarkus</groupId>
Matthias Andreas Benkardc27d1cb2020-01-26 11:11:24 +0100131 <artifactId>quarkus-elytron-security-properties-file</artifactId>
132 </dependency>
133 <dependency>
134 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100135 <artifactId>quarkus-flyway</artifactId>
136 </dependency>
137 <dependency>
138 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard4cb34f42020-01-24 14:44:28 +0100139 <artifactId>quarkus-hibernate-orm-panache</artifactId>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100140 </dependency>
141 <dependency>
142 <groupId>io.quarkus</groupId>
143 <artifactId>quarkus-hibernate-validator</artifactId>
144 </dependency>
145 <dependency>
146 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard4cb34f42020-01-24 14:44:28 +0100147 <artifactId>quarkus-jdbc-postgresql</artifactId>
148 </dependency>
149 <dependency>
150 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100151 <artifactId>quarkus-kubernetes</artifactId>
152 </dependency>
153 <dependency>
154 <groupId>io.quarkus</groupId>
Matthias Andreas Benkard4cb34f42020-01-24 14:44:28 +0100155 <artifactId>quarkus-mailer</artifactId>
156 </dependency>
157 <dependency>
158 <groupId>io.quarkus</groupId>
159 <artifactId>quarkus-oidc</artifactId>
160 </dependency>
161 <dependency>
162 <groupId>io.quarkus</groupId>
163 <artifactId>quarkus-resteasy</artifactId>
164 </dependency>
165 <dependency>
166 <groupId>io.quarkus</groupId>
167 <artifactId>quarkus-resteasy-jsonb</artifactId>
168 </dependency>
169 <dependency>
170 <groupId>io.quarkus</groupId>
171 <artifactId>quarkus-resteasy-qute</artifactId>
172 </dependency>
173 <dependency>
174 <groupId>io.quarkus</groupId>
175 <artifactId>quarkus-scheduler</artifactId>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100176 </dependency>
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +0100177 <dependency>
178 <groupId>io.quarkus</groupId>
179 <artifactId>quarkus-smallrye-jwt</artifactId>
180 </dependency>
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100181
182 <!-- JNA -->
183 <dependency>
184 <groupId>net.java.dev.jna</groupId>
185 <artifactId>jna</artifactId>
186 </dependency>
187
188 <!-- JACC -->
189 <dependency>
190 <groupId>jakarta.security.jacc</groupId>
191 <artifactId>jakarta.security.jacc-api</artifactId>
192 </dependency>
193
194 <!-- Hibernate PostgreSQL Extra Types -->
195 <dependency>
196 <groupId>com.vladmihalcea</groupId>
197 <artifactId>hibernate-types-52</artifactId>
198 </dependency>
199
Matthias Andreas Benkard4e29a242020-01-25 05:38:27 +0100200 <!-- Jsoup -->
201 <dependency>
202 <groupId>org.jsoup</groupId>
203 <artifactId>jsoup</artifactId>
204 </dependency>
205
Matthias Andreas Benkard2a1383f2020-02-01 23:53:17 +0100206 <!-- JOSE for Java -->
207 <dependency>
208 <groupId>org.bitbucket.b_c</groupId>
209 <artifactId>jose4j</artifactId>
210 </dependency>
211
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100212 <!-- MapStruct -->
213 <dependency>
214 <groupId>org.mapstruct</groupId>
215 <artifactId>mapstruct</artifactId>
216 </dependency>
217 <dependency>
218 <groupId>org.mapstruct</groupId>
219 <artifactId>mapstruct-processor</artifactId>
220 <scope>provided</scope>
221 </dependency>
222
223 <!-- Annotations -->
224 <dependency>
225 <groupId>com.google.code.findbugs</groupId>
226 <artifactId>jsr305</artifactId>
227 <scope>provided</scope>
228 </dependency>
229
230 <!-- Testing -->
231 <dependency>
232 <groupId>io.quarkus</groupId>
233 <artifactId>quarkus-junit5</artifactId>
234 <scope>test</scope>
235 </dependency>
236 <dependency>
237 <groupId>io.rest-assured</groupId>
238 <artifactId>rest-assured</artifactId>
239 <scope>test</scope>
240 </dependency>
241 <dependency>
242 <groupId>org.testcontainers</groupId>
243 <artifactId>junit-jupiter</artifactId>
244 <scope>test</scope>
245 </dependency>
246 <dependency>
247 <groupId>org.testcontainers</groupId>
248 <artifactId>testcontainers</artifactId>
249 <scope>test</scope>
250 </dependency>
251 <dependency>
252 <groupId>org.testcontainers</groupId>
253 <artifactId>postgresql</artifactId>
254 <scope>test</scope>
255 </dependency>
256
257 </dependencies>
258
259 <build>
260
261 <plugins>
262
263 <plugin>
264 <groupId>io.quarkus</groupId>
265 <artifactId>quarkus-maven-plugin</artifactId>
266 <version>${quarkus-plugin.version}</version>
267 <executions>
268 <execution>
269 <goals>
270 <goal>build</goal>
271 </goals>
272 </execution>
273 </executions>
274 </plugin>
275
276 <plugin>
277 <artifactId>maven-compiler-plugin</artifactId>
278 <version>${compiler-plugin.version}</version>
279 </plugin>
280
281 <plugin>
282 <artifactId>maven-surefire-plugin</artifactId>
283 <version>${surefire-plugin.version}</version>
284 <configuration>
285 <systemProperties>
286 <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
287 <compilerArgs>
288 <compilerArg>-Amapstruct.defaultComponentModel=cdi</compilerArg>
289 </compilerArgs>
290 </systemProperties>
291 </configuration>
292 </plugin>
293
294 <!-- Google Java Code Formatter, for enforcing style conventions -->
295 <plugin>
296 <groupId>com.diffplug.spotless</groupId>
297 <artifactId>spotless-maven-plugin</artifactId>
298 <version>${spotless-plugin.version}</version>
299 <configuration>
300 <java>
301 <removeUnusedImports/>
302 <importOrder>
303 <order>java,javax,org,com,de,io,dagger,eu.mulk,</order>
304 </importOrder>
305 <googleJavaFormat>
306 <version>${google.java.format.version}</version>
307 <style>GOOGLE</style>
308 </googleJavaFormat>
309 </java>
310 </configuration>
311 </plugin>
Matthias Andreas Benkardf7bf7c42020-01-28 22:31:12 +0100312
313 <plugin>
314 <groupId>com.spotify</groupId>
315 <artifactId>dockerfile-maven-plugin</artifactId>
316 <version>${dockerfile-plugin.version}</version>
317 <executions>
318 <execution>
319 <id>default</id>
320 <goals>
321 <goal>build</goal>
322 <goal>push</goal>
323 </goals>
324 </execution>
325 </executions>
326 <configuration>
327 <dockerfile>src/main/docker/Dockerfile.jvm</dockerfile>
328 <repository>docker.benkard.de/mulk/mulkcms2</repository>
329 <tag>${project.version}</tag>
330 </configuration>
331 </plugin>
332
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100333 </plugins>
334
Matthias Andreas Benkardb712a012020-01-26 08:10:49 +0100335 <resources>
336 <resource>
337 <directory>src/main/resources</directory>
338 <excludes>
339 <exclude>META-INF/resources/node_modules/**/*</exclude>
Matthias Andreas Benkard97130f92020-01-27 21:03:39 +0100340 <exclude>META-INF/resources/package.json</exclude>
341 <exclude>META-INF/resources/yarn.lock</exclude>
Matthias Andreas Benkardb712a012020-01-26 08:10:49 +0100342 </excludes>
343 <filtering>false</filtering>
344 </resource>
345 </resources>
346
Matthias Andreas Benkard8ddaf662020-01-19 20:21:57 +0100347 </build>
348
349 <profiles>
350
351 <profile>
352
353 <id>native</id>
354
355 <activation>
356 <property>
357 <name>native</name>
358 </property>
359 </activation>
360
361 <build>
362 <plugins>
363 <plugin>
364 <artifactId>maven-failsafe-plugin</artifactId>
365 <version>${surefire-plugin.version}</version>
366 <executions>
367 <execution>
368 <goals>
369 <goal>integration-test</goal>
370 <goal>verify</goal>
371 </goals>
372 <configuration>
373 <systemProperties>
374 <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
375 </systemProperties>
376 </configuration>
377 </execution>
378 </executions>
379 </plugin>
380 </plugins>
381 </build>
382
383 <properties>
384 <quarkus.package.type>native</quarkus.package.type>
385 </properties>
386
387 </profile>
388
389 </profiles>
390
391</project>