123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- <?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">
- <parent>
- <artifactId>kafka-ui</artifactId>
- <groupId>com.provectus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>kafka-ui-contract</artifactId>
- <profiles>
- <profile>
- <id>generate-spring-webflux-api</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-webflux</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-validation</artifactId>
- </dependency>
- <dependency>
- <groupId>io.swagger.core.v3</groupId>
- <artifactId>swagger-integration-jakarta</artifactId>
- <version>2.2.8</version>
- </dependency>
- <dependency>
- <groupId>org.openapitools</groupId>
- <artifactId>jackson-databind-nullable</artifactId>
- <version>0.2.4</version>
- </dependency>
- <dependency>
- <groupId>jakarta.annotation</groupId>
- <artifactId>jakarta.annotation-api</artifactId>
- <version>2.1.1</version>
- </dependency>
- <dependency>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
- <version>1.3.2</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.openapitools</groupId>
- <artifactId>openapi-generator-maven-plugin</artifactId>
- <version>${openapi-generator-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>generate-kafka-ui-client</id>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-ui-api.yaml
- </inputSpec>
- <output>${project.build.directory}/generated-sources/kafka-ui-client</output>
- <generatorName>java</generatorName>
- <generateApiTests>false</generateApiTests>
- <generateModelTests>false</generateModelTests>
- <configOptions>
- <modelPackage>com.provectus.kafka.ui.api.model</modelPackage>
- <apiPackage>com.provectus.kafka.ui.api.api</apiPackage>
- <sourceFolder>kafka-ui-client</sourceFolder>
- <asyncNative>true</asyncNative>
- <library>webclient</library>
- <useBeanValidation>true</useBeanValidation>
- <dateLibrary>java8</dateLibrary>
- <useJakartaEe>true</useJakartaEe>
- </configOptions>
- </configuration>
- </execution>
- <execution>
- <id>generate-backend-api</id>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-ui-api.yaml</inputSpec>
- <output>${project.build.directory}/generated-sources/api</output>
- <generatorName>spring</generatorName>
- <modelNameSuffix>DTO</modelNameSuffix>
- <configOptions>
- <modelPackage>com.provectus.kafka.ui.model</modelPackage>
- <apiPackage>com.provectus.kafka.ui.api</apiPackage>
- <sourceFolder>kafka-ui-contract</sourceFolder>
- <reactive>true</reactive>
- <interfaceOnly>true</interfaceOnly>
- <skipDefaultInterface>true</skipDefaultInterface>
- <useBeanValidation>true</useBeanValidation>
- <useTags>true</useTags>
- <useSpringBoot3>true</useSpringBoot3>
- <dateLibrary>java8</dateLibrary>
- </configOptions>
- </configuration>
- </execution>
- <execution>
- <id>generate-connect-client</id>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-connect-api.yaml
- </inputSpec>
- <output>${project.build.directory}/generated-sources/kafka-connect-client</output>
- <generatorName>java</generatorName>
- <generateApiTests>false</generateApiTests>
- <generateModelTests>false</generateModelTests>
- <configOptions>
- <modelPackage>com.provectus.kafka.ui.connect.model</modelPackage>
- <apiPackage>com.provectus.kafka.ui.connect.api</apiPackage>
- <sourceFolder>kafka-connect-client</sourceFolder>
- <asyncNative>true</asyncNative>
- <library>webclient</library>
- <useJakartaEe>true</useJakartaEe>
- <useBeanValidation>true</useBeanValidation>
- <dateLibrary>java8</dateLibrary>
- </configOptions>
- </configuration>
- </execution>
- <execution>
- <id>generate-sr-client</id>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${project.basedir}/src/main/resources/swagger/kafka-sr-api.yaml
- </inputSpec>
- <output>${project.build.directory}/generated-sources/kafka-sr-client</output>
- <generatorName>java</generatorName>
- <generateApiTests>false</generateApiTests>
- <generateModelTests>false</generateModelTests>
- <configOptions>
- <modelPackage>com.provectus.kafka.ui.sr.model</modelPackage>
- <apiPackage>com.provectus.kafka.ui.sr.api</apiPackage>
- <sourceFolder>kafka-sr-client</sourceFolder>
- <asyncNative>true</asyncNative>
- <library>webclient</library>
- <useJakartaEe>true</useJakartaEe>
- <useBeanValidation>true</useBeanValidation>
- <dateLibrary>java8</dateLibrary>
- </configOptions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>com.github.eirslett</groupId>
- <artifactId>frontend-maven-plugin</artifactId>
- <version>${frontend-maven-plugin.version}</version>
- <configuration>
- <workingDirectory>../kafka-ui-react-app</workingDirectory>
- <environmentVariables>
- <VITE_TAG>${project.version}</VITE_TAG>
- </environmentVariables>
- </configuration>
- <executions>
- <execution>
- <id>install node and pnpm</id>
- <goals>
- <goal>install-node-and-pnpm</goal>
- </goals>
- <configuration>
- <nodeVersion>${node.version}</nodeVersion>
- <pnpmVersion>${pnpm.version}</pnpmVersion>
- </configuration>
- </execution>
- <execution>
- <id>pnpm install</id>
- <goals>
- <goal>pnpm</goal>
- </goals>
- <configuration>
- <arguments>install</arguments>
- </configuration>
- </execution>
- <execution>
- <id>pnpm gen:sources</id>
- <goals>
- <goal>pnpm</goal>
- </goals>
- <configuration>
- <arguments>gen:sources</arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <configuration>
- <filesets>
- <fileset>
- <directory>${basedir}/${frontend-generated-sources-directory}</directory>
- </fileset>
- </filesets>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-resource-one</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${basedir}/${frontend-generated-sources-directory}</outputDirectory>
- <resources>
- <resource>
- <directory>${project.build.directory}/generated-sources/frontend/</directory>
- <includes>
- <include>**/*.ts</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- </project>
|