Kafka serializer using avro4k

Provides Kafka SerDes and Serializer / Deserializer implementations for avro4k

Лицензия

Лицензия

Группа

Группа

com.github.thake.avro4k
Идентификатор

Идентификатор

avro4k-kafka-serializer
Последняя версия

Последняя версия

0.13.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Kafka serializer using avro4k
Provides Kafka SerDes and Serializer / Deserializer implementations for avro4k
Система контроля версий

Система контроля версий

https://github.com/tbroyer/gradle-incap-helper

Скачать avro4k-kafka-serializer

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.thake.avro4k/avro4k-kafka-serializer/ -->
<dependency>
    <groupId>com.github.thake.avro4k</groupId>
    <artifactId>avro4k-kafka-serializer</artifactId>
    <version>0.13.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.thake.avro4k/avro4k-kafka-serializer/
implementation 'com.github.thake.avro4k:avro4k-kafka-serializer:0.13.0'
// https://jarcasting.com/artifacts/com.github.thake.avro4k/avro4k-kafka-serializer/
implementation ("com.github.thake.avro4k:avro4k-kafka-serializer:0.13.0")
'com.github.thake.avro4k:avro4k-kafka-serializer:jar:0.13.0'
<dependency org="com.github.thake.avro4k" name="avro4k-kafka-serializer" rev="0.13.0">
  <artifact name="avro4k-kafka-serializer" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.thake.avro4k', module='avro4k-kafka-serializer', version='0.13.0')
)
libraryDependencies += "com.github.thake.avro4k" % "avro4k-kafka-serializer" % "0.13.0"
[com.github.thake.avro4k/avro4k-kafka-serializer "0.13.0"]

Зависимости

runtime (9)

Идентификатор библиотеки Тип Версия
org.apache.avro : avro jar 1.10.0
io.confluent » kafka-avro-serializer jar 6.0.0
io.confluent » kafka-streams-avro-serde jar 6.0.0
com.github.avro-kotlin.avro4k : avro4k-core jar 1.0.0
io.github.classgraph : classgraph jar 4.8.90
com.michael-bull.kotlin-retry : kotlin-retry jar 1.0.6
org.jetbrains.kotlinx : kotlinx-coroutines-core-jvm jar 1.3.9
org.jetbrains.kotlin : kotlin-reflect jar 1.4.20
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.20

Модули Проекта

Данный проект не имеет модулей.

gradle-incap-helper

Helper library and annotation processor for building incremental annotation processors

Gradle 4.7 comes with some level incremental annotation processing support. Gradle 4.8 goes farther by making it possibly dynamic.

This library and annotation processor helps you generate the META-INF descriptor, and return the appropriate value from your processor's getSupportedOptions() if it's dynamic.

Usage

  1. Add the incap library to your compile-time dependencies, and the incap-processor to your annotation processor path:

    with Gradle
    dependencies {
        compileOnly("net.ltgt.gradle.incap:incap:${incap.version}")
        annotationProcessor("net.ltgt.gradle.incap:incap-processor:${incap.version}")
    }
    with Maven
    <dependencies>
        <dependency>
            <groupId>net.ltgt.gradle.incap</groupId>
            <artifactId>incap</artifactId>
            <version>${incap.version}</version>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>net.ltgt.gradle.incap</groupId>
                            <artifactId>incap-processor</artifactId>
                            <version>${incap.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

    Note: it's OK to use compileOnly in Gradle, or the provided scope in Maven, despite the annotation having class retention, because annotation processors aren't libraries that others compile against.

  2. Annotate your annotation processor with @IncrementalAnnotationProcessor

    @IncrementalAnnotationProcessor(ISOLATING)
    public class MyProcessor extends AbstractProcessor {
  3. If the choice of incrementality support is dynamic (i.e. you used the DYNAMIC value above), use the IncrementalAnnotationProcessorType enumeration's getProcessorOption() from your getSupportedOptions() to get the appropriate constant.

    @Override
    public Set<String> getSupportedOptions() {
        if (someCondition) {
            return Collections.singleton(ISOLATING.getProcessorOption());
        } else {
            return Collections.emptySet();
        }
    }

Acknowledgements

This processor works great with @AutoService, which also inspired some of the code here.

Shout-out Gradle, Inc. (and Groupon) who built this feature.

Версии библиотеки

Версия
0.13.0
0.12.0
0.10.1
0.10.0
0.7.2
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0