Skip to content

Commit

Permalink
Feat/replace plugin bindings with artifact bindings (#728)
Browse files Browse the repository at this point in the history
* feat: add jms bindings artifact

* feat: add amqp bindings artifact

* feat: add kafka bindings artifact

* chore: update bindings dependencies

* chore!: replace bindings in plugins

Instead use the new bindings artifacts

This requires users to update the imports of the annotations

* chore: update dependency configuration

* chore: detekt after rebase
  • Loading branch information
timonback authored Jun 7, 2024
1 parent 47280fc commit dc6e019
Show file tree
Hide file tree
Showing 54 changed files with 35 additions and 1,096 deletions.
2 changes: 2 additions & 0 deletions springwolf-examples/springwolf-amqp-example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ plugins {
dependencies {
implementation project(":springwolf-core")
implementation project(":springwolf-plugins:springwolf-amqp")
permitUnusedDeclared project(":springwolf-plugins:springwolf-amqp")
permitUsedUndeclared project(":springwolf-bindings:springwolf-amqp-binding")

annotationProcessor project(":springwolf-plugins:springwolf-amqp")
runtimeOnly project(":springwolf-ui")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.amqp.producers;

import io.github.springwolf.bindings.amqp.annotations.AmqpAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.core.asyncapi.annotations.AsyncPublisher;
import io.github.springwolf.examples.amqp.dtos.AnotherPayloadDto;
import io.github.springwolf.plugins.amqp.asyncapi.annotations.AmqpAsyncOperationBinding;
import lombok.RequiredArgsConstructor;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;
Expand Down
2 changes: 2 additions & 0 deletions springwolf-examples/springwolf-jms-example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ dependencies {
implementation project(":springwolf-core")
implementation project(":springwolf-add-ons:springwolf-generic-binding")
implementation project(":springwolf-plugins:springwolf-jms")
permitUnusedDeclared project(":springwolf-plugins:springwolf-jms")
permitUsedUndeclared project(":springwolf-bindings:springwolf-jms-binding")

annotationProcessor project(":springwolf-plugins:springwolf-jms")
runtimeOnly project(":springwolf-ui")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
package io.github.springwolf.examples.jms.producers;

import io.github.springwolf.addons.generic_binding.annotation.AsyncGenericOperationBinding;
import io.github.springwolf.bindings.jms.annotations.JmsAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.core.asyncapi.annotations.AsyncPublisher;
import io.github.springwolf.examples.jms.dtos.AnotherPayloadDto;
import io.github.springwolf.plugins.jms.asyncapi.annotations.JmsAsyncOperationBinding;
import lombok.RequiredArgsConstructor;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
Expand Down
2 changes: 2 additions & 0 deletions springwolf-examples/springwolf-kafka-example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ plugins {
dependencies {
implementation project(":springwolf-core")
implementation project(":springwolf-plugins:springwolf-kafka")
permitUnusedDeclared project(":springwolf-plugins:springwolf-kafka")
permitUsedUndeclared project(":springwolf-bindings:springwolf-kafka-binding")

runtimeOnly project(":springwolf-add-ons:springwolf-common-model-converters")
runtimeOnly project(":springwolf-add-ons:springwolf-json-schema")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.consumers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.examples.kafka.dto.avro.AnotherPayloadAvroDto;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.annotation.KafkaListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.consumers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.examples.kafka.dtos.AnotherPayloadDto;
import io.github.springwolf.examples.kafka.dtos.ExamplePayloadDto;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.annotation.KafkaHandler;
import org.springframework.kafka.annotation.KafkaListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.consumers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncApiPayload;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncMessage;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.consumers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncMessage;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.examples.kafka.dtos.XmlPayloadDto;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.annotation.KafkaListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.consumers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncMessage;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.examples.kafka.dtos.YamlPayloadDto;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.kafka.annotation.KafkaListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.kafka.producers;

import io.github.springwolf.bindings.kafka.annotations.KafkaAsyncOperationBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.core.asyncapi.annotations.AsyncPublisher;
import io.github.springwolf.core.asyncapi.scanners.common.headers.AsyncHeadersCloudEventConstants;
import io.github.springwolf.examples.kafka.configuration.KafkaConfiguration;
import io.github.springwolf.examples.kafka.dtos.NestedPayloadDto;
import io.github.springwolf.plugins.kafka.asyncapi.annotations.KafkaAsyncOperationBinding;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.kafka.core.KafkaTemplate;
Expand Down
2 changes: 2 additions & 0 deletions springwolf-examples/springwolf-sns-example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ dependencyManagement {
dependencies {
implementation project(":springwolf-core")
implementation project(":springwolf-plugins:springwolf-sns")
permitUnusedDeclared project(":springwolf-plugins:springwolf-sns")
permitUsedUndeclared project(":springwolf-bindings:springwolf-sns-binding")

annotationProcessor project(":springwolf-plugins:springwolf-sns")
runtimeOnly project(":springwolf-add-ons:springwolf-json-schema")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.examples.sns.consumers;

import io.github.springwolf.bindings.sns.annotations.SnsAsyncOperationBinding;
import io.github.springwolf.bindings.sns.annotations.SnsAsyncOperationBindingIdentifier;
import io.github.springwolf.core.asyncapi.annotations.AsyncListener;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.examples.sns.dtos.AnotherPayloadDto;
import io.github.springwolf.examples.sns.dtos.ExamplePayloadDto;
import io.github.springwolf.examples.sns.producers.AnotherProducer;
import io.github.springwolf.plugins.sns.annotations.SnsAsyncOperationBinding;
import io.github.springwolf.plugins.sns.annotations.SnsAsyncOperationBindingIdentifier;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
package io.github.springwolf.examples.sns.producers;

import io.awspring.cloud.sns.core.SnsTemplate;
import io.github.springwolf.bindings.sns.annotations.SnsAsyncOperationBinding;
import io.github.springwolf.bindings.sns.annotations.SnsAsyncOperationBindingIdentifier;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.core.asyncapi.annotations.AsyncPublisher;
import io.github.springwolf.examples.sns.dtos.AnotherPayloadDto;
import io.github.springwolf.plugins.sns.annotations.SnsAsyncOperationBinding;
import io.github.springwolf.plugins.sns.annotations.SnsAsyncOperationBindingIdentifier;
import lombok.RequiredArgsConstructor;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;
Expand Down
2 changes: 2 additions & 0 deletions springwolf-examples/springwolf-sqs-example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ dependencyManagement {
dependencies {
implementation project(":springwolf-core")
implementation project(":springwolf-plugins:springwolf-sqs")
permitUnusedDeclared project(":springwolf-plugins:springwolf-sqs")
permitUsedUndeclared project(":springwolf-bindings:springwolf-sqs-binding")

annotationProcessor project(":springwolf-plugins:springwolf-sqs")
runtimeOnly project(":springwolf-ui")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
package io.github.springwolf.examples.sqs.producers;

import io.awspring.cloud.sqs.operations.SqsTemplate;
import io.github.springwolf.bindings.sqs.annotations.SqsAsyncOperationBinding;
import io.github.springwolf.bindings.sqs.annotations.SqsAsyncQueueBinding;
import io.github.springwolf.core.asyncapi.annotations.AsyncOperation;
import io.github.springwolf.core.asyncapi.annotations.AsyncPublisher;
import io.github.springwolf.examples.sqs.dtos.AnotherPayloadDto;
import io.github.springwolf.plugins.sqs.annotations.SqsAsyncOperationBinding;
import io.github.springwolf.plugins.sqs.annotations.SqsAsyncQueueBinding;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

Expand Down
2 changes: 2 additions & 0 deletions springwolf-plugins/springwolf-amqp-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ plugins {
dependencies {
api project(":springwolf-core")
api project(":springwolf-asyncapi")
api project(":springwolf-bindings:springwolf-amqp-binding")
permitUnusedDeclared project(":springwolf-bindings:springwolf-amqp-binding")

implementation "org.slf4j:slf4j-api:${slf4jApiVersion}"

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
package io.github.springwolf.plugins.amqp.configuration;

import io.github.springwolf.core.asyncapi.components.ComponentsService;
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingProcessorPriority;
import io.github.springwolf.core.asyncapi.scanners.channels.ChannelPriority;
import io.github.springwolf.core.asyncapi.scanners.channels.SpringAnnotationChannelsScanner;
import io.github.springwolf.core.asyncapi.scanners.channels.annotations.SpringAnnotationClassLevelChannelsScanner;
Expand All @@ -13,15 +12,12 @@
import io.github.springwolf.core.asyncapi.scanners.operations.annotations.SpringAnnotationClassLevelOperationsScanner;
import io.github.springwolf.core.asyncapi.scanners.operations.annotations.SpringAnnotationMethodLevelOperationsScanner;
import io.github.springwolf.plugins.amqp.asyncapi.scanners.bindings.AmqpBindingFactory;
import io.github.springwolf.plugins.amqp.asyncapi.scanners.bindings.messages.AmqpMessageBindingProcessor;
import io.github.springwolf.plugins.amqp.asyncapi.scanners.bindings.operations.AmqpOperationBindingProcessor;
import io.github.springwolf.plugins.amqp.asyncapi.scanners.common.headers.AsyncHeadersForAmqpBuilder;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.Exchange;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
Expand Down Expand Up @@ -148,18 +144,4 @@ public SpringAnnotationOperationsScanner simpleRabbitMethodLevelListenerAnnotati

return new SpringAnnotationOperationsScanner(classScanner, strategy);
}

@Bean
@Order(value = BindingProcessorPriority.PROTOCOL_BINDING)
@ConditionalOnMissingBean
public AmqpMessageBindingProcessor amqpMessageBindingProcessor() {
return new AmqpMessageBindingProcessor();
}

@Bean
@Order(value = BindingProcessorPriority.PROTOCOL_BINDING)
@ConditionalOnMissingBean
public AmqpOperationBindingProcessor amqpOperationBindingProcessor() {
return new AmqpOperationBindingProcessor();
}
}

This file was deleted.

Loading

0 comments on commit dc6e019

Please sign in to comment.