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]