Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: introduce AsyncApiComponent annotation #78

Merged
merged 30 commits into from
Jan 6, 2025
Merged

feat: introduce AsyncApiComponent annotation #78

merged 30 commits into from
Jan 6, 2025

Conversation

lorenzsimon
Copy link
Member

@lorenzsimon lorenzsimon commented Jan 6, 2025

Create new annotation for classes that allows you to have multiple channels within (#76)

lorenz-scalable and others added 30 commits March 2, 2023 10:24
* feat - Implement message model annotations

* chore - Remove unused dependencies
* feat - Implement Message annotation processing

* feat - Merge annotation components

* feat - Add schema annotation processor

* refactor - Make annotation processor context dynamic
test - Add annotation provider integration test

* chore - ktlint format

* refactor - Refactor dependency management

---------

Co-authored-by: lorenzsimon <[email protected]>
* feat - Add Channel and Operation annotations

* feat - Add Channel processing

* refactor - Annotation keys to values

* chore - Fix confusing test values
* refactor - Annotation mapping improvements

* refactor - Add option for inline messages and schemas

* refactor - Use classname for channel component keys if autogenerated

* fix - Typo

* test - Fix Schemas test
feat - Add Kotlin module to model resolver
* refactor - Context providers

* feat - Bind channels to annotation components

* refactor - Annotation components binding
# Conflicts:
#	kotlin-asyncapi-annotation/pom.xml
#	kotlin-asyncapi-spring-web/pom.xml
#	kotlin-asyncapi-spring-web/src/main/kotlin/org/openfolder/kotlinasyncapi/springweb/AsyncApiAutoConfiguration.kt
#	kotlin-asyncapi-spring-web/src/main/kotlin/org/openfolder/kotlinasyncapi/springweb/context/AnnotationProvider.kt
#	kotlin-asyncapi-spring-web/src/main/kotlin/org/openfolder/kotlinasyncapi/springweb/context/annotation/AnnotationScanner.kt
#	pom.xml
* chore: Add Spring Boot example application

* fix: Java version

* fix: Test
* chore: Bump dependencies

* chore: Bump dependencies

* chore: Set Java version in GH actions

* fix: Autoconfig migration

* fix: Migrate Jakarta
* docs: Update Spring support

* pre-release: 3.0.4 (#70)

* docs: Link Spring Boot example

* Add Ktor integration

* Fix content type

* Fix test

* Fix test

* Add Script extension

* Add Script extension

* Refactor

* Add plugin integration test

* Add docs for ktor integration
…ple channels within (#76)

* allow annotation to target function also.

* add support for channel on functions instead of just classes.

* split into a separate processor with new annotation to handle finding the correct classes.

* match previous white space

* name updates per PR comments.

* fix annotation location

* add AsyncApiComponent population of channel map behavior to match Channel behavior. added value attribute to AsyncApiComponent for parity.

* chore: move domain (#77)

* feat: Implement message model annotations (#43)

* feat - Implement message model annotations

* chore - Remove unused dependencies

* feat: Process message and schema annotations (#44)

* feat - Implement Message annotation processing

* feat - Merge annotation components

* feat - Add schema annotation processor

* refactor - Make annotation processor context dynamic
test - Add annotation provider integration test

* chore - ktlint format

* refactor - Refactor dependency management

---------

Co-authored-by: lorenzsimon <[email protected]>

* feat: Channel annotation processing (#45)

* feat - Add Channel and Operation annotations

* feat - Add Channel processing

* refactor - Annotation keys to values

* chore - Fix confusing test values

* refactor: Annotation mapping (#47)

* refactor - Annotation mapping improvements

* refactor - Add option for inline messages and schemas

* refactor - Use classname for channel component keys if autogenerated

* fix - Typo

* test - Fix Schemas test

* feat: Add Kotlin module to model resolver (#48)

feat - Add Kotlin module to model resolver

* feat: Bind channels to annotation components (#49)

* refactor - Context providers

* feat - Bind channels to annotation components

* refactor - Annotation components binding

* chore - Format

* chore: Add Spring Boot example application (#63)

* chore: Add Spring Boot example application

* fix: Java version

* fix: Test

* chore: Bump dependencies (#65)

* chore: Bump dependencies

* chore: Bump dependencies

* chore: Set Java version in GH actions

* fix: Autoconfig migration

* fix: Migrate Jakarta

* chore: Refactor data objects (#67)

* chore: Revert

* release: 3.0.3

* pre-release: 3.0.4

* feat: Add Ktor integration (#72)

* docs: Update Spring support

* pre-release: 3.0.4 (#70)

* docs: Link Spring Boot example

* Add Ktor integration

* Fix content type

* Fix test

* Fix test

* Add Script extension

* Add Script extension

* Refactor

* Add plugin integration test

* Add docs for ktor integration

* Move to new domain namespace

* Fix kts example usage

* Move domain

* Bump dependencies

---------

Co-authored-by: Lorenz Simon <[email protected]>

* chore: Update repositories

* change how the map is populated for channels found via AsyncApiComponent and for Channel annotations to handle the fact that not all of them will be named based on their class and that will only happen if they target a class instead of a function.

* Update CODEOWNERS

* chore: Update pom.xml

* Update CODEOWNERS

* changes per PR requests.

* updates to handle merge conflicts.

---------

Co-authored-by: Charles Bazeley <[email protected]>
Co-authored-by: Lorenz Simon <[email protected]>
Co-authored-by: Lorenz Simon <[email protected]>
# Conflicts:
#	kotlin-asyncapi-context/src/main/kotlin/com/asyncapi/kotlinasyncapi/context/annotation/AnnotationProvider.kt
#	kotlin-asyncapi-ktor/src/main/kotlin/com/asyncapi/kotlinasyncapi/ktor/AsyncApiModule.kt
#	kotlin-asyncapi-spring-web/src/main/kotlin/com/asyncapi/kotlinasyncapi/springweb/AsyncApiAutoConfiguration.kt
@lorenzsimon lorenzsimon changed the title pre-release: 3.0.4 feat: Introduce AsyncApiComponent annotation Jan 6, 2025
@lorenzsimon lorenzsimon changed the title feat: Introduce AsyncApiComponent annotation feat: introduce AsyncApiComponent annotation Jan 6, 2025
@lorenzsimon lorenzsimon merged commit baecdbe into master Jan 6, 2025
26 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants