feature/protobuf schema artifacts#144
Merged
Merged
Conversation
Introduce shared message header analysis so generated Spring Kafka producers and consumers can use typed header DTOs when AsyncAPI message headers are defined. The Spring Kafka model preparation now carries header type metadata through the analyzer, payload model, Java/Kotlin factories, and templates. Generated producer and consumer APIs now include typed header parameters for messages with headers, while no-header messages keep the existing simpler signatures. Producer templates now map non-null typed header values into Kafka record headers, and consumer templates expose the generated header type in handler signatures. Add tests covering header analysis, Java Spring Kafka generation, and Kotlin Spring Kafka generation so typed header imports, method signatures, and producer header mapping remain stable.
Feature/kafka client contract
…eration Feature/protobuf java payload generation
Feature/external native schema files
Feature/protobuf runtime generation
…nto feature/protobuf-schema-artifacts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add native Protobuf schema artifact generation for AsyncAPI multi-format schema payloads.
Previously, the generator could recognize Protobuf
schemaFormatvalues, but there was no dedicated generator capability that consumed native Protobuf schemas and wrote.protoartifacts. This meant Protobuf schemas were preserved by the parser, but they could not be emitted as generator output through the core generator, CLI, Maven plugin, or Gradle plugin.The proposed solution adds native Protobuf as an explicit schema generation capability. When a schema uses
schemaFormat: application/vnd.google.protobuf;version=3, the generator now treats the schema content as.prototext and writes it to the configured resource output directory. If the.protocontent declares a package, for examplepackage com.example.protobuf;, that package is used to create the output path, such ascom/example/protobuf/UserCreated.proto.The generator configuration model now includes
schemas.nativeProtobuf, and the generation planner routes that configuration to a dedicated native Protobuf artifact task. The core generator writes Protobuf schemas as resource artifacts, not source artifacts.The configuration frontend was also wired through all supported entry points.