1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4 <modelVersion>4.0.0</modelVersion>
6 <groupId>at.ac.tuwien.infosys.dst</groupId>
7 <artifactId>dst</artifactId>
8 <version>2018.1</version>
10 <name>DST :: Parent</name>
12 <packaging>pom</packaging>
16 <!-- plugins used in all modules -->
18 <groupId>org.apache.maven.plugins</groupId>
19 <artifactId>maven-compiler-plugin</artifactId>
22 <groupId>org.apache.maven.plugins</groupId>
23 <artifactId>maven-jar-plugin</artifactId>
26 <groupId>org.apache.maven.plugins</groupId>
27 <artifactId>maven-surefire-plugin</artifactId>
34 <groupId>org.apache.maven.plugins</groupId>
35 <artifactId>maven-compiler-plugin</artifactId>
36 <version>${maven-compiler-plugin.version}</version>
43 <groupId>org.apache.maven.plugins</groupId>
44 <artifactId>maven-surefire-plugin</artifactId>
45 <version>${maven-surefire-plugin.version}</version>
47 <failIfNoTests>false</failIfNoTests>
48 <runOrder>alphabetical</runOrder>
52 <groupId>org.apache.maven.plugins</groupId>
53 <artifactId>maven-jar-plugin</artifactId>
54 <version>${maven-jar-plugin.version}</version>
58 <!-- includes test sources into test jars -->
64 <skipIfEmpty>false</skipIfEmpty>
68 <groupId>com.spotify</groupId>
69 <artifactId>dockerfile-maven-plugin</artifactId>
70 <version>${maven-dockerfile-plugin.version}</version>
73 <id>build-and-tag-latest</id>
74 <phase>package</phase>
81 <phase>package</phase>
86 <tag>${project.version}</tag>
91 <repository>tuw-dst/${project.artifactId}</repository>
95 <groupId>org.apache.maven.plugins</groupId>
96 <artifactId>maven-dependency-plugin</artifactId>
97 <version>${maven-dependency-plugin.version}</version>
100 <phase>prepare-package</phase>
102 <goal>copy-dependencies</goal>
107 <useBaseVersion>false</useBaseVersion>
108 <overWriteReleases>false</overWriteReleases>
109 <overWriteSnapshots>true</overWriteSnapshots>
110 <includeScope>runtime</includeScope>
111 <outputDirectory>${project.build.directory}/lib</outputDirectory>
115 <groupId>kr.motd.maven</groupId>
116 <artifactId>os-maven-plugin</artifactId>
117 <version>${os-maven-plugin.version}</version>
120 <groupId>org.xolstice.maven.plugins</groupId>
121 <artifactId>protobuf-maven-plugin</artifactId>
122 <version>${protobuf-maven-plugin.version}</version>
124 <protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}
126 <pluginId>grpc-java</pluginId>
127 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
134 <goal>compile-custom</goal>
145 <groupId>javax</groupId>
146 <artifactId>javaee-api</artifactId>
147 <version>8.0</version>
150 <groupId>org.slf4j</groupId>
151 <artifactId>slf4j-api</artifactId>
154 <groupId>ch.qos.logback</groupId>
155 <artifactId>logback-classic</artifactId>
158 <groupId>junit</groupId>
159 <artifactId>junit</artifactId>
162 <groupId>org.hamcrest</groupId>
163 <artifactId>hamcrest-all</artifactId>
167 <dependencyManagement>
171 <groupId>org.slf4j</groupId>
172 <artifactId>slf4j-api</artifactId>
173 <version>${slf4j.version}</version>
176 <groupId>ch.qos.logback</groupId>
177 <artifactId>logback-classic</artifactId>
178 <version>${logback.version}</version>
181 <groupId>junit</groupId>
182 <artifactId>junit</artifactId>
183 <version>${junit.version}</version>
187 <groupId>org.hamcrest</groupId>
188 <artifactId>hamcrest-all</artifactId>
189 <version>${hamcrest.version}</version>
193 <groupId>org.mockito</groupId>
194 <artifactId>mockito-core</artifactId>
195 <version>${mockito.version}</version>
199 <!-- assignment1+ -->
201 <groupId>org.hibernate</groupId>
202 <artifactId>hibernate-core</artifactId>
203 <version>${hibernate.version}</version>
206 <!-- already provided by javaee-api -->
207 <groupId>org.hibernate.javax.persistence</groupId>
208 <artifactId>hibernate-jpa-2.1-api</artifactId>
213 <groupId>org.hibernate</groupId>
214 <artifactId>hibernate-validator</artifactId>
215 <version>${hibernate-validator.version}</version>
218 <groupId>javax.validation</groupId>
219 <artifactId>validation-api</artifactId>
224 <groupId>com.h2database</groupId>
225 <artifactId>h2</artifactId>
226 <version>${h2.version}</version>
229 <groupId>org.mongodb</groupId>
230 <artifactId>mongodb-driver</artifactId>
231 <version>${mongodb.version}</version>
234 <groupId>de.flapdoodle.embed</groupId>
235 <artifactId>de.flapdoodle.embed.mongo</artifactId>
236 <version>${flapdoodle.version}</version>
239 <groupId>redis.clients</groupId>
240 <artifactId>jedis</artifactId>
241 <version>${jedis.version}</version>
244 <!-- transitively used by hibernate -->
245 <groupId>org.javassist</groupId>
246 <artifactId>javassist</artifactId>
247 <version>${javassist.version}</version>
249 <!-- assignment 2+ -->
251 <groupId>commons-io</groupId>
252 <artifactId>commons-io</artifactId>
253 <version>${commons-io.version}</version>
256 <groupId>org.aspectj</groupId>
257 <artifactId>aspectjrt</artifactId>
258 <version>${aspectj.version}</version>
261 <groupId>org.aspectj</groupId>
262 <artifactId>aspectjweaver</artifactId>
263 <version>${aspectj.version}</version>
266 <groupId>org.springframework</groupId>
267 <artifactId>spring-aop</artifactId>
268 <version>${spring.version}</version>
271 <groupId>org.apache.commons</groupId>
272 <artifactId>commons-lang3</artifactId>
273 <version>${commons-lang3.version}</version>
276 <groupId>io.grpc</groupId>
277 <artifactId>grpc-all</artifactId>
278 <version>${grpc.version}</version>
281 <groupId>io.grpc</groupId>
282 <artifactId>grpc-netty</artifactId>
283 <version>${grpc.version}</version>
286 <groupId>io.grpc</groupId>
287 <artifactId>grpc-protobuf</artifactId>
288 <version>${grpc.version}</version>
291 <groupId>io.grpc</groupId>
292 <artifactId>grpc-stub</artifactId>
293 <version>${grpc.version}</version>
296 <groupId>io.grpc</groupId>
297 <artifactId>grpc-testing</artifactId>
298 <version>${grpc.version}</version>
301 <groupId>org.springframework</groupId>
302 <artifactId>spring-orm</artifactId>
303 <version>${spring.version}</version>
306 <groupId>org.springframework.boot</groupId>
307 <artifactId>spring-boot-starter-jersey</artifactId>
308 <version>${spring-boot.version}</version>
311 <groupId>org.glassfish.jersey.core</groupId>
312 <artifactId>jersey-client</artifactId>
313 <version>${jersey.version}</version>
316 <groupId>org.glassfish.jersey.ext</groupId>
317 <artifactId>jersey-proxy-client</artifactId>
318 <version>${jersey.version}</version>
321 <groupId>org.springframework.boot</groupId>
322 <artifactId>spring-boot-starter</artifactId>
323 <version>${spring-boot.version}</version>
326 <groupId>org.springframework.boot</groupId>
327 <artifactId>spring-boot-starter-test</artifactId>
328 <version>${spring-boot.version}</version>
331 <groupId>org.springframework.boot</groupId>
332 <artifactId>spring-boot-starter-web</artifactId>
333 <version>${spring-boot.version}</version>
336 <!-- assignment 3 -->
338 <groupId>org.apache.flink</groupId>
339 <artifactId>flink-streaming-java_2.11</artifactId>
340 <version>${flink.version}</version>
343 <groupId>org.apache.flink</groupId>
344 <artifactId>flink-cep_2.11</artifactId>
345 <version>${flink.version}</version>
348 <groupId>com.github.docker-java</groupId>
349 <artifactId>docker-java</artifactId>
350 <version>${docker-api-client.version}</version>
353 <groupId>com.rabbitmq</groupId>
354 <artifactId>amqp-client</artifactId>
355 <version>${rabbitmq-client.version}</version>
358 <groupId>com.rabbitmq</groupId>
359 <artifactId>http-client</artifactId>
360 <version>${rabbitmq-http.version}</version>
363 <groupId>org.springframework.boot</groupId>
364 <artifactId>spring-boot-starter-amqp</artifactId>
365 <version>${spring-boot.version}</version>
368 <groupId>com.fasterxml.jackson.core</groupId>
369 <artifactId>jackson-core</artifactId>
370 <version>${jackson.version}</version>
373 <groupId>com.fasterxml.jackson.core</groupId>
374 <artifactId>jackson-annotations</artifactId>
375 <version>${jackson.version}</version>
378 <groupId>com.fasterxml.jackson.core</groupId>
379 <artifactId>jackson-databind</artifactId>
380 <version>${jackson.version}</version>
383 </dependencyManagement>
390 <module>ass1-jpa</module>
391 <module>ass1-doc</module>
392 <module>ass1-kv</module>
393 <module>ass2-service/api</module>
394 <module>ass2-service/auth-client</module>
395 <module>ass2-service/auth</module>
396 <module>ass2-service/courseplan</module>
397 <module>ass2-service/facade</module>
398 <module>ass2-aop</module>
399 <module>ass2-di</module>
400 <module>ass3-messaging</module>
401 <module>ass3-event</module>
402 <module>ass3-elastic</module>
409 <module>ass1-jpa</module>
416 <module>ass1-kv</module>
423 <module>ass1-doc</module>
428 <id>ass2-service</id>
430 <module>ass1-jpa</module>
431 <module>ass2-service/api</module>
432 <module>ass2-service/auth-client</module>
433 <module>ass2-service/auth</module>
434 <module>ass2-service/courseplan</module>
435 <module>ass2-service/facade</module>
444 <artifactId>maven-surefire-plugin</artifactId>
447 <exclude>dst/ass2/di/**/*Transparent*.java</exclude>
454 <module>ass2-di</module>
459 <id>ass2-di-agent</id>
463 <artifactId>maven-jar-plugin</artifactId>
464 <version>2.6</version>
468 <Premain-Class>dst.ass2.di.agent.InjectorAgent</Premain-Class>
471 <finalName>dst-di-agent</finalName>
478 <phase>test-compile</phase>
483 <artifactId>maven-surefire-plugin</artifactId>
485 <argLine>-javaagent:"${project.build.directory}/dst-di-agent.jar"</argLine>
487 <include>dst/ass2/di/**/*Transparent*.java</include>
494 <module>ass2-di</module>
501 <module>ass3-event</module>
505 <id>ass3-messaging</id>
507 <module>ass3-messaging</module>
511 <id>ass3-elastic</id>
513 <module>ass3-messaging</module>
514 <module>ass3-elastic</module>
522 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
524 <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
525 <maven-failsafe-plugin.version>2.20.1</maven-failsafe-plugin.version>
526 <maven-dockerfile-plugin.version>1.3.7</maven-dockerfile-plugin.version>
527 <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
528 <maven-dependency-plugin.version>3.0.2</maven-dependency-plugin.version>
529 <maven-surefire-plugin.version>2.20.1</maven-surefire-plugin.version>
532 <slf4j.version>1.7.25</slf4j.version>
533 <logback.version>1.2.3</logback.version>
534 <commons-lang3.version>3.7</commons-lang3.version>
535 <junit.version>4.12</junit.version>
536 <hamcrest.version>1.3</hamcrest.version>
537 <mockito.version>2.18.3</mockito.version>
538 <!-- assignment 1 -->
539 <hibernate.version>5.2.13.Final</hibernate.version>
540 <hibernate-validator.version>5.3.6.Final</hibernate-validator.version>
541 <jedis.version>2.9.0</jedis.version>
542 <javassist.version>3.20.0-GA</javassist.version>
543 <h2.version>1.4.196</h2.version>
544 <mongodb.version>3.6.1</mongodb.version>
545 <flapdoodle.version>2.0.0</flapdoodle.version>
546 <!-- assignment 2 -->
547 <aspectj.version>1.8.13</aspectj.version>
548 <spring.version>4.3.13.RELEASE</spring.version>
549 <spring-boot.version>1.5.9.RELEASE</spring-boot.version>
550 <jersey.version>2.25.1</jersey.version>
551 <commons-io.version>2.6</commons-io.version>
552 <grpc.version>1.10.1</grpc.version>
553 <protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
554 <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
555 <!-- assignment 3 -->
556 <flink.version>1.4.2</flink.version>
557 <docker-api-client.version>3.0.14</docker-api-client.version>
558 <testcontainers.version>1.5.1</testcontainers.version>
559 <commons-cli.version>1.4</commons-cli.version>
560 <rabbitmq-http.version>1.3.1.RELEASE</rabbitmq-http.version>
561 <rabbitmq-client.version>4.0.3</rabbitmq-client.version> <!-- older version required for spring-amqp -->
562 <jackson.version>2.9.5</jackson.version>