]> git.somenet.org - pub/jan/dst18.git/blob - pom.xml
[3.1] messaging. need refactoring?
[pub/jan/dst18.git] / pom.xml
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>
5
6   <groupId>at.ac.tuwien.infosys.dst</groupId>
7   <artifactId>dst</artifactId>
8   <version>2018.1</version>
9
10   <name>DST :: Parent</name>
11
12   <packaging>pom</packaging>
13
14   <build>
15     <plugins>
16       <!-- plugins used in all modules -->
17       <plugin>
18         <groupId>org.apache.maven.plugins</groupId>
19         <artifactId>maven-compiler-plugin</artifactId>
20       </plugin>
21       <plugin>
22         <groupId>org.apache.maven.plugins</groupId>
23         <artifactId>maven-jar-plugin</artifactId>
24       </plugin>
25       <plugin>
26         <groupId>org.apache.maven.plugins</groupId>
27         <artifactId>maven-surefire-plugin</artifactId>
28       </plugin>
29     </plugins>
30
31     <pluginManagement>
32       <plugins>
33         <plugin>
34           <groupId>org.apache.maven.plugins</groupId>
35           <artifactId>maven-compiler-plugin</artifactId>
36           <version>${maven-compiler-plugin.version}</version>
37           <configuration>
38             <source>1.8</source>
39             <target>1.8</target>
40           </configuration>
41         </plugin>
42         <plugin>
43           <groupId>org.apache.maven.plugins</groupId>
44           <artifactId>maven-surefire-plugin</artifactId>
45           <version>${maven-surefire-plugin.version}</version>
46           <configuration>
47             <failIfNoTests>false</failIfNoTests>
48             <runOrder>alphabetical</runOrder>
49           </configuration>
50         </plugin>
51         <plugin>
52           <groupId>org.apache.maven.plugins</groupId>
53           <artifactId>maven-jar-plugin</artifactId>
54           <version>${maven-jar-plugin.version}</version>
55           <executions>
56             <execution>
57               <goals>
58                 <!-- includes test sources into test jars -->
59                 <goal>test-jar</goal>
60               </goals>
61             </execution>
62           </executions>
63           <configuration>
64             <skipIfEmpty>false</skipIfEmpty>
65           </configuration>
66         </plugin>
67         <plugin>
68           <groupId>com.spotify</groupId>
69           <artifactId>dockerfile-maven-plugin</artifactId>
70           <version>${maven-dockerfile-plugin.version}</version>
71           <executions>
72             <execution>
73               <id>build-and-tag-latest</id>
74               <phase>package</phase>
75               <goals>
76                 <goal>build</goal>
77               </goals>
78             </execution>
79             <execution>
80               <id>tag-version</id>
81               <phase>package</phase>
82               <goals>
83                 <goal>tag</goal>
84               </goals>
85               <configuration>
86                 <tag>${project.version}</tag>
87               </configuration>
88             </execution>
89           </executions>
90           <configuration>
91             <repository>tuw-dst/${project.artifactId}</repository>
92           </configuration>
93         </plugin>
94         <plugin>
95           <groupId>org.apache.maven.plugins</groupId>
96           <artifactId>maven-dependency-plugin</artifactId>
97           <version>${maven-dependency-plugin.version}</version>
98           <executions>
99             <execution>
100               <phase>prepare-package</phase>
101               <goals>
102                 <goal>copy-dependencies</goal>
103               </goals>
104             </execution>
105           </executions>
106           <configuration>
107             <useBaseVersion>false</useBaseVersion>
108             <overWriteReleases>false</overWriteReleases>
109             <overWriteSnapshots>true</overWriteSnapshots>
110             <includeScope>runtime</includeScope>
111             <outputDirectory>${project.build.directory}/lib</outputDirectory>
112           </configuration>
113         </plugin>
114         <plugin>
115           <groupId>kr.motd.maven</groupId>
116           <artifactId>os-maven-plugin</artifactId>
117           <version>${os-maven-plugin.version}</version>
118         </plugin>
119         <plugin>
120           <groupId>org.xolstice.maven.plugins</groupId>
121           <artifactId>protobuf-maven-plugin</artifactId>
122           <version>${protobuf-maven-plugin.version}</version>
123           <configuration>
124             <protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}
125             </protocArtifact>
126             <pluginId>grpc-java</pluginId>
127             <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
128             </pluginArtifact>
129           </configuration>
130           <executions>
131             <execution>
132               <goals>
133                 <goal>compile</goal>
134                 <goal>compile-custom</goal>
135               </goals>
136             </execution>
137           </executions>
138         </plugin>
139       </plugins>
140     </pluginManagement>
141   </build>
142
143   <dependencies>
144     <dependency>
145       <groupId>javax</groupId>
146       <artifactId>javaee-api</artifactId>
147       <version>8.0</version>
148     </dependency>
149     <dependency>
150       <groupId>org.slf4j</groupId>
151       <artifactId>slf4j-api</artifactId>
152     </dependency>
153     <dependency>
154       <groupId>ch.qos.logback</groupId>
155       <artifactId>logback-classic</artifactId>
156     </dependency>
157     <dependency>
158       <groupId>junit</groupId>
159       <artifactId>junit</artifactId>
160     </dependency>
161     <dependency>
162       <groupId>org.hamcrest</groupId>
163       <artifactId>hamcrest-all</artifactId>
164     </dependency>
165   </dependencies>
166
167   <dependencyManagement>
168     <dependencies>
169       <!-- common -->
170       <dependency>
171         <groupId>org.slf4j</groupId>
172         <artifactId>slf4j-api</artifactId>
173         <version>${slf4j.version}</version>
174       </dependency>
175       <dependency>
176         <groupId>ch.qos.logback</groupId>
177         <artifactId>logback-classic</artifactId>
178         <version>${logback.version}</version>
179       </dependency>
180       <dependency>
181         <groupId>junit</groupId>
182         <artifactId>junit</artifactId>
183         <version>${junit.version}</version>
184         <scope>test</scope>
185       </dependency>
186       <dependency>
187         <groupId>org.hamcrest</groupId>
188         <artifactId>hamcrest-all</artifactId>
189         <version>${hamcrest.version}</version>
190         <scope>test</scope>
191       </dependency>
192       <dependency>
193         <groupId>org.mockito</groupId>
194         <artifactId>mockito-core</artifactId>
195         <version>${mockito.version}</version>
196         <scope>test</scope>
197       </dependency>
198
199       <!-- assignment1+ -->
200       <dependency>
201         <groupId>org.hibernate</groupId>
202         <artifactId>hibernate-core</artifactId>
203         <version>${hibernate.version}</version>
204         <exclusions>
205           <exclusion>
206             <!-- already provided by javaee-api -->
207             <groupId>org.hibernate.javax.persistence</groupId>
208             <artifactId>hibernate-jpa-2.1-api</artifactId>
209           </exclusion>
210         </exclusions>
211       </dependency>
212       <dependency>
213         <groupId>org.hibernate</groupId>
214         <artifactId>hibernate-validator</artifactId>
215         <version>${hibernate-validator.version}</version>
216         <exclusions>
217           <exclusion>
218             <groupId>javax.validation</groupId>
219             <artifactId>validation-api</artifactId>
220           </exclusion>
221         </exclusions>
222       </dependency>
223       <dependency>
224         <groupId>com.h2database</groupId>
225         <artifactId>h2</artifactId>
226         <version>${h2.version}</version>
227       </dependency>
228       <dependency>
229         <groupId>org.mongodb</groupId>
230         <artifactId>mongodb-driver</artifactId>
231         <version>${mongodb.version}</version>
232       </dependency>
233       <dependency>
234         <groupId>de.flapdoodle.embed</groupId>
235         <artifactId>de.flapdoodle.embed.mongo</artifactId>
236         <version>${flapdoodle.version}</version>
237       </dependency>
238       <dependency>
239         <groupId>redis.clients</groupId>
240         <artifactId>jedis</artifactId>
241         <version>${jedis.version}</version>
242       </dependency>
243       <dependency>
244         <!-- transitively used by hibernate -->
245         <groupId>org.javassist</groupId>
246         <artifactId>javassist</artifactId>
247         <version>${javassist.version}</version>
248       </dependency>
249       <!-- assignment 2+ -->
250       <dependency>
251         <groupId>commons-io</groupId>
252         <artifactId>commons-io</artifactId>
253         <version>${commons-io.version}</version>
254       </dependency>
255       <dependency>
256         <groupId>org.aspectj</groupId>
257         <artifactId>aspectjrt</artifactId>
258         <version>${aspectj.version}</version>
259       </dependency>
260       <dependency>
261         <groupId>org.aspectj</groupId>
262         <artifactId>aspectjweaver</artifactId>
263         <version>${aspectj.version}</version>
264       </dependency>
265       <dependency>
266         <groupId>org.springframework</groupId>
267         <artifactId>spring-aop</artifactId>
268         <version>${spring.version}</version>
269       </dependency>
270       <dependency>
271         <groupId>org.apache.commons</groupId>
272         <artifactId>commons-lang3</artifactId>
273         <version>${commons-lang3.version}</version>
274       </dependency>
275       <dependency>
276         <groupId>io.grpc</groupId>
277         <artifactId>grpc-all</artifactId>
278         <version>${grpc.version}</version>
279       </dependency>
280       <dependency>
281         <groupId>io.grpc</groupId>
282         <artifactId>grpc-netty</artifactId>
283         <version>${grpc.version}</version>
284       </dependency>
285       <dependency>
286         <groupId>io.grpc</groupId>
287         <artifactId>grpc-protobuf</artifactId>
288         <version>${grpc.version}</version>
289       </dependency>
290       <dependency>
291         <groupId>io.grpc</groupId>
292         <artifactId>grpc-stub</artifactId>
293         <version>${grpc.version}</version>
294       </dependency>
295       <dependency>
296         <groupId>io.grpc</groupId>
297         <artifactId>grpc-testing</artifactId>
298         <version>${grpc.version}</version>
299       </dependency>
300       <dependency>
301         <groupId>org.springframework</groupId>
302         <artifactId>spring-orm</artifactId>
303         <version>${spring.version}</version>
304       </dependency>
305       <dependency>
306         <groupId>org.springframework.boot</groupId>
307         <artifactId>spring-boot-starter-jersey</artifactId>
308         <version>${spring-boot.version}</version>
309       </dependency>
310       <dependency>
311         <groupId>org.glassfish.jersey.core</groupId>
312         <artifactId>jersey-client</artifactId>
313         <version>${jersey.version}</version>
314       </dependency>
315       <dependency>
316         <groupId>org.glassfish.jersey.ext</groupId>
317         <artifactId>jersey-proxy-client</artifactId>
318         <version>${jersey.version}</version>
319       </dependency>
320       <dependency>
321         <groupId>org.springframework.boot</groupId>
322         <artifactId>spring-boot-starter</artifactId>
323         <version>${spring-boot.version}</version>
324       </dependency>
325       <dependency>
326         <groupId>org.springframework.boot</groupId>
327         <artifactId>spring-boot-starter-test</artifactId>
328         <version>${spring-boot.version}</version>
329       </dependency>
330       <dependency>
331         <groupId>org.springframework.boot</groupId>
332         <artifactId>spring-boot-starter-web</artifactId>
333         <version>${spring-boot.version}</version>
334       </dependency>
335
336       <!-- assignment 3 -->
337       <dependency>
338         <groupId>org.apache.flink</groupId>
339         <artifactId>flink-streaming-java_2.11</artifactId>
340         <version>${flink.version}</version>
341       </dependency>
342       <dependency>
343         <groupId>org.apache.flink</groupId>
344         <artifactId>flink-cep_2.11</artifactId>
345         <version>${flink.version}</version>
346       </dependency>
347       <dependency>
348         <groupId>com.github.docker-java</groupId>
349         <artifactId>docker-java</artifactId>
350         <version>${docker-api-client.version}</version>
351       </dependency>
352       <dependency>
353         <groupId>com.rabbitmq</groupId>
354         <artifactId>amqp-client</artifactId>
355         <version>${rabbitmq-client.version}</version>
356       </dependency>
357       <dependency>
358         <groupId>com.rabbitmq</groupId>
359         <artifactId>http-client</artifactId>
360         <version>${rabbitmq-http.version}</version>
361       </dependency>
362       <dependency>
363         <groupId>org.springframework.boot</groupId>
364         <artifactId>spring-boot-starter-amqp</artifactId>
365         <version>${spring-boot.version}</version>
366       </dependency>
367       <dependency>
368         <groupId>com.fasterxml.jackson.core</groupId>
369         <artifactId>jackson-core</artifactId>
370         <version>${jackson.version}</version>
371       </dependency>
372       <dependency>
373         <groupId>com.fasterxml.jackson.core</groupId>
374         <artifactId>jackson-annotations</artifactId>
375         <version>${jackson.version}</version>
376       </dependency>
377       <dependency>
378         <groupId>com.fasterxml.jackson.core</groupId>
379         <artifactId>jackson-databind</artifactId>
380         <version>${jackson.version}</version>
381       </dependency>
382     </dependencies>
383   </dependencyManagement>
384
385   <profiles>
386
387     <profile>
388       <id>all</id>
389       <modules>
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>
403       </modules>
404     </profile>
405
406     <profile>
407       <id>ass1-jpa</id>
408       <modules>
409         <module>ass1-jpa</module>
410       </modules>
411     </profile>
412
413     <profile>
414       <id>ass1-kv</id>
415       <modules>
416         <module>ass1-kv</module>
417       </modules>
418     </profile>
419
420     <profile>
421       <id>ass1-doc</id>
422       <modules>
423         <module>ass1-doc</module>
424       </modules>
425     </profile>
426
427     <profile>
428       <id>ass2-service</id>
429       <modules>
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>
436       </modules>
437     </profile>
438
439     <profile>
440       <id>ass2-di</id>
441       <build>
442         <plugins>
443           <plugin>
444             <artifactId>maven-surefire-plugin</artifactId>
445             <configuration>
446               <excludes>
447                 <exclude>dst/ass2/di/**/*Transparent*.java</exclude>
448               </excludes>
449             </configuration>
450           </plugin>
451         </plugins>
452       </build>
453       <modules>
454         <module>ass2-di</module>
455       </modules>
456     </profile>
457
458     <profile>
459       <id>ass2-di-agent</id>
460       <build>
461         <plugins>
462           <plugin>
463             <artifactId>maven-jar-plugin</artifactId>
464             <version>2.6</version>
465             <configuration>
466               <archive>
467                 <manifestEntries>
468                   <Premain-Class>dst.ass2.di.agent.InjectorAgent</Premain-Class>
469                 </manifestEntries>
470               </archive>
471               <finalName>dst-di-agent</finalName>
472             </configuration>
473             <executions>
474               <execution>
475                 <goals>
476                   <goal>jar</goal>
477                 </goals>
478                 <phase>test-compile</phase>
479               </execution>
480             </executions>
481           </plugin>
482           <plugin>
483             <artifactId>maven-surefire-plugin</artifactId>
484             <configuration>
485               <argLine>-javaagent:"${project.build.directory}/dst-di-agent.jar"</argLine>
486               <includes>
487                 <include>dst/ass2/di/**/*Transparent*.java</include>
488               </includes>
489             </configuration>
490           </plugin>
491         </plugins>
492       </build>
493       <modules>
494         <module>ass2-di</module>
495       </modules>
496     </profile>
497
498     <profile>
499       <id>ass3-event</id>
500       <modules>
501         <module>ass3-event</module>
502       </modules>
503     </profile>
504     <profile>
505       <id>ass3-messaging</id>
506       <modules>
507         <module>ass3-messaging</module>
508       </modules>
509     </profile>
510     <profile>
511       <id>ass3-elastic</id>
512       <modules>
513         <module>ass3-messaging</module>
514         <module>ass3-elastic</module>
515       </modules>
516     </profile>
517
518
519   </profiles>
520
521   <properties>
522     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
523
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>
530
531     <!-- common -->
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>
563   </properties>
564
565
566 </project>