Skip to content

A Gradle plugin aimed to help working with Apache Avro. It supports code generation for JSON schema declaration files(.avsc), JSON protocol declaration files(.avpr), and Avro IDL files. In the future, it should support Schema Registry integration, as well.

License

Notifications You must be signed in to change notification settings

LeoFuso/argo

Of Argo

Analysis Compatibility Publish Plugin to Portal Publish CLI to Sonatype License

A Gradle plugin aimed to help working with Apache Avro. It supports Java code generation from JSON schema declaration files(.avsc), JSON protocol declaration files(.avpr), and Avro IDL files.

In the future, it should support Schema Registry integration, as well.

Of Quick Facts

If you're looking for examples of how to set up this plugin, there are a few use-cases available for you to look.

There are two use-cases covered by this plugin, Code Generation and Schema Registry integration. Those are segregated into two separated namespaces: Columba and Navis.

At this moment, just the Columba portion has some functionalities ready for use.

Of Columba

You can learn about Columba in more depth here.

Add the following to your build files. Substitute the desired version based on your needs.

settings.gradle

pluginManagement {
    repositories {
        mavenCentral()
        gradlePluginPortal()
    }
}

build.gradle

plugins {
    id 'io.github.leofuso.argo' version 'VERSION'
}

... and that's it!

Of Kotlin DSL Support

Special notes relevant to using this plugin via the Gradle Kotlin DSL:

  • Apply the plugin declaratively using the plugins {} block. Otherwise, various features mayn't work as intended.
  • See Configuring Plugins in the Gradle Kotlin DSL for more details.
  • Configuration in the avro {} block must be applied differently than in the Groovy DSL.

Of License

This plugin is licensed under the Apache-2.0 License. See the License file for details.

About

A Gradle plugin aimed to help working with Apache Avro. It supports code generation for JSON schema declaration files(.avsc), JSON protocol declaration files(.avpr), and Avro IDL files. In the future, it should support Schema Registry integration, as well.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published