diff --git a/pom.xml b/pom.xml
index d39059522..15bd9dbca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -166,7 +166,6 @@
spring-cloud-function-deployer
spring-cloud-function-adapters
spring-cloud-function-rsocket
- spring-cloud-function-grpc
spring-cloud-function-kotlin
docs
diff --git a/spring-cloud-function-adapters/pom.xml b/spring-cloud-function-adapters/pom.xml
index 295139750..aad724969 100644
--- a/spring-cloud-function-adapters/pom.xml
+++ b/spring-cloud-function-adapters/pom.xml
@@ -19,6 +19,7 @@
spring-cloud-function-adapter-aws
spring-cloud-function-adapter-azure
spring-cloud-function-adapter-gcp
+ spring-cloud-function-grpc
spring-cloud-function-grpc-cloudevent-ext
diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml
index 0c817b7ee..20fe0204d 100644
--- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml
@@ -3,16 +3,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.springframework.boot
- spring-boot-starter-parent
- 2.6.0-SNAPSHOT
-
+ org.springframework.cloud
+ spring-cloud-function-adapter-parent
+ 3.2.0-SNAPSHOT
- org.springframework.cloud
spring-cloud-function-grpc-cloudevent-ext
- 3.2.0-SNAPSHOT
-
- CloudEvent extansion for spring-cloud-function-grpc
+ spring-cloud-function-grpc-cloudevent-ext
+ CloudEvent extension for spring-cloud-function-grpc
1.8
diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventGrpcAutoConfiguration.java b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventGrpcAutoConfiguration.java
index 3ecd2735f..65c381fc6 100644
--- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventGrpcAutoConfiguration.java
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventGrpcAutoConfiguration.java
@@ -16,15 +16,14 @@
package org.springframework.cloud.function.grpc.ce;
+import io.grpc.BindableService;
+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.function.grpc.MessageHandlingHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import io.grpc.BindableService;
-
-
/**
*
* @author Oleg Zhurakousky
@@ -34,6 +33,7 @@ import io.grpc.BindableService;
@ConditionalOnProperty(name = "spring.cloud.function.grpc.server", havingValue = "true", matchIfMissing = true)
public class CloudEventGrpcAutoConfiguration {
+ @SuppressWarnings("rawtypes")
@Bean
public BindableService cloudEventMessageHandler(MessageHandlingHelper helper) {
return new CloudEventHandler(helper);
diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventHandler.java b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventHandler.java
index 2382dca61..90be0bda1 100644
--- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventHandler.java
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventHandler.java
@@ -14,47 +14,15 @@
* limitations under the License.
*/
-/*
- * Copyright 2021-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * Copyright 2021-2021 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
package org.springframework.cloud.function.grpc.ce;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.cloud.function.grpc.MessageHandlingHelper;
-
import io.cloudevents.v1.CloudEventServiceGrpc.CloudEventServiceImplBase;
import io.cloudevents.v1.proto.CloudEvent;
import io.grpc.stub.StreamObserver;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.springframework.cloud.function.grpc.MessageHandlingHelper;
/**
*
@@ -67,13 +35,11 @@ class CloudEventHandler extends CloudEventServiceImplBase {
private Log logger = LogFactory.getLog(CloudEventHandler.class);
-
-
private final MessageHandlingHelper helper;
- public CloudEventHandler(MessageHandlingHelper helper) {
+ CloudEventHandler(MessageHandlingHelper helper) {
this.helper = helper;
}
diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventMessageConverter.java b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventMessageConverter.java
index e0b29d9af..b8bc95a72 100644
--- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventMessageConverter.java
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/main/java/org/springframework/cloud/function/grpc/ce/CloudEventMessageConverter.java
@@ -18,19 +18,18 @@ package org.springframework.cloud.function.grpc.ce;
import java.util.Map.Entry;
-import org.springframework.cloud.function.cloudevent.CloudEventMessageUtils;
-import org.springframework.cloud.function.grpc.AbstractGrpcMessageConverter;
-import org.springframework.messaging.Message;
-import org.springframework.messaging.support.MessageBuilder;
-
import com.google.protobuf.ByteString;
import com.google.protobuf.GeneratedMessageV3;
-
import io.cloudevents.v1.proto.CloudEvent;
import io.cloudevents.v1.proto.CloudEvent.Builder;
import io.cloudevents.v1.proto.CloudEvent.CloudEventAttributeValue;
import io.cloudevents.v1.proto.CloudEvent.CloudEventAttributeValue.AttrCase;
+import org.springframework.cloud.function.cloudevent.CloudEventMessageUtils;
+import org.springframework.cloud.function.grpc.AbstractGrpcMessageConverter;
+import org.springframework.messaging.Message;
+import org.springframework.messaging.support.MessageBuilder;
+
/**
*
* @author Oleg Zhurakousky
diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/test/java/org/springframework/cloud/grpc/ce/SpringCloudFunctionGrpcCloudeventApplicationTests.java b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/test/java/org/springframework/cloud/grpc/ce/SpringCloudFunctionGrpcCloudeventApplicationTests.java
index 4861552ae..8ab26e6bd 100644
--- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/test/java/org/springframework/cloud/grpc/ce/SpringCloudFunctionGrpcCloudeventApplicationTests.java
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/src/test/java/org/springframework/cloud/grpc/ce/SpringCloudFunctionGrpcCloudeventApplicationTests.java
@@ -1,6 +1,21 @@
+/*
+ * Copyright 2021-2021 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.springframework.cloud.grpc.ce;
-import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
diff --git a/spring-cloud-function-grpc/.jdk8 b/spring-cloud-function-adapters/spring-cloud-function-grpc/.jdk8
similarity index 100%
rename from spring-cloud-function-grpc/.jdk8
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/.jdk8
diff --git a/spring-cloud-function-grpc/README.md b/spring-cloud-function-adapters/spring-cloud-function-grpc/README.md
similarity index 100%
rename from spring-cloud-function-grpc/README.md
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/README.md
diff --git a/spring-cloud-function-grpc/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml
similarity index 90%
rename from spring-cloud-function-grpc/pom.xml
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml
index 5a5fde478..df7476029 100644
--- a/spring-cloud-function-grpc/pom.xml
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml
@@ -6,18 +6,18 @@
spring-cloud-function-grpc
jar
- Spring Cloud Function gRPC Support
+ spring-cloud-function-grpc
Spring Cloud Function gRPC Support
org.springframework.cloud
- spring-cloud-function-parent
+ spring-cloud-function-adapter-parent
3.2.0-SNAPSHOT
1.16.1
- true
+ true
@@ -93,10 +93,6 @@
-
-
-
-
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/AbstractGrpcMessageConverter.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/AbstractGrpcMessageConverter.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/AbstractGrpcMessageConverter.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/AbstractGrpcMessageConverter.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/FunctionGrpcProperties.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/FunctionGrpcProperties.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/FunctionGrpcProperties.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/FunctionGrpcProperties.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java
similarity index 98%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java
index bf5ebcf30..ba49a9191 100644
--- a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java
+++ b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcAutoConfiguration.java
@@ -18,6 +18,8 @@ package org.springframework.cloud.function.grpc;
import java.util.List;
+import io.grpc.BindableService;
+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.function.context.FunctionCatalog;
@@ -27,10 +29,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
-import com.google.protobuf.GeneratedMessageV3;
-
-import io.grpc.BindableService;
-
/**
*
* @author Oleg Zhurakousky
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcMessageConverter.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcMessageConverter.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcMessageConverter.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcMessageConverter.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServer.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServerMessageHandler.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServerMessageHandler.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServerMessageHandler.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcServerMessageHandler.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcSpringMessageConverter.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcSpringMessageConverter.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcSpringMessageConverter.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcSpringMessageConverter.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcUtils.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcUtils.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcUtils.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcUtils.java
diff --git a/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/MessageHandlingHelper.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/MessageHandlingHelper.java
similarity index 100%
rename from spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/MessageHandlingHelper.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/MessageHandlingHelper.java
diff --git a/spring-cloud-function-grpc/src/main/proto/MessageService.proto b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/proto/MessageService.proto
similarity index 100%
rename from spring-cloud-function-grpc/src/main/proto/MessageService.proto
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/proto/MessageService.proto
diff --git a/spring-cloud-function-grpc/src/main/resources/META-INF/spring.factories b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from spring-cloud-function-grpc/src/main/resources/META-INF/spring.factories
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/resources/META-INF/spring.factories
diff --git a/spring-cloud-function-grpc/src/test/java/org/springframework/cloud/function/grpc/GrpcInteractionTests.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/test/java/org/springframework/cloud/function/grpc/GrpcInteractionTests.java
similarity index 100%
rename from spring-cloud-function-grpc/src/test/java/org/springframework/cloud/function/grpc/GrpcInteractionTests.java
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/test/java/org/springframework/cloud/function/grpc/GrpcInteractionTests.java
diff --git a/spring-cloud-function-grpc/src/test/resources/application.properties b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/test/resources/application.properties
similarity index 100%
rename from spring-cloud-function-grpc/src/test/resources/application.properties
rename to spring-cloud-function-adapters/spring-cloud-function-grpc/src/test/resources/application.properties
diff --git a/spring-cloud-function-dependencies/pom.xml b/spring-cloud-function-dependencies/pom.xml
index 1d4681965..ea2cc3035 100644
--- a/spring-cloud-function-dependencies/pom.xml
+++ b/spring-cloud-function-dependencies/pom.xml
@@ -76,6 +76,16 @@
spring-cloud-function-rsocket
${project.version}
+
+ org.springframework.cloud
+ spring-cloud-function-grpc
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-function-grpc-cloudevent-ext
+ ${project.version}
+
diff --git a/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml b/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml
index 5a9170404..a97b19e83 100644
--- a/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml
+++ b/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml
@@ -2,11 +2,13 @@
4.0.0
+
+
org.springframework.boot
spring-boot-starter-parent
2.6.0-SNAPSHOT
-
+
com.example.grpc
function-sample-grpc-cloudevent
@@ -25,10 +27,9 @@
org.springframework.cloud
spring-cloud-function-grpc-cloudevent-ext
- 3.2.0-SNAPSHOT
+
-
io.grpc
grpc-netty
diff --git a/spring-cloud-function-samples/pom.xml b/spring-cloud-function-samples/pom.xml
index a90cdaa2f..3750f7e8e 100644
--- a/spring-cloud-function-samples/pom.xml
+++ b/spring-cloud-function-samples/pom.xml
@@ -31,7 +31,7 @@
function-sample-cloudevent-stream
function-sample-cloudevent-rsocket
function-sample-kotlin-web
-
+ function-sample-grpc-cloudevent