kroxylicious-filter-api
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.kroxylicious</groupId>
<artifactId>kroxylicious-filter-api</artifactId>
<version>0.2.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright Kroxylicious Authors.
Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
-->
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.kroxylicious</groupId>
<artifactId>kroxylicious-parent</artifactId>
<version>0.2.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>kroxylicious-filter-api</artifactId>
<version>0.2.0</version>
<packaging>jar</packaging>
<properties>
<libs.dir>libs</libs.dir>
</properties>
<name>Kroxylicious Filter API</name>
<description>The public interfaces, classes, etc required to author custom filters and configure Kroxylicious to use them</description>
<dependencies>
<dependency>
<groupId>io.kroxylicious</groupId>
<artifactId>kroxylicious-api</artifactId>
<version>${kroxyliciousApi.version}</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-message-specs</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<artifact>org.apache.kafka:kafka-clients:${kafka.version}</artifact>
<includes>common/message/*.json</includes>
<outputDirectory>${project.build.directory}/message-specs</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- This actually shouldn't be needed, as the plug-in itself adds that directory as a source directory;
Unfortunately, Eclipse/M2E doesn't reliably pick it up without this helper plug-in -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources/krpc</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.kroxylicious</groupId>
<artifactId>kroxylicious-krpc-plugin</artifactId>
<executions>
<execution>
<id>generate-filters</id>
<goals>
<goal>generate-single</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<messageSpecDirectory>${project.build.directory}/message-specs/common/message</messageSpecDirectory>
<messageSpecFilter>*{Request,Response}.json</messageSpecFilter>
<templateDirectory>${project.basedir}/src/main/templates</templateDirectory>
<templateNames>Kproxy/Filter.ftl</templateNames>
<!--suppress UnresolvedMavenProperty -->
<outputFilePattern>${messageSpecName}Filter.java</outputFilePattern>
<outputPackage>io.kroxylicious.proxy.filter</outputPackage>
<outputDirectory>${project.build.directory}/generated-sources/krpc</outputDirectory>
</configuration>
</execution>
<execution>
<id>generate-per-message-filter-invokers</id>
<goals>
<goal>generate-single</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<messageSpecDirectory>${project.build.directory}/message-specs/common/message</messageSpecDirectory>
<messageSpecFilter>*{Request,Response}.json</messageSpecFilter>
<templateDirectory>${project.basedir}/src/main/templates</templateDirectory>
<templateNames>Kproxy/FilterInvoker.ftl</templateNames>
<!--suppress UnresolvedMavenProperty -->
<outputFilePattern>${messageSpecName}FilterInvoker.java</outputFilePattern>
<outputPackage>io.kroxylicious.proxy.filter</outputPackage>
<outputDirectory>${project.build.directory}/generated-sources/krpc</outputDirectory>
</configuration>
</execution>
<execution>
<id>generate-array-filter-invoker</id>
<goals>
<goal>generate-multi</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<messageSpecDirectory>${project.build.directory}/message-specs/common/message</messageSpecDirectory>
<messageSpecFilter>*{Request,Response}.json</messageSpecFilter>
<templateDirectory>${project.basedir}/src/main/templates</templateDirectory>
<templateNames>Kproxy/SpecificFilterArrayInvoker.ftl</templateNames>
<!--suppress UnresolvedMavenProperty -->
<outputFilePattern>${templateName}.java</outputFilePattern>
<outputPackage>io.kroxylicious.proxy.filter</outputPackage>
<outputDirectory>${project.build.directory}/generated-sources/krpc</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>