508 lines
21 KiB
XML
508 lines
21 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">
|
|
<parent>
|
|
<artifactId>kafka-ui</artifactId>
|
|
<groupId>com.provectus</groupId>
|
|
<version>0.0.1-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<artifactId>kafka-ui-api</artifactId>
|
|
|
|
<properties>
|
|
<jacoco.version>0.8.10</jacoco.version>
|
|
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
|
|
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
|
|
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
|
|
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/site/jacoco/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
|
|
<sonar.language>java</sonar.language>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-actuator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-oauth2-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.provectus</groupId>
|
|
<artifactId>kafka-ui-contract</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.provectus</groupId>
|
|
<artifactId>kafka-ui-serde-api</artifactId>
|
|
<version>${kafka-ui-serde-api.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.kafka</groupId>
|
|
<artifactId>kafka-clients</artifactId>
|
|
<version>${kafka-clients.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>3.12.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct</artifactId>
|
|
<version>${org.mapstruct.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.confluent</groupId>
|
|
<artifactId>kafka-schema-registry-client</artifactId>
|
|
<version>${confluent.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.confluent</groupId>
|
|
<artifactId>kafka-avro-serializer</artifactId>
|
|
<version>${confluent.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.confluent</groupId>
|
|
<artifactId>kafka-json-schema-serializer</artifactId>
|
|
<version>${confluent.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.confluent</groupId>
|
|
<artifactId>kafka-protobuf-serializer</artifactId>
|
|
<version>${confluent.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>software.amazon.msk</groupId>
|
|
<artifactId>aws-msk-iam-auth</artifactId>
|
|
<version>1.1.6</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.avro</groupId>
|
|
<artifactId>avro</artifactId>
|
|
<version>${avro.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-logging</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.projectreactor.addons</groupId>
|
|
<artifactId>reactor-extra</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.json</groupId>
|
|
<artifactId>json</artifactId>
|
|
<version>${org.json.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-pool2</artifactId>
|
|
<version>${apache.commons.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>kafka</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-junit-jupiter</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.bytebuddy</groupId>
|
|
<artifactId>byte-buddy</artifactId>
|
|
<version>${byte-buddy.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>${assertj.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.java-json-tools</groupId>
|
|
<artifactId>json-schema-validator</artifactId>
|
|
<version>2.2.14</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
<artifactId>mockwebserver</artifactId>
|
|
<version>${okhttp3.mockwebserver.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
<artifactId>okhttp</artifactId>
|
|
<version>${okhttp3.mockwebserver.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr4-runtime</artifactId>
|
|
<version>${antlr4-maven-plugin.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.opendatadiscovery</groupId>
|
|
<artifactId>oddrn-generator-java</artifactId>
|
|
<version>${odd-oddrn-generator.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.opendatadiscovery</groupId>
|
|
<artifactId>ingestion-contract-client</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-core</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>io.projectreactor.ipc</groupId>
|
|
<artifactId>reactor-netty</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
<version>${odd-oddrn-client.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-ldap</artifactId>
|
|
</dependency>
|
|
|
|
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-jsr223</artifactId>
|
|
<version>${groovy.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-json</artifactId>
|
|
<version>${groovy.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.datasketches</groupId>
|
|
<artifactId>datasketches-java</artifactId>
|
|
<version>${datasketches-java.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-devtools</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
<goal>build-info</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct-processor</artifactId>
|
|
<version>${org.mapstruct.version}</version>
|
|
</path>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${org.projectlombok.version}</version>
|
|
</path>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok-mapstruct-binding</artifactId>
|
|
<version>0.2.0</version>
|
|
</path>
|
|
<path>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<argLine>@{argLine} --illegal-access=permit</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.puppycrawl.tools</groupId>
|
|
<artifactId>checkstyle</artifactId>
|
|
<version>10.3.1</version>
|
|
</dependency>
|
|
</dependencies>
|
|
<executions>
|
|
<execution>
|
|
<id>checkstyle</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
<configuration>
|
|
<violationSeverity>warning</violationSeverity>
|
|
<failOnViolation>true</failOnViolation>
|
|
<failsOnError>true</failsOnError>
|
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
|
<configLocation>file:${basedir}/../etc/checkstyle/checkstyle.xml</configLocation>
|
|
<headerLocation>file:${basedir}/../etc/checkstyle/apache-header.txt</headerLocation>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.antlr</groupId>
|
|
<artifactId>antlr4-maven-plugin</artifactId>
|
|
<version>${antlr4-maven-plugin.version}</version>
|
|
<configuration>
|
|
<visitor>false</visitor>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>antlr4</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>report</id>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
<configuration>
|
|
<formats>
|
|
<format>XML</format>
|
|
</formats>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>prod</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>pl.project13.maven</groupId>
|
|
<artifactId>git-commit-id-plugin</artifactId>
|
|
<version>4.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>get-the-git-infos</id>
|
|
<goals>
|
|
<goal>revision</goal>
|
|
</goals>
|
|
<phase>initialize</phase>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<generateGitPropertiesFile>true</generateGitPropertiesFile>
|
|
<generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
|
|
<includeOnlyProperties>
|
|
<includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
|
|
<includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty>
|
|
</includeOnlyProperties>
|
|
<commitIdGenerationMode>full</commitIdGenerationMode>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-resources</id>
|
|
<phase>process-classes</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${basedir}/target/classes/static</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>../kafka-ui-react-app/build</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<version>${frontend-maven-plugin.version}</version>
|
|
<configuration>
|
|
<skip>${skipUIBuild}</skip>
|
|
<workingDirectory>../kafka-ui-react-app</workingDirectory>
|
|
<environmentVariables>
|
|
<VITE_TAG>${project.version}</VITE_TAG>
|
|
<VITE_COMMIT>${git.commit.id.abbrev}</VITE_COMMIT>
|
|
</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 build</id>
|
|
<goals>
|
|
<goal>pnpm</goal>
|
|
</goals>
|
|
<configuration>
|
|
<arguments>build</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>io.fabric8</groupId>
|
|
<artifactId>docker-maven-plugin</artifactId>
|
|
<version>${fabric8-maven-plugin.version}</version>
|
|
<configuration>
|
|
<verbose>true</verbose>
|
|
<images>
|
|
<image>
|
|
<name>provectuslabs/kafka-ui:${git.revision}</name>
|
|
<build>
|
|
<contextDir>${project.basedir}</contextDir>
|
|
<args>
|
|
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
|
|
</args>
|
|
</build>
|
|
</image>
|
|
</images>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>default</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>build</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|