613 lines
20 KiB
XML
613 lines
20 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>at.ac.tuwien.infosys.dst</groupId>
|
|
<artifactId>dst</artifactId>
|
|
<version>2021.1</version>
|
|
|
|
<name>DST :: Parent</name>
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- plugins used in all modules -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin.version}</version>
|
|
<configuration>
|
|
<source>11</source>
|
|
<target>11</target>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${maven-surefire-plugin.version}</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.maven.surefire</groupId>
|
|
<artifactId>surefire-junit4</artifactId>
|
|
<version>${maven-surefire-plugin.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<configuration>
|
|
<failIfNoTests>false</failIfNoTests>
|
|
<runOrder>alphabetical</runOrder>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${maven-jar-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<!-- includes test sources into test jars -->
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<skipIfEmpty>false</skipIfEmpty>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.spotify</groupId>
|
|
<artifactId>dockerfile-maven-plugin</artifactId>
|
|
<version>${maven-dockerfile-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>build-and-tag-latest</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>build</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>tag-version</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>tag</goal>
|
|
</goals>
|
|
<configuration>
|
|
<tag>${project.version}</tag>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<repository>tuw-dst/${project.artifactId}</repository>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${maven-dependency-plugin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<useBaseVersion>false</useBaseVersion>
|
|
<overWriteReleases>false</overWriteReleases>
|
|
<overWriteSnapshots>true</overWriteSnapshots>
|
|
<includeScope>runtime</includeScope>
|
|
<outputDirectory>${project.build.directory}/lib</outputDirectory>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>kr.motd.maven</groupId>
|
|
<artifactId>os-maven-plugin</artifactId>
|
|
<version>${os-maven-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.xolstice.maven.plugins</groupId>
|
|
<artifactId>protobuf-maven-plugin</artifactId>
|
|
<version>${protobuf-maven-plugin.version}</version>
|
|
<configuration>
|
|
<protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}
|
|
</protocArtifact>
|
|
<pluginId>grpc-java</pluginId>
|
|
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
|
|
</pluginArtifact>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
<goal>compile-custom</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>javax</groupId>
|
|
<artifactId>javaee-api</artifactId>
|
|
<version>8.0.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-all</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- common -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<version>${jaxb.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-all</artifactId>
|
|
<version>${hamcrest.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- assignment1+ -->
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-core</artifactId>
|
|
<version>${hibernate.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<!-- already provided by javaee-api -->
|
|
<groupId>org.hibernate.javax.persistence</groupId>
|
|
<artifactId>hibernate-jpa-2.1-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hibernate</groupId>
|
|
<artifactId>hibernate-validator</artifactId>
|
|
<version>${hibernate-validator.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>javax.validation</groupId>
|
|
<artifactId>validation-api</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>${h2.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mongodb</groupId>
|
|
<artifactId>mongodb-driver</artifactId>
|
|
<version>${mongodb.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>de.flapdoodle.embed</groupId>
|
|
<artifactId>de.flapdoodle.embed.mongo</artifactId>
|
|
<version>${flapdoodle.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>redis.clients</groupId>
|
|
<artifactId>jedis</artifactId>
|
|
<version>${jedis.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- transitively used by hibernate -->
|
|
<groupId>org.javassist</groupId>
|
|
<artifactId>javassist</artifactId>
|
|
<version>${javassist.version}</version>
|
|
</dependency>
|
|
<!-- assignment 2+ -->
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>${commons-io.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.aspectj</groupId>
|
|
<artifactId>aspectjrt</artifactId>
|
|
<version>${aspectj.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.aspectj</groupId>
|
|
<artifactId>aspectjweaver</artifactId>
|
|
<version>${aspectj.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-aop</artifactId>
|
|
<version>${spring.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>${commons-lang3.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-all</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-netty</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-protobuf</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-stub</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-testing</artifactId>
|
|
<version>${grpc.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-orm</artifactId>
|
|
<version>${spring.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-context</artifactId>
|
|
<version>${spring.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jersey</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<!-- a transitive dependency org.glassfish.hk2:spring-bridge imports spring-context 4.3.16 -->
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-context</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-client</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- explicated for consistency with other jersey dependencies -->
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-server</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.ext</groupId>
|
|
<artifactId>jersey-proxy-client</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-annotations</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
<version>${httpclient.version}</version>
|
|
</dependency>
|
|
|
|
<!-- assignment 3 -->
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-streaming-java_2.12</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-cep_2.12</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-clients_2.12</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.docker-java</groupId>
|
|
<artifactId>docker-java</artifactId>
|
|
<version>${docker-api-client.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.rabbitmq</groupId>
|
|
<artifactId>amqp-client</artifactId>
|
|
<version>${rabbitmq-client.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.rabbitmq</groupId>
|
|
<artifactId>http-client</artifactId>
|
|
<version>${rabbitmq-http.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-web</artifactId>
|
|
<version>${spring.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-amqp</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<profiles>
|
|
|
|
<profile>
|
|
<id>all</id>
|
|
<modules>
|
|
<module>ass1-jpa</module>
|
|
<module>ass1-doc</module>
|
|
<module>ass1-kv</module>
|
|
<module>ass2-service/api</module>
|
|
<module>ass2-service/auth-client</module>
|
|
<module>ass2-service/auth</module>
|
|
<module>ass2-service/trip</module>
|
|
<module>ass2-service/facade</module>
|
|
<module>ass2-aop</module>
|
|
<module>ass2-ioc</module>
|
|
<module>ass3-messaging</module>
|
|
<module>ass3-event</module>
|
|
<module>ass3-elastic</module>
|
|
<module>ass3-worker</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass1-jpa</id>
|
|
<modules>
|
|
<module>ass1-jpa</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass1-kv</id>
|
|
<modules>
|
|
<module>ass1-kv</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass1-doc</id>
|
|
<modules>
|
|
<module>ass1-doc</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass2-service</id>
|
|
<modules>
|
|
<module>ass1-jpa</module>
|
|
<module>ass2-service/api</module>
|
|
<module>ass2-service/auth-client</module>
|
|
<module>ass2-service/auth</module>
|
|
<module>ass2-service/trip</module>
|
|
<module>ass2-service/facade</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass2-aop</id>
|
|
<modules>
|
|
<module>ass2-aop</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass2-ioc</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>2.6</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Premain-Class>dst.ass2.ioc.lock.LockingInjectorAgent</Premain-Class>
|
|
</manifestEntries>
|
|
</archive>
|
|
<finalName>dst-ioc-agent</finalName>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>jar</goal>
|
|
</goals>
|
|
<phase>test-compile</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<argLine>-javaagent:"${project.build.directory}/dst-ioc-agent.jar"</argLine>
|
|
<includes>
|
|
<include>dst/ass2/ioc/**/*.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<modules>
|
|
<module>ass2-ioc</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>ass3-event</id>
|
|
<modules>
|
|
<module>ass3-event</module>
|
|
</modules>
|
|
</profile>
|
|
<profile>
|
|
<id>ass3-messaging</id>
|
|
<modules>
|
|
<module>ass3-messaging</module>
|
|
</modules>
|
|
</profile>
|
|
<profile>
|
|
<id>ass3-elastic</id>
|
|
<modules>
|
|
<module>ass3-messaging</module>
|
|
<module>ass3-elastic</module>
|
|
</modules>
|
|
</profile>
|
|
<profile>
|
|
<id>ass3-worker</id>
|
|
<modules>
|
|
<module>ass3-messaging</module>
|
|
<module>ass3-worker</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
|
|
</profiles>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
|
|
<maven-failsafe-plugin.version>2.22.1</maven-failsafe-plugin.version>
|
|
<maven-dockerfile-plugin.version>1.4.10</maven-dockerfile-plugin.version>
|
|
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
|
<maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
|
|
<maven-surefire-plugin.version>2.22.1</maven-surefire-plugin.version>
|
|
|
|
<!-- common -->
|
|
<slf4j.version>1.7.30</slf4j.version>
|
|
<logback.version>1.2.3</logback.version>
|
|
<commons-lang3.version>3.11</commons-lang3.version>
|
|
<jaxb.version>2.3.1</jaxb.version>
|
|
<junit.version>4.13.2</junit.version>
|
|
<hamcrest.version>1.3</hamcrest.version>
|
|
<mockito.version>3.7.7</mockito.version>
|
|
<!-- assignment 1 -->
|
|
<hibernate.version>5.4.28.Final</hibernate.version>
|
|
<hibernate-validator.version>6.2.0.Final</hibernate-validator.version>
|
|
<jackson.version>2.12.1</jackson.version>
|
|
<javassist.version>3.27.0-GA</javassist.version>
|
|
<jedis.version>3.5.1</jedis.version>
|
|
<h2.version>1.4.200</h2.version>
|
|
<mongodb.version>3.12.8</mongodb.version>
|
|
<flapdoodle.version>3.0.0</flapdoodle.version>
|
|
<!-- assignment 2 -->
|
|
<aspectj.version>1.9.6</aspectj.version>
|
|
<spring.version>5.3.4</spring.version>
|
|
<spring-boot.version>2.4.3</spring-boot.version>
|
|
<jersey.version>2.32</jersey.version>
|
|
<commons-io.version>2.8.0</commons-io.version>
|
|
<grpc.version>1.35.0</grpc.version>
|
|
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
|
|
<os-maven-plugin.version>1.7.0</os-maven-plugin.version>
|
|
<httpclient.version>4.5.13</httpclient.version>
|
|
<!-- assignment 3 -->
|
|
<flink.version>1.13.0</flink.version>
|
|
<docker-api-client.version>3.2.7</docker-api-client.version>
|
|
<commons-cli.version>1.4</commons-cli.version>
|
|
<rabbitmq-http.version>3.9.0.RELEASE</rabbitmq-http.version>
|
|
<rabbitmq-client.version>5.11.0</rabbitmq-client.version>
|
|
</properties>
|
|
|
|
|
|
</project>
|