Skip to content

Conversation

@frevib
Copy link

@frevib frevib commented Jan 5, 2026

What is the purpose of the change

Gradle plugin to generate Java code from Avro files

Verifying this change

This change added tests and can be verified as follows:

cd to avro/lang/java/gradle-plugin

./gradlew test

Documentation

Release

0.0.2 is released and fully works with AVSC files: https://central.sonatype.com/artifact/eu.eventloopsoftware.avro-gradle-plugin/eu.eventloopsoftware.avro-gradle-plugin.gradle.plugin/versions - read docs (above) how to use

0.0.5 https://plugins.gradle.org/plugin/eu.eventloopsoftware.avro-gradle-plugin

0.0.8 https://plugins.gradle.org/plugin/eu.eventloopsoftware.avro-gradle-plugin

Installation instructions: https://github.com/frevib/avro/blob/AVRO-4223-gradle-plugin/lang/java/gradle-plugin/README.md#version

An official release will be done in the coming month

frevib added 7 commits January 6, 2026 09:16
Use directory property instead of Property<String>
Rename classes
Remove unneeded file which is generated by the java-gradle-plugin
Use Task logger instead of project logger
Fix comment
Refactor adding sources
Add custom logical type factories
* at schema compiling time. All files can therefore be referenced as classpath
* resources following the directory structure under the source directory.
*
* @parameter property="sourceDirectory"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use the Maven annotations instead? IMHO they're easier to read (less likely to be missed when reading the code).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which annotations do you mean?

This documentation isn't correct any way, so I'll remove it.

Copy link
Contributor

@opwvhk opwvhk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good so far!

Update readme with versioning

New release: 0.0.5
@frevib
Copy link
Author

frevib commented Jan 7, 2026

New BETA 0.0.5release is now on Gradle plugin portal: https://plugins.gradle.org/plugin/eu.eventloopsoftware.avro-gradle-plugin.

frevib added 8 commits January 7, 2026 16:47
Remove Maven publishing, only publish in Gradle plugin registry
Add generated code before compilation, so no dependsOn(..) is needed any more
Release 0.0.7
Refactor to use schemaFiles: ConfigurableFileCollection

Fix depraction warning for: calling project at runtime is soft-deprecated in Gradle 8, deprecated in Gradle 9 and will be unsupported in Gradle 10.

Upgrade to Java 21

Upgrade to Gradle 9
Publish 0.0.8
Update readme
Refactor
Refactor
@frevib
Copy link
Author

frevib commented Jan 10, 2026

New BETA 0.0.8 release is now on Gradle plugin portal: https://plugins.gradle.org/plugin/eu.eventloopsoftware.avro-gradle-plugin.

Add classpath in a compile-safe way
Add Maven phase hooks for compiling, testing, building and publishing the Gradle plugin
Improve Javadoc

Add information to warning
Remove unused task property

Rename field
Add Gradle plugin to root POM

Add windows profile
Remove unused file
Template directory is inside the classpath, so it should not be an @get:InputDirectory
Move reusable methods to abstract class
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Java Pull Requests for Java binding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants