WIP
[demos/kafka/wordcount] / 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4         <modelVersion>4.0.0</modelVersion>
5         <parent>
6                 <groupId>org.springframework.boot</groupId>
7                 <artifactId>spring-boot-starter-parent</artifactId>
8                 <version>2.5.4</version>
9                 <relativePath/> <!-- lookup parent from repository -->
10         </parent>
11         <groupId>de.juplo.kafka.wordcount</groupId>
12         <artifactId>users</artifactId>
13         <version>2.0-avro-SNAPSHOT</version>
14         <name>Wordcount-Users</name>
15         <description>Users-service of the multi-user wordcount-example</description>
16         <properties>
17                 <avro.version>1.10.2</avro.version>
18                 <docker-maven-plugin.version>0.33.0</docker-maven-plugin.version>
19                 <java.version>11</java.version>
20                 <kafka.version>2.8.0</kafka.version>
21                 <confluent.version>6.2.1</confluent.version>
22         </properties>
23         <dependencies>
24                 <dependency>
25                         <groupId>org.springframework.boot</groupId>
26                         <artifactId>spring-boot-starter-actuator</artifactId>
27                 </dependency>
28                 <dependency>
29                         <groupId>org.springframework.boot</groupId>
30                         <artifactId>spring-boot-starter-web</artifactId>
31                 </dependency>
32                 <dependency>
33                         <groupId>org.apache.kafka</groupId>
34                         <artifactId>kafka-clients</artifactId>
35                 </dependency>
36                 <dependency>
37                         <groupId>org.hibernate.validator</groupId>
38                         <artifactId>hibernate-validator</artifactId>
39                 </dependency>
40                 <dependency>
41                         <groupId>io.confluent</groupId>
42                         <artifactId>kafka-streams-avro-serde</artifactId>
43                         <version>${confluent.version}</version>
44                 </dependency>
45                 <dependency>
46                         <groupId>org.apache.avro</groupId>
47                         <artifactId>avro</artifactId>
48                         <version>${avro.version}</version>
49                 </dependency>
50
51                 <dependency>
52                         <groupId>org.springframework.boot</groupId>
53                         <artifactId>spring-boot-devtools</artifactId>
54                         <scope>runtime</scope>
55                         <optional>true</optional>
56                 </dependency>
57                 <dependency>
58                         <groupId>org.springframework.boot</groupId>
59                         <artifactId>spring-boot-configuration-processor</artifactId>
60                         <optional>true</optional>
61                 </dependency>
62                 <dependency>
63                         <groupId>org.projectlombok</groupId>
64                         <artifactId>lombok</artifactId>
65                         <optional>true</optional>
66                 </dependency>
67                 <dependency>
68                         <groupId>org.springframework.boot</groupId>
69                         <artifactId>spring-boot-starter-test</artifactId>
70                         <scope>test</scope>
71                 </dependency>
72         </dependencies>
73
74         <build>
75                 <plugins>
76                         <plugin>
77                                 <groupId>org.springframework.boot</groupId>
78                                 <artifactId>spring-boot-maven-plugin</artifactId>
79                                 <configuration>
80                                         <excludes>
81                                                 <exclude>
82                                                         <groupId>org.projectlombok</groupId>
83                                                         <artifactId>lombok</artifactId>
84                                                 </exclude>
85                                         </excludes>
86                                 </configuration>
87                         </plugin>
88                         <plugin>
89                                 <groupId>io.fabric8</groupId>
90                                 <artifactId>docker-maven-plugin</artifactId>
91                                 <version>${docker-maven-plugin.version}</version>
92                                 <configuration>
93                                         <images>
94                                                 <image>
95                                                         <name>juplo/wordcount--%a:%v</name>
96                                                 </image>
97                                         </images>
98                                 </configuration>
99                         </plugin>
100                         <plugin>
101                                 <groupId>org.apache.avro</groupId>
102                                 <artifactId>avro-maven-plugin</artifactId>
103                                 <version>${avro.version}</version>
104                                 <executions>
105                                         <execution>
106                                                 <phase>generate-sources</phase>
107                                                 <goals>
108                                                         <goal>schema</goal>
109                                                 </goals>
110                                                 <configuration>
111                                                         <sourceDirectory>${project.basedir}/src/main/resources/avro</sourceDirectory>
112                                                         <outputDirectory>${project.basedir}/target/generated-sources</outputDirectory>
113                                                         <fieldVisibility>PRIVATE</fieldVisibility>
114                                                         <stringType>String</stringType>
115                                                         <includes>
116                                                                 <include>*.avsc</include>
117                                                         </includes>
118                                                 </configuration>
119                                         </execution>
120                                 </executions>
121                         </plugin>
122                 </plugins>
123         </build>
124
125         <repositories>
126                 <repository>
127                         <id>confluent</id>
128                         <url>https://packages.confluent.io/maven/</url>
129                 </repository>
130         </repositories>
131
132 </project>