This is an automated email from the ASF dual-hosted git repository.

fjtiradosarti pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new c0b066ab70 [Fix #4081] Modularize gRPC (#4160)
c0b066ab70 is described below

commit c0b066ab709d5dfbb1d382199efe9c4a0909995f
Author: Matheus Cruz <[email protected]>
AuthorDate: Fri Jan 9 14:19:07 2026 -0300

    [Fix #4081] Modularize gRPC (#4160)
    
    * Modularize gRPC
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Add default ctor for WorkflowRPCHandlerGenerator
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Apply impsort plugin
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Remove reference of grpc stuff from ServerlessWorkflowAssetsProcessor
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Move grpc and openapi stuff to the respective modules
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Apply impsort plugin
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    * Remove kogito.rpc configurations from kogito-serverless-workflow-extension
    
    Signed-off-by: Matheus Cruz <[email protected]>
    
    ---------
    
    Signed-off-by: Matheus Cruz <[email protected]>
---
 kogito-bom/pom.xml                                 | 22 ++++++
 .../livereload/LiveReloadableCodeGenProvider.java  |  2 +-
 .../LiveReloadableCodeGenProviderBase.java         |  4 +-
 quarkus/addons/grpc/deployment/pom.xml             | 83 ++++++++++++++++++++++
 .../LiveReloadableWorkflowRPCCodeGenProvider.java  |  5 +-
 .../serverless/workflow/rpc/ProtocUtils.java       |  0
 .../workflow/rpc/WorkflowRPCCodeGenProvider.java   |  0
 .../workflow/rpc/WorkflowRPCHandlerGenerator.java  |  3 -
 .../services/io.quarkus.deployment.CodeGenProvider |  0
 ...s.serverless.workflow.WorkflowHandlerGenerator} |  2 +-
 ...yment.livereload.LiveReloadableCodeGenProvider} |  2 +-
 quarkus/addons/grpc/pom.xml                        | 37 ++++++++++
 quarkus/addons/grpc/runtime/pom.xml                | 74 +++++++++++++++++++
 .../KogitoServerlessRPCWorkflowRuntimeConfig.java} | 15 ++--
 ...iveReloadableOpenApiGeneratorStreamCodeGen.java |  5 +-
 ...tor.deployment.codegen.OpenApiSpecInputProvider |  0
 ...yment.livereload.LiveReloadableCodeGenProvider} |  2 +-
 quarkus/addons/pom.xml                             |  1 +
 .../pom.xml                                        |  8 +--
 .../ServerlessWorkflowAssetsProcessor.java         |  4 +-
 ...oyment.livereload.LiveReloadableCodeGenProvider |  4 +-
 .../kogito-quarkus-serverless-workflow/pom.xml     | 13 ++--
 .../KogitoServerlessWorkflowRuntimeConfig.java     | 36 ----------
 23 files changed, 247 insertions(+), 75 deletions(-)

diff --git a/kogito-bom/pom.xml b/kogito-bom/pom.xml
index 0fba5dc89d..b751e5bff9 100755
--- a/kogito-bom/pom.xml
+++ b/kogito-bom/pom.xml
@@ -2453,6 +2453,28 @@
         <version>${project.version}</version>
         <classifier>sources</classifier>
       </dependency>
+      <dependency>
+        <groupId>org.apache.kie.sonataflow</groupId>
+        <artifactId>sonataflow-addons-quarkus-grpc</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.kie.sonataflow</groupId>
+        <artifactId>sonataflow-addons-quarkus-grpc</artifactId>
+        <version>${project.version}</version>
+        <classifier>sources</classifier>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.kie.sonataflow</groupId>
+        <artifactId>sonataflow-addons-quarkus-grpc-deployment</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.kie.sonataflow</groupId>
+        <artifactId>sonataflow-addons-quarkus-grpc-deployment</artifactId>
+        <version>${project.version}</version>
+        <classifier>sources</classifier>
+      </dependency>
       <dependency>
         <groupId>org.kie.kogito</groupId>
         <artifactId>kogito-serverless-workflow-executor-grpc</artifactId>
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
 
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
similarity index 96%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
rename to 
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
index b5bcec40c2..31c1a9ba28 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
+++ 
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProvider.java
@@ -28,7 +28,7 @@ import io.quarkus.deployment.CodeGenContext;
 /**
  * Service Provider Interface for {@link 
io.quarkus.deployment.CodeGenProvider} objects that need to be invoked on live 
reloads.
  */
