]> git.somenet.org - pub/jan/dst18.git/blob - pom.xml
[2.3.1] working plugin finder and executor.
[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
193       <!-- assignment1+ -->
194       <dependency>
195         <groupId>org.hibernate</groupId>
196         <artifactId>hibernate-core</artifactId>
197         <version>${hibernate.version}</version>
198         <exclusions>
199           <exclusion>
200             <!-- already provided by javaee-api -->
201             <groupId>org.hibernate.javax.persistence</groupId>
202             <artifactId>hibernate-jpa-2.1-api</artifactId>
203           </exclusion>
204         </exclusions>
205       </dependency>
206       <dependency>
207         <groupId>org.hibernate</groupId>
208         <artifactId>hibernate-validator</artifactId>
209         <version>${hibernate-validator.version}</version>
210         <exclusions>
211           <exclusion>
212             <groupId>javax.validation</groupId>
213             <artifactId>validation-api</artifactId>
214           </exclusion>
215         </exclusions>
216       </dependency>
217       <dependency>
218         <groupId>com.h2database</groupId>
219         <artifactId>h2</artifactId>
220         <version>${h2.version}</version>
221       </dependency>
222       <dependency>
223         <groupId>org.mongodb</groupId>
224         <artifactId>mongodb-driver</artifactId>
225         <version>${mongodb.version}</version>
226       </dependency>
227       <dependency>
228         <groupId>de.flapdoodle.embed</groupId>
229         <artifactId>de.flapdoodle.embed.mongo</artifactId>
230         <version>${flapdoodle.version}</version>
231       </dependency>
232       <dependency>
233         <groupId>redis.clients</groupId>
234         <artifactId>jedis</artifactId>
235         <version>${jedis.version}</version>
236       </dependency>
237       <dependency>
238         <!-- transitively used by hibernate -->
239         <groupId>org.javassist</groupId>
240         <artifactId>javassist</artifactId>
241         <version>${javassist.version}</version>
242       </dependency>
243       <!-- assignment 2+ -->
244       <dependency>
245         <groupId>commons-io</groupId>
246         <artifactId>commons-io</artifactId>
247         <version>${commons-io.version}</version>
248       </dependency>
249       <dependency>
250         <groupId>org.aspectj</groupId>
251         <artifactId>aspectjrt</artifactId>
252         <version>${aspectj.version}</version>
253       </dependency>
254       <dependency>
255         <groupId>org.aspectj</groupId>
256         <artifactId>aspectjweaver</artifactId>
257         <version>${aspectj.version}</version>
258       </dependency>
259       <dependency>
260         <groupId>org.springframework</groupId>
261         <artifactId>spring-aop</artifactId>
262         <version>${spring.version}</version>
263       </dependency>
264       <dependency>
265         <groupId>org.apache.commons</groupId>
266         <artifactId>commons-lang3</artifactId>
267         <version>${commons-lang3.version}</version>
268       </dependency>
269       <dependency>
270         <groupId>io.grpc</groupId>
271         <artifactId>grpc-all</artifactId>
272         <version>${grpc.version}</version>
273       </dependency>
274       <dependency>
275         <groupId>io.grpc</groupId>
276         <artifactId>grpc-netty</artifactId>
277         <version>${grpc.version}</version>
278       </dependency>
279       <dependency>
280         <groupId>io.grpc</groupId>
281         <artifactId>grpc-protobuf</artifactId>
282         <version>${grpc.version}</version>
283       </dependency>
284       <dependency>
285         <groupId>io.grpc</groupId>
286         <artifactId>grpc-stub</artifactId>
287         <version>${grpc.version}</version>
288       </dependency>
289       <dependency>
290         <groupId>io.grpc</groupId>
291         <artifactId>grpc-testing</artifactId>
292         <version>${grpc.version}</version>
293       </dependency>
294       <dependency>
295         <groupId>org.springframework</groupId>
296         <artifactId>spring-orm</artifactId>
297         <version>${spring.version}</version>
298       </dependency>
299       <dependency>
300         <groupId>org.springframework.boot</groupId>
301         <artifactId>spring-boot-starter-jersey</artifactId>
302         <version>${spring-boot.version}</version>
303       </dependency>
304       <dependency>
305         <groupId>org.glassfish.jersey.core</groupId>
306         <artifactId>jersey-client</artifactId>
307         <version>${jersey.version}</version>
308       </dependency>
309       <dependency>
310         <groupId>org.glassfish.jersey.ext</groupId>
311         <artifactId>jersey-proxy-client</artifactId>
312         <version>${jersey.version}</version>
313       </dependency>
314       <dependency>
315         <groupId>org.springframework.boot</groupId>
316         <artifactId>spring-boot-starter</artifactId>
317         <version>${spring-boot.version}</version>
318       </dependency>
319       <dependency>
320         <groupId>org.springframework.boot</groupId>
321         <artifactId>spring-boot-starter-test</artifactId>
322         <version>${spring-boot.version}</version>
323       </dependency>
324       <dependency>
325         <groupId>org.springframework.boot</groupId>
326         <artifactId>spring-boot-starter-web</artifactId>
327         <version>${spring-boot.version}</version>
328       </dependency>
329
330     </dependencies>
331   </dependencyManagement>
332
333   <profiles>
334
335     <profile>
336       <id>all</id>
337       <modules>
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>
348       </modules>
349     </profile>
350
351     <profile>
352       <id>ass1-jpa</id>
353       <modules>
354         <module>ass1-jpa</module>
355       </modules>
356     </profile>
357
358     <profile>
359       <id>ass1-kv</id>
360       <modules>
361         <module>ass1-kv</module>
362       </modules>
363     </profile>
364
365     <profile>
366       <id>ass1-doc</id>
367       <modules>
368         <module>ass1-doc</module>
369       </modules>
370     </profile>
371
372     <profile>
373       <id>ass2-service</id>
374       <modules>
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>
381       </modules>
382     </profile>
383
384     <profile>
385       <id>ass2-di</id>
386       <build>
387         <plugins>
388           <plugin>
389             <artifactId>maven-surefire-plugin</artifactId>
390             <configuration>
391               <excludes>
392                 <exclude>dst/ass2/di/**/*Transparent*.java</exclude>
393               </excludes>
394             </configuration>
395           </plugin>
396         </plugins>
397       </build>
398       <modules>
399         <module>ass2-di</module>
400       </modules>
401     </profile>
402
403     <profile>
404       <id>ass2-di-agent</id>
405       <build>
406         <plugins>
407           <plugin>
408             <artifactId>maven-jar-plugin</artifactId>
409             <version>2.6</version>
410             <configuration>
411               <archive>
412                 <manifestEntries>
413                   <Premain-Class>dst.ass2.di.agent.InjectorAgent</Premain-Class>
414                 </manifestEntries>
415               </archive>
416               <finalName>dst-di-agent</finalName>
417             </configuration>
418             <executions>
419               <execution>
420                 <goals>
421                   <goal>jar</goal>
422                 </goals>
423                 <phase>test-compile</phase>
424               </execution>
425             </executions>
426           </plugin>
427           <plugin>
428             <artifactId>maven-surefire-plugin</artifactId>
429             <configuration>
430               <argLine>-javaagent:"${project.build.directory}/dst-di-agent.jar"</argLine>
431               <includes>
432                 <include>dst/ass2/di/**/*Transparent*.java</include>
433               </includes>
434             </configuration>
435           </plugin>
436         </plugins>
437       </build>
438       <modules>
439         <module>ass2-di</module>
440       </modules>
441     </profile>
442
443
444
445   </profiles>
446
447   <properties>
448     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
449
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>
456
457     <!-- common -->
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>
480   </properties>
481
482
483 </project>