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 <!-- assignment1+ -->
195 <groupId>org.hibernate</groupId>
196 <artifactId>hibernate-core</artifactId>
197 <version>${hibernate.version}</version>
200 <!-- already provided by javaee-api -->
201 <groupId>org.hibernate.javax.persistence</groupId>
202 <artifactId>hibernate-jpa-2.1-api</artifactId>
207 <groupId>org.hibernate</groupId>
208 <artifactId>hibernate-validator</artifactId>
209 <version>${hibernate-validator.version}</version>
212 <groupId>javax.validation</groupId>
213 <artifactId>validation-api</artifactId>
218 <groupId>com.h2database</groupId>
219 <artifactId>h2</artifactId>
220 <version>${h2.version}</version>
223 <groupId>org.mongodb</groupId>
224 <artifactId>mongodb-driver</artifactId>
225 <version>${mongodb.version}</version>
228 <groupId>de.flapdoodle.embed</groupId>
229 <artifactId>de.flapdoodle.embed.mongo</artifactId>
230 <version>${flapdoodle.version}</version>
233 <groupId>redis.clients</groupId>
234 <artifactId>jedis</artifactId>
235 <version>${jedis.version}</version>
238 <!-- transitively used by hibernate -->
239 <groupId>org.javassist</groupId>
240 <artifactId>javassist</artifactId>
241 <version>${javassist.version}</version>
243 <!-- assignment 2+ -->
245 <groupId>commons-io</groupId>
246 <artifactId>commons-io</artifactId>
247 <version>${commons-io.version}</version>
250 <groupId>org.aspectj</groupId>
251 <artifactId>aspectjrt</artifactId>
252 <version>${aspectj.version}</version>
255 <groupId>org.aspectj</groupId>
256 <artifactId>aspectjweaver</artifactId>
257 <version>${aspectj.version}</version>
260 <groupId>org.springframework</groupId>
261 <artifactId>spring-aop</artifactId>
262 <version>${spring.version}</version>
265 <groupId>org.apache.commons</groupId>
266 <artifactId>commons-lang3</artifactId>
267 <version>${commons-lang3.version}</version>
270 <groupId>io.grpc</groupId>
271 <artifactId>grpc-all</artifactId>
272 <version>${grpc.version}</version>
275 <groupId>io.grpc</groupId>
276 <artifactId>grpc-netty</artifactId>
277 <version>${grpc.version}</version>
280 <groupId>io.grpc</groupId>
281 <artifactId>grpc-protobuf</artifactId>
282 <version>${grpc.version}</version>
285 <groupId>io.grpc</groupId>
286 <artifactId>grpc-stub</artifactId>
287 <version>${grpc.version}</version>
290 <groupId>io.grpc</groupId>
291 <artifactId>grpc-testing</artifactId>
292 <version>${grpc.version}</version>
295 <groupId>org.springframework</groupId>
296 <artifactId>spring-orm</artifactId>
297 <version>${spring.version}</version>
300 <groupId>org.springframework.boot</groupId>
301 <artifactId>spring-boot-starter-jersey</artifactId>
302 <version>${spring-boot.version}</version>
305 <groupId>org.glassfish.jersey.core</groupId>
306 <artifactId>jersey-client</artifactId>
307 <version>${jersey.version}</version>
310 <groupId>org.glassfish.jersey.ext</groupId>
311 <artifactId>jersey-proxy-client</artifactId>
312 <version>${jersey.version}</version>
315 <groupId>org.springframework.boot</groupId>
316 <artifactId>spring-boot-starter</artifactId>
317 <version>${spring-boot.version}</version>
320 <groupId>org.springframework.boot</groupId>
321 <artifactId>spring-boot-starter-test</artifactId>
322 <version>${spring-boot.version}</version>
325 <groupId>org.springframework.boot</groupId>
326 <artifactId>spring-boot-starter-web</artifactId>
327 <version>${spring-boot.version}</version>
331 </dependencyManagement>
338 <module>ass1-jpa</module>
339 <module>ass1-doc</module>
340 <module>ass1-kv</module>
341 <module>ass2-service/api</module>
342 <module>ass2-service/auth-client</module>
343 <module>ass2-service/auth</module>
344 <module>ass2-service/courseplan</module>
345 <module>ass2-service/facade</module>
346 <module>ass2-aop</module>
347 <module>ass2-di</module>
354 <module>ass1-jpa</module>
361 <module>ass1-kv</module>
368 <module>ass1-doc</module>
373 <id>ass2-service</id>
375 <module>ass1-jpa</module>
376 <module>ass2-service/api</module>
377 <module>ass2-service/auth-client</module>
378 <module>ass2-service/auth</module>
379 <module>ass2-service/courseplan</module>
380 <module>ass2-service/facade</module>
389 <artifactId>maven-surefire-plugin</artifactId>
392 <exclude>dst/ass2/di/**/*Transparent*.java</exclude>
399 <module>ass2-di</module>
404 <id>ass2-di-agent</id>
408 <artifactId>maven-jar-plugin</artifactId>
409 <version>2.6</version>
413 <Premain-Class>dst.ass2.di.agent.InjectorAgent</Premain-Class>
416 <finalName>dst-di-agent</finalName>
423 <phase>test-compile</phase>
428 <artifactId>maven-surefire-plugin</artifactId>
430 <argLine>-javaagent:"${project.build.directory}/dst-di-agent.jar"</argLine>
432 <include>dst/ass2/di/**/*Transparent*.java</include>
439 <module>ass2-di</module>
448 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
450 <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
451 <maven-failsafe-plugin.version>2.20.1</maven-failsafe-plugin.version>
452 <maven-dockerfile-plugin.version>1.3.7</maven-dockerfile-plugin.version>
453 <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
454 <maven-dependency-plugin.version>3.0.2</maven-dependency-plugin.version>
455 <maven-surefire-plugin.version>2.20.1</maven-surefire-plugin.version>
458 <slf4j.version>1.7.25</slf4j.version>
459 <logback.version>1.2.3</logback.version>
460 <commons-lang3.version>3.7</commons-lang3.version>
461 <junit.version>4.12</junit.version>
462 <hamcrest.version>1.3</hamcrest.version>
463 <!-- assignment 1 -->
464 <hibernate.version>5.2.13.Final</hibernate.version>
465 <hibernate-validator.version>5.3.6.Final</hibernate-validator.version>
466 <jedis.version>2.9.0</jedis.version>
467 <javassist.version>3.20.0-GA</javassist.version>
468 <h2.version>1.4.196</h2.version>
469 <mongodb.version>3.6.1</mongodb.version>
470 <flapdoodle.version>2.0.0</flapdoodle.version>
471 <!-- assignment 2 -->
472 <aspectj.version>1.8.13</aspectj.version>
473 <spring.version>4.3.13.RELEASE</spring.version>
474 <spring-boot.version>1.5.9.RELEASE</spring-boot.version>
475 <jersey.version>2.25.1</jersey.version>
476 <commons-io.version>2.6</commons-io.version>
477 <grpc.version>1.10.1</grpc.version>
478 <protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
479 <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>