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>top10</artifactId>
13         <version>1.0.0</version>
14         <name>Wordcount-Top-10</name>
15         <description>Top-10 stream-processor 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-streams</artifactId>
35                 </dependency>
36                 <dependency>
37                         <groupId>io.confluent</groupId>
38                         <artifactId>kafka-streams-avro-serde</artifactId>
39                         <version>${confluent.version}</version>
40                 </dependency>
41                 <dependency>
42                         <groupId>org.apache.avro</groupId>
43                         <artifactId>avro</artifactId>
44                         <version>${avro.version}</version>
45                 </dependency>
46
47                 <dependency>
48                         <groupId>org.springframework.boot</groupId>
49                         <artifactId>spring-boot-devtools</artifactId>
50                         <scope>runtime</scope>
51                         <optional>true</optional>
52                 </dependency>
53                 <dependency>
54                         <groupId>org.springframework.boot</groupId>
55                         <artifactId>spring-boot-configuration-processor</artifactId>
56                         <optional>true</optional>
57                 </dependency>
58                 <dependency>
59                         <groupId>org.projectlombok</groupId>
60                         <artifactId>lombok</artifactId>
61                         <optional>true</optional>
62                 </dependency>
63                 <dependency>
64                         <groupId>org.springframework.boot</groupId>
65                         <artifactId>spring-boot-starter-test</artifactId>
66                         <scope>test</scope>
67                 </dependency>
68         </dependencies>
69
70         <build>
71                 <plugins>
72                         <plugin>
73                                 <groupId>org.springframework.boot</groupId>
74                                 <artifactId>spring-boot-maven-plugin</artifactId>
75                                 <configuration>
76                                         <excludes>
77                                                 <exclude>
78                                                         <groupId>org.projectlombok</groupId>
79                                                         <artifactId>lombok</artifactId>
80                                                 </exclude>
81                                         </excludes>
82                                 </configuration>
83                         </plugin>
84                         <plugin>
85                                 <groupId>io.fabric8</groupId>
86                                 <artifactId>docker-maven-plugin</artifactId>
87                                 <version>${docker-maven-plugin.version}</version>
88                                 <configuration>
89                                         <images>
90                                                 <image>
91                                                         <name>juplo/wordcount--%a:%v</name>
92                                                 </image>
93                                         </images>
94                                 </configuration>
95                         </plugin>
96                         <plugin>
97                                 <groupId>org.apache.avro</groupId>
98                                 <artifactId>avro-maven-plugin</artifactId>
99                                 <version>${avro.version}</version>
100                                 <executions>
101                                         <execution>
102                                                 <phase>generate-sources</phase>
103                                                 <goals>
104                                                         <goal>schema</goal>
105                                                 </goals>
106                                                 <configuration>
107                                                         <sourceDirectory>${project.basedir}/src/main/resources/avro</sourceDirectory>
108                                                         <outputDirectory>${project.basedir}/target/generated-sources</outputDirectory>
109                                                         <fieldVisibility>PRIVATE</fieldVisibility>
110                                                         <stringType>String</stringType>
111                                                         <includes>
112                                                                 <include>*.avsc</include>
113                                                         </includes>
114                                                 </configuration>
115                                         </execution>
116                                 </executions>
117                         </plugin>
118                 </plugins>
119         </build>
120
121         <repositories>
122                 <repository>
123                         <id>confluent</id>
124                         <url>https://packages.confluent.io/maven/</url>
125                 </repository>
126         </repositories>
127
128 </project>