-interface LiveReloadableCodeGenProvider {
+public interface LiveReloadableCodeGenProvider {
 
     boolean trigger(CodeGenContext context) throws CodeGenException;
 
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
 
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
similarity index 89%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
rename to 
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
index b09e3b287a..809136fc2d 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
+++ 
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableCodeGenProviderBase.java
@@ -26,11 +26,11 @@ import io.quarkus.bootstrap.prebuild.CodeGenException;
 import io.quarkus.deployment.CodeGenContext;
 import io.quarkus.deployment.CodeGenProvider;
 
-abstract class LiveReloadableCodeGenProviderBase<T extends CodeGenProvider> 
implements LiveReloadableCodeGenProvider {
+public abstract class LiveReloadableCodeGenProviderBase<T extends 
CodeGenProvider> implements LiveReloadableCodeGenProvider {
 
     private final T delegate;
 
-    LiveReloadableCodeGenProviderBase(T delegate) {
+    public LiveReloadableCodeGenProviderBase(T delegate) {
         this.delegate = delegate;
     }
 
diff --git a/quarkus/addons/grpc/deployment/pom.xml 
b/quarkus/addons/grpc/deployment/pom.xml
new file mode 100644
index 0000000000..159e4a7233
--- /dev/null
+++ b/quarkus/addons/grpc/deployment/pom.xml
@@ -0,0 +1,83 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you 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
+
+      http://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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.kie.sonataflow</groupId>
+        <artifactId>sonataflow-addons-quarkus-grpc-parent</artifactId>
+        <version>999-SNAPSHOT</version>
+    </parent>
+    <artifactId>sonataflow-addons-quarkus-grpc-deployment</artifactId>
+    <name>SonataFlow:: Addons :: Quarkus:: Serverless Workflow :: gRPC :: 
Deployment</name>
+    <description>gRPC support for serverless workflow</description>
+
+    <properties>
+        
<java.module.name>org.kie.kogito.quarkus.serverless.workflow.grpc.deployment</java.module.name>
+    </properties>
+
+    <dependencies>
+        <!--       runtime -->
+        <dependency>
+            <groupId>org.apache.kie.sonataflow</groupId>
+            <artifactId>sonataflow-addons-quarkus-grpc</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.kie.sonataflow</groupId>
+            
<artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-arc-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-grpc-deployment</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.kie.kogito</groupId>
+            <artifactId>kogito-serverless-workflow-grpc-parser</artifactId>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            
<artifactId>quarkus-extension-processor</artifactId>
+                            <version>${version.io.quarkus}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableWorkflowRPCCodeGenProvider.java
 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/LiveReloadableWorkflowRPCCodeGenProvider.java
similarity index 81%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableWorkflowRPCCodeGenProvider.java
rename to 
quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/LiveReloadableWorkflowRPCCodeGenProvider.java
index c158afa679..fb88e0941c 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableWorkflowRPCCodeGenProvider.java
+++ 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/LiveReloadableWorkflowRPCCodeGenProvider.java
@@ -16,9 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.kie.kogito.quarkus.serverless.workflow.deployment.livereload;
+package org.kie.kogito.quarkus.serverless.workflow.rpc;
 
-import 
org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCCodeGenProvider;
+import 
org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider;
+import 
org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProviderBase;
 
 /**
  * Wrapper for {@link WorkflowRPCCodeGenProvider} that implements the {@link 
LiveReloadableCodeGenProvider} Service Provider Interface.
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/ProtocUtils.java
 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/ProtocUtils.java
similarity index 100%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/ProtocUtils.java
rename to 
quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/ProtocUtils.java
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java
 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java
similarity index 100%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java
rename to 
quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCCodeGenProvider.java
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
similarity index 99%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
rename to 
quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
index cad673ba39..4db20910a5 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
+++ 
b/quarkus/addons/grpc/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/rpc/WorkflowRPCHandlerGenerator.java
@@ -55,9 +55,6 @@ public class WorkflowRPCHandlerGenerator implements 
WorkflowHandlerGenerator {
 
     public static final WorkflowRPCHandlerGenerator instance = new 
WorkflowRPCHandlerGenerator();
 
-    private WorkflowRPCHandlerGenerator() {
-    }
-
     private WorkflowHandlerGeneratedFile generateHandler(KogitoBuildContext 
context, String serviceName) {
         final String packageName = context.getPackageName();
         final String className = RPCWorkflowUtils.getRPCClassName(serviceName);
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
 
b/quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
similarity index 100%
copy from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
copy to 
quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
 
b/quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
similarity index 91%
copy from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
copy to 
quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
index b3548654b6..432d54cfef 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
+++ 
b/quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
@@ -17,4 +17,4 @@
 # under the License.
 #
 
-org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCCodeGenProvider
\ No newline at end of file
+org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCHandlerGenerator
\ No newline at end of file
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
 
b/quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
similarity index 90%
copy from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
copy to 
quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
index b3548654b6..ece37bba22 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
+++ 
b/quarkus/addons/grpc/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
@@ -17,4 +17,4 @@
 # under the License.
 #
 
-org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCCodeGenProvider
\ No newline at end of file
+org.kie.kogito.quarkus.serverless.workflow.rpc.LiveReloadableWorkflowRPCCodeGenProvider
\ No newline at end of file
diff --git a/quarkus/addons/grpc/pom.xml b/quarkus/addons/grpc/pom.xml
new file mode 100644
index 0000000000..d07f4d54dc
--- /dev/null
+++ b/quarkus/addons/grpc/pom.xml
@@ -0,0 +1,37 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you 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
+
+      http://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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.kie</groupId>
+    <artifactId>kogito-addons-quarkus-parent</artifactId>
+    <version>999-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.kie.sonataflow</groupId>
+  <artifactId>sonataflow-addons-quarkus-grpc-parent</artifactId>
+  <name>SonataFlow:: Addons :: Quarkus :: Serverless Workflow :: gRPC :: 
Parent</name>
+  <description>Serverless Workflow gRPC Quarkus Addons</description>
+  <packaging>pom</packaging>
+  <modules>
+    <module>deployment</module>
+    <module>runtime</module>
+  </modules>
+</project>
\ No newline at end of file
diff --git a/quarkus/addons/grpc/runtime/pom.xml 
b/quarkus/addons/grpc/runtime/pom.xml
new file mode 100644
index 0000000000..e092c7844a
--- /dev/null
+++ b/quarkus/addons/grpc/runtime/pom.xml
@@ -0,0 +1,74 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you 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
+
+      http://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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.kie.sonataflow</groupId>
+    <artifactId>sonataflow-addons-quarkus-grpc-parent</artifactId>
+    <version>999-SNAPSHOT</version>
+  </parent>
+  <name>SonataFlow:: Addons :: Quarkus :: Serverless Workflow:: gRPC :: 
Runtime</name>
+  <description>gRPC support for serverless workflow</description>
+  <artifactId>sonataflow-addons-quarkus-grpc</artifactId>
+  
+    <properties>
+       
<java.module.name>org.kie.kogito.quarkus.serverless.workflow.grpc</java.module.name>
+    </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-arc</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.quarkus</groupId>
+      <artifactId>quarkus-grpc</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.kie.kogito</groupId>
+      <artifactId>kogito-serverless-workflow-grpc-runtime</artifactId>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>io.quarkus</groupId>
+        <artifactId>quarkus-extension-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>compile</phase>
+            <goals>
+              <goal>extension-descriptor</goal>
+            </goals>
+            <configuration>
+              
<deployment>${project.groupId}:${project.artifactId}-deployment:${project.version}</deployment>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
 
b/quarkus/addons/grpc/runtime/src/main/java/org/kie/kogito/serverless/workflow/config/KogitoServerlessRPCWorkflowRuntimeConfig.java
similarity index 78%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
rename to 
quarkus/addons/grpc/runtime/src/main/java/org/kie/kogito/serverless/workflow/config/KogitoServerlessRPCWorkflowRuntimeConfig.java
index 6dad23046b..ddbc16f9fc 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoRPCRuntimeConfig.java
+++ 
b/quarkus/addons/grpc/runtime/src/main/java/org/kie/kogito/serverless/workflow/config/KogitoServerlessRPCWorkflowRuntimeConfig.java
@@ -16,18 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.kie.kogito.quarkus.serverless.workflow.config;
+package org.kie.kogito.serverless.workflow.config;
 
-import io.quarkus.runtime.annotations.ConfigGroup;
+import io.quarkus.runtime.annotations.ConfigPhase;
+import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
 import io.smallrye.config.WithDefault;
 import io.smallrye.config.WithName;
 
-@ConfigGroup
-public interface KogitoRPCRuntimeConfig {
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+@ConfigMapping(prefix = "kogito.grpc")
+public interface KogitoServerlessRPCWorkflowRuntimeConfig {
 
     /**
      * Indicates if default value of enumerations should be included in grpc 
response
-     * 
+     *
      */
     @WithName("enum.includeDefault")
     @WithDefault("false")
@@ -35,7 +38,7 @@ public interface KogitoRPCRuntimeConfig {
 
     /**
      * Time to wait for response from server when using streams
-     * 
+     *
      */
     @WithName("stream.timeout")
     @WithDefault("20")
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableOpenApiGeneratorStreamCodeGen.java
 
b/quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/LiveReloadableOpenApiGeneratorStreamCodeGen.java
similarity index 82%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableOpenApiGeneratorStreamCodeGen.java
rename to 
quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/LiveReloadableOpenApiGeneratorStreamCodeGen.java
index 00fdd4c615..9e211a831f 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/livereload/LiveReloadableOpenApiGeneratorStreamCodeGen.java
+++ 
b/quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/LiveReloadableOpenApiGeneratorStreamCodeGen.java
@@ -16,7 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.kie.kogito.quarkus.serverless.workflow.deployment.livereload;
+package org.kie.kogito.quarkus.serverless.workflow.openapi;
+
+import 
org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider;
+import 
org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProviderBase;
 
 import 
io.quarkiverse.openapi.generator.deployment.codegen.OpenApiGeneratorStreamCodeGen;
 
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.openapi.generator.deployment.codegen.OpenApiSpecInputProvider
 
b/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/io.quarkiverse.openapi.generator.deployment.codegen.OpenApiSpecInputProvider
similarity index 100%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkiverse.openapi.generator.deployment.codegen.OpenApiSpecInputProvider
rename to 
quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/io.quarkiverse.openapi.generator.deployment.codegen.OpenApiSpecInputProvider
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
 
b/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
similarity index 89%
rename from 
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
rename to 
quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
index b3548654b6..eaa503e1ba 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/io.quarkus.deployment.CodeGenProvider
+++ 
b/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
@@ -17,4 +17,4 @@
 # under the License.
 #
 
-org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCCodeGenProvider
\ No newline at end of file
+org.kie.kogito.quarkus.serverless.workflow.openapi.LiveReloadableOpenApiGeneratorStreamCodeGen
\ No newline at end of file
diff --git a/quarkus/addons/pom.xml b/quarkus/addons/pom.xml
index c53fcc1e55..fa269717eb 100644
--- a/quarkus/addons/pom.xml
+++ b/quarkus/addons/pom.xml
@@ -65,6 +65,7 @@
     <module>token-exchange</module>
     <module>process-instance-migration</module>
     <module>openapi</module>
+    <module>grpc</module>
   </modules>
 
   <profiles>
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
index 5e08af4189..c4f4156ca3 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/pom.xml
@@ -51,8 +51,8 @@
       <artifactId>sonataflow-addons-quarkus-openapi-deployment</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.kie.kogito</groupId>
-      <artifactId>kogito-serverless-workflow-grpc-parser</artifactId>
+      <groupId>org.apache.kie.sonataflow</groupId>
+      <artifactId>sonataflow-addons-quarkus-grpc-deployment</artifactId>
     </dependency>
     <dependency>
       <groupId>org.kie.kogito</groupId>
@@ -105,10 +105,6 @@
       <groupId>io.quarkiverse.asyncapi</groupId>
       <artifactId>quarkus-asyncapi-deployment</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-grpc-deployment</artifactId>
-    </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-oidc-common-deployment</artifactId>
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
index c95e39d0e3..3defff2e3e 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/deployment/ServerlessWorkflowAssetsProcessor.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.ServiceLoader;
 import java.util.ServiceLoader.Provider;
-import java.util.stream.Stream;
 
 import org.drools.codegen.common.GeneratedFile;
 import org.eclipse.microprofile.openapi.models.media.Schema;
@@ -51,7 +50,6 @@ import 
org.kie.kogito.quarkus.common.deployment.LiveReloadExecutionBuildItem;
 import 
org.kie.kogito.quarkus.extensions.spi.deployment.KogitoProcessContainerGeneratorBuildItem;
 import org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGeneratedFile;
 import org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator;
-import 
org.kie.kogito.quarkus.serverless.workflow.rpc.WorkflowRPCHandlerGenerator;
 import org.kie.kogito.quarkus.workflow.deployment.WorkflowProcessor;
 import 
org.kie.kogito.serverless.workflow.operationid.WorkflowOperationIdFactory;
 import org.kie.kogito.serverless.workflow.parser.FunctionNamespace;
@@ -79,7 +77,7 @@ public class ServerlessWorkflowAssetsProcessor extends 
WorkflowProcessor {
     // Injecting Instance<WorkflowOpenApiHandlerGenerator> does not work here
 
     private static Collection<WorkflowHandlerGenerator> generators =
-            Stream.concat(Stream.of(WorkflowRPCHandlerGenerator.instance), 
ServiceLoader.load(WorkflowHandlerGenerator.class).stream().map(Provider::get)).toList();
+            
ServiceLoader.load(WorkflowHandlerGenerator.class).stream().map(Provider::get).toList();
 
     @BuildStep
     @Override
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
index 8e5557ace6..a89f47c062 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableCodeGenProvider
@@ -17,6 +17,4 @@
 # under the License.
 #
 
-org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableAsyncApiGeneratorStreamCodeGen
-org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableOpenApiGeneratorStreamCodeGen
-org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableWorkflowRPCCodeGenProvider
\ No newline at end of file
+org.kie.kogito.quarkus.serverless.workflow.deployment.livereload.LiveReloadableAsyncApiGeneratorStreamCodeGen
\ No newline at end of file
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
index 73d8daa5c0..914b03dab8 100644
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
+++ 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/pom.xml
@@ -63,10 +63,6 @@
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-smallrye-openapi</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-grpc</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.jboss.resteasy</groupId>
       <artifactId>resteasy-multipart-provider</artifactId>
@@ -88,10 +84,6 @@
       <groupId>org.kie.kogito</groupId>
       <artifactId>kogito-serverless-workflow-runtime</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.kie.kogito</groupId>
-      <artifactId>kogito-serverless-workflow-grpc-runtime</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.kie.kogito</groupId>
       <artifactId>kogito-serverless-workflow-rest-runtime</artifactId>
@@ -112,11 +104,14 @@
       <groupId>org.apache.kie.sonataflow</groupId>
       <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.kie.sonataflow</groupId>
+      <artifactId>sonataflow-addons-quarkus-grpc</artifactId>
+    </dependency>
     <dependency>
       <groupId>io.quarkiverse.asyncapi</groupId>
       <artifactId>quarkus-asyncapi</artifactId>
     </dependency>
-
   </dependencies>
 
   <build>
diff --git 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
 
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
deleted file mode 100644
index 64f6ba0379..0000000000
--- 
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/quarkus/serverless/workflow/config/KogitoServerlessWorkflowRuntimeConfig.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you 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
- *
- *   http://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.kie.kogito.quarkus.serverless.workflow.config;
-
-import io.quarkus.runtime.annotations.ConfigPhase;
-import io.quarkus.runtime.annotations.ConfigRoot;
-import io.smallrye.config.ConfigMapping;
-import io.smallrye.config.WithName;
-
-@ConfigRoot(phase = ConfigPhase.RUN_TIME)
-@ConfigMapping(prefix = "kogito")
-public interface KogitoServerlessWorkflowRuntimeConfig {
-
-    /**
-     * grpc runtime configuration
-     */
-    @WithName("grpc")
-    KogitoRPCRuntimeConfig grpcConfig();
-
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to