pom.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. 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">
  4. <parent>
  5. <artifactId>kafka-ui</artifactId>
  6. <groupId>com.provectus</groupId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. </parent>
  9. <modelVersion>4.0.0</modelVersion>
  10. <artifactId>kafka-ui-contract</artifactId>
  11. <profiles>
  12. <profile>
  13. <id>generate-spring-webflux-api</id>
  14. <activation>
  15. <activeByDefault>true</activeByDefault>
  16. </activation>
  17. <dependencies>
  18. <dependency>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-starter-webflux</artifactId>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.springframework.boot</groupId>
  24. <artifactId>spring-boot-starter-validation</artifactId>
  25. </dependency>
  26. <dependency>
  27. <groupId>io.swagger</groupId>
  28. <artifactId>swagger-annotations</artifactId>
  29. <version>${swagger-annotations.version}</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.openapitools</groupId>
  33. <artifactId>jackson-databind-nullable</artifactId>
  34. <version>${jackson-databind-nullable.version}</version>
  35. </dependency>
  36. <dependency>
  37. <groupId>com.google.code.findbugs</groupId>
  38. <artifactId>jsr305</artifactId>
  39. <version>3.0.2</version>
  40. <scope>provided</scope>
  41. </dependency>
  42. </dependencies>
  43. <build>
  44. <plugins>
  45. <plugin>
  46. <groupId>org.openapitools</groupId>
  47. <artifactId>openapi-generator-maven-plugin</artifactId>
  48. <version>${openapi-generator-maven-plugin.version}</version>
  49. <executions>
  50. <execution>
  51. <id>generate-kafka-ui-client</id>
  52. <goals>
  53. <goal>generate</goal>
  54. </goals>
  55. <configuration>
  56. <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-ui-api.yaml
  57. </inputSpec>
  58. <output>${project.build.directory}/generated-sources/kafka-ui-client</output>
  59. <generatorName>java</generatorName>
  60. <generateApiTests>false</generateApiTests>
  61. <generateModelTests>false</generateModelTests>
  62. <configOptions>
  63. <modelPackage>com.provectus.kafka.ui.api.model</modelPackage>
  64. <apiPackage>com.provectus.kafka.ui.api.api</apiPackage>
  65. <sourceFolder>kafka-ui-client</sourceFolder>
  66. <asyncNative>true</asyncNative>
  67. <library>webclient</library>
  68. <useBeanValidation>true</useBeanValidation>
  69. <dateLibrary>java8</dateLibrary>
  70. </configOptions>
  71. </configuration>
  72. </execution>
  73. <execution>
  74. <id>generate-backend-api</id>
  75. <goals>
  76. <goal>generate</goal>
  77. </goals>
  78. <configuration>
  79. <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-ui-api.yaml
  80. </inputSpec>
  81. <output>${project.build.directory}/generated-sources/api</output>
  82. <generatorName>spring</generatorName>
  83. <modelNameSuffix>DTO</modelNameSuffix>
  84. <configOptions>
  85. <modelPackage>com.provectus.kafka.ui.model</modelPackage>
  86. <apiPackage>com.provectus.kafka.ui.api</apiPackage>
  87. <sourceFolder>kafka-ui-contract</sourceFolder>
  88. <reactive>true</reactive>
  89. <interfaceOnly>true</interfaceOnly>
  90. <skipDefaultInterface>true</skipDefaultInterface>
  91. <useBeanValidation>true</useBeanValidation>
  92. <useTags>true</useTags>
  93. <dateLibrary>java8</dateLibrary>
  94. </configOptions>
  95. </configuration>
  96. </execution>
  97. <execution>
  98. <id>generate-connect-client</id>
  99. <goals>
  100. <goal>generate</goal>
  101. </goals>
  102. <configuration>
  103. <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-connect-api.yaml
  104. </inputSpec>
  105. <output>${project.build.directory}/generated-sources/kafka-connect-client</output>
  106. <generatorName>java</generatorName>
  107. <generateApiTests>false</generateApiTests>
  108. <generateModelTests>false</generateModelTests>
  109. <configOptions>
  110. <modelPackage>com.provectus.kafka.ui.connect.model</modelPackage>
  111. <apiPackage>com.provectus.kafka.ui.connect.api</apiPackage>
  112. <sourceFolder>kafka-connect-client</sourceFolder>
  113. <asyncNative>true</asyncNative>
  114. <library>webclient</library>
  115. <useBeanValidation>true</useBeanValidation>
  116. <dateLibrary>java8</dateLibrary>
  117. </configOptions>
  118. </configuration>
  119. </execution>
  120. </executions>
  121. </plugin>
  122. <plugin>
  123. <groupId>com.github.eirslett</groupId>
  124. <artifactId>frontend-maven-plugin</artifactId>
  125. <version>${frontend-maven-plugin.version}</version>
  126. <configuration>
  127. <workingDirectory>../kafka-ui-react-app</workingDirectory>
  128. <environmentVariables>
  129. <VITE_TAG>${project.version}</VITE_TAG>
  130. </environmentVariables>
  131. </configuration>
  132. <executions>
  133. <execution>
  134. <id>install node and pnpm</id>
  135. <goals>
  136. <goal>install-node-and-pnpm</goal>
  137. </goals>
  138. <configuration>
  139. <nodeVersion>${node.version}</nodeVersion>
  140. <pnpmVersion>${pnpm.version}</pnpmVersion>
  141. </configuration>
  142. </execution>
  143. <execution>
  144. <id>pnpm install</id>
  145. <goals>
  146. <goal>pnpm</goal>
  147. </goals>
  148. <configuration>
  149. <arguments>install</arguments>
  150. </configuration>
  151. </execution>
  152. <execution>
  153. <id>pnpm gen:sources</id>
  154. <goals>
  155. <goal>pnpm</goal>
  156. </goals>
  157. <configuration>
  158. <arguments>gen:sources</arguments>
  159. </configuration>
  160. </execution>
  161. </executions>
  162. </plugin>
  163. <plugin>
  164. <groupId>org.apache.maven.plugins</groupId>
  165. <artifactId>maven-clean-plugin</artifactId>
  166. <configuration>
  167. <filesets>
  168. <fileset>
  169. <directory>${basedir}/${frontend-generated-sources-directory}</directory>
  170. </fileset>
  171. </filesets>
  172. </configuration>
  173. </plugin>
  174. <plugin>
  175. <groupId>org.apache.maven.plugins</groupId>
  176. <artifactId>maven-resources-plugin</artifactId>
  177. <executions>
  178. <execution>
  179. <id>copy-resource-one</id>
  180. <phase>generate-resources</phase>
  181. <goals>
  182. <goal>copy-resources</goal>
  183. </goals>
  184. <configuration>
  185. <outputDirectory>${basedir}/${frontend-generated-sources-directory}</outputDirectory>
  186. <resources>
  187. <resource>
  188. <directory>${project.build.directory}/generated-sources/frontend/</directory>
  189. <includes>
  190. <include>**/*.ts</include>
  191. </includes>
  192. </resource>
  193. </resources>
  194. </configuration>
  195. </execution>
  196. </executions>
  197. </plugin>
  198. </plugins>
  199. </build>
  200. </profile>
  201. </profiles>
  202. </project>