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 14c54d5d58 [Fix #4080] Modularizing open api (#4083)
14c54d5d58 is described below
commit 14c54d5d58166b4e230fb0c0a7bee3b7cd1a9e43
Author: Francisco Javier Tirado Sarti
<[email protected]>
AuthorDate: Thu Oct 9 12:01:15 2025 +0200
[Fix #4080] Modularizing open api (#4083)
* [Fix #4080] Modularizing open api
Signed-off-by: fjtirado <[email protected]>
* [Fix #4080] Refining dependencies of token-exhange module
---------
Signed-off-by: fjtirado <[email protected]>
---
kogito-bom/pom.xml | 34 +++++++++
quarkus/addons/common/pom.xml | 1 +
.../addons/common/sonataflow-deployment/pom.xml | 77 ++++++++++++++++++++
.../ClassAnnotatedWorkflowHandlerGenerator.java | 0
.../serverless/workflow/WorkflowCodeGenUtils.java | 0
.../workflow/WorkflowHandlerGeneratedFile.java | 0
.../workflow/WorkflowHandlerGenerator.java | 0
.../workflow/WorkflowOperationResource.java | 0
quarkus/addons/openapi/deployment/pom.xml | 82 ++++++++++++++++++++++
.../openapi/WorkflowOpenApiHandlerGenerator.java | 3 -
.../openapi/WorkflowOpenApiSpecInputProvider.java | 0
...us.serverless.workflow.WorkflowHandlerGenerator | 20 ++++++
quarkus/addons/{common => openapi}/pom.xml | 26 +++----
quarkus/addons/openapi/runtime/pom.xml | 82 ++++++++++++++++++++++
.../runtime/RestClientBuilderFactory.java | 0
.../workflow/openapi/OpenApiWorkItemHandler.java | 0
.../openapi/RuntimeConfigCredentialsProvider.java | 0
quarkus/addons/pom.xml | 1 +
quarkus/addons/token-exchange/deployment/pom.xml | 13 +---
quarkus/addons/token-exchange/runtime/pom.xml | 11 +--
.../pom.xml | 22 ++----
.../ServerlessWorkflowAssetsProcessor.java | 10 ++-
.../schema}/ServerlessWorkflowOASFilter.java | 3 +-
.../kogito-quarkus-serverless-workflow/pom.xml | 18 +----
24 files changed, 326 insertions(+), 77 deletions(-)
diff --git a/kogito-bom/pom.xml b/kogito-bom/pom.xml
index eceb1cb70c..702eec48bb 100755
--- a/kogito-bom/pom.xml
+++ b/kogito-bom/pom.xml
@@ -382,6 +382,18 @@
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+ <version>${project.version}</version>
+ <classifier>sources</classifier>
+ </dependency>
<dependency>
<groupId>org.kie</groupId>
@@ -2382,6 +2394,28 @@
<version>${project.version}</version>
<classifier>sources</classifier>
</dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
+ <version>${project.version}</version>
+ <classifier>sources</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi-deployment</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi-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/addons/common/pom.xml b/quarkus/addons/common/pom.xml
index 39ff6e9bdb..6d65ccb87a 100644
--- a/quarkus/addons/common/pom.xml
+++ b/quarkus/addons/common/pom.xml
@@ -40,6 +40,7 @@
<module>kogito-addons-quarkus-common-health</module>
<module>kogito-addons-quarkus-data-index-health</module>
<module>kogito-addons-quarkus-jobs-service-health</module>
+ <module>sonataflow-deployment</module>
</modules>
</project>
diff --git a/quarkus/addons/common/sonataflow-deployment/pom.xml
b/quarkus/addons/common/sonataflow-deployment/pom.xml
new file mode 100644
index 0000000000..b0a3c419fc
--- /dev/null
+++ b/quarkus/addons/common/sonataflow-deployment/pom.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>kogito-addons-quarkus-common-parent</artifactId>
+ <groupId>org.kie</groupId>
+ <version>999-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+ <description>Common libraries meant to be used with KIE Quarkus Add-Ons
sontaflow deployment modules</description>
+
+ <properties>
+
<java.module.name>org.kie.kogito.quarkus.addons.common.sonataflow.deployment</java.module.name>
+ </properties>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.kie</groupId>
+ <artifactId>kogito-addons-quarkus-common-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.kie.kogito</groupId>
+ <artifactId>kogito-serverless-workflow-builder</artifactId>
+ </dependency>
+ </dependencies>
+ <profiles>
+ <profile>
+ <id>default</id>
+ <activation>
+ <property>
+ <name>!productized</name>
+ </property>
+ </activation>
+ <dependencies>
+ <!-- this is used implicitly by Maven parallel builds so let's make
Maven aware of it -->
+ <dependency>
+ <groupId>org.jbpm</groupId>
+ <artifactId>jbpm-with-drools-quarkus-deployment</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+
+</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/ClassAnnotatedWorkflowHandlerGenerator.java
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/ClassAnnotatedWorkflowHandlerGenerator.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/ClassAnnotatedWorkflowHandlerGenerator.java
rename to
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/ClassAnnotatedWorkflowHandlerGenerator.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/WorkflowCodeGenUtils.java
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.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/WorkflowCodeGenUtils.java
rename to
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowCodeGenUtils.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/WorkflowHandlerGeneratedFile.java
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowHandlerGeneratedFile.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/WorkflowHandlerGeneratedFile.java
rename to
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowHandlerGeneratedFile.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/WorkflowHandlerGenerator.java
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowHandlerGenerator.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/WorkflowHandlerGenerator.java
rename to
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowHandlerGenerator.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/WorkflowOperationResource.java
b/quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowOperationResource.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/WorkflowOperationResource.java
rename to
quarkus/addons/common/sonataflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/WorkflowOperationResource.java
diff --git a/quarkus/addons/openapi/deployment/pom.xml
b/quarkus/addons/openapi/deployment/pom.xml
new file mode 100644
index 0000000000..ee164dfe05
--- /dev/null
+++ b/quarkus/addons/openapi/deployment/pom.xml
@@ -0,0 +1,82 @@
+<!--
+
+ 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-openapi-parent</artifactId>
+ <version>999-SNAPSHOT</version>
+ </parent>
+ <artifactId>sonataflow-addons-quarkus-openapi-deployment</artifactId>
+ <name>SonataFlow:: Addons :: Quarkus:: Serverless Workflow:: OpenAPI::
Deployment</name>
+ <description>OpenAPI support for serverless workflow</description>
+
+ <properties>
+
<java.module.name>org.kie.kogito.quarkus.serverless.workflow.openapi.deployment</java.module.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-arc-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy-client-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.kie.kogito</groupId>
+
<artifactId>kogito-serverless-workflow-openapi-generated-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-oidc-client-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.openapi.generator</groupId>
+ <artifactId>quarkus-openapi-generator-deployment</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/openapi/WorkflowOpenApiHandlerGenerator.java
b/quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiHandlerGenerator.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/openapi/WorkflowOpenApiHandlerGenerator.java
rename to
quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiHandlerGenerator.java
index 73a169478a..d24547e714 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiHandlerGenerator.java
+++
b/quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiHandlerGenerator.java
@@ -70,9 +70,6 @@ public class WorkflowOpenApiHandlerGenerator extends
ClassAnnotatedWorkflowHandl
public static final WorkflowOpenApiHandlerGenerator instance = new
WorkflowOpenApiHandlerGenerator();
- private WorkflowOpenApiHandlerGenerator() {
- }
-
@Override
protected Stream<WorkflowHandlerGeneratedFile>
generateHandler(KogitoBuildContext context, AnnotationInstance a) {
final String fileName = a.value().asString();
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java
b/quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.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/openapi/WorkflowOpenApiSpecInputProvider.java
rename to
quarkus/addons/openapi/deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/WorkflowOpenApiSpecInputProvider.java
diff --git
a/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
b/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
new file mode 100644
index 0000000000..84b5f3b84b
--- /dev/null
+++
b/quarkus/addons/openapi/deployment/src/main/resources/META-INF/services/org.kie.kogito.quarkus.serverless.workflow.WorkflowHandlerGenerator
@@ -0,0 +1,20 @@
+#
+# 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.
+#
+
+org.kie.kogito.quarkus.serverless.workflow.openapi.WorkflowOpenApiHandlerGenerator
\ No newline at end of file
diff --git a/quarkus/addons/common/pom.xml b/quarkus/addons/openapi/pom.xml
similarity index 60%
copy from quarkus/addons/common/pom.xml
copy to quarkus/addons/openapi/pom.xml
index 39ff6e9bdb..2fffcb4496 100644
--- a/quarkus/addons/common/pom.xml
+++ b/quarkus/addons/openapi/pom.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
@@ -19,27 +18,20 @@
under the License.
-->
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://maven.apache.org/POM/4.0.0"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<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>
- <artifactId>kogito-addons-quarkus-parent</artifactId>
<groupId>org.kie</groupId>
+ <artifactId>kogito-addons-quarkus-parent</artifactId>
<version>999-SNAPSHOT</version>
</parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>kogito-addons-quarkus-common-parent</artifactId>
- <name>Kogito Add-On Quarkus Common - Parent</name>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi-parent</artifactId>
+ <name>SonataFlow:: Addons :: Quarkus:: Serverless Workflow:: OpenAPI::
Parent</name>
+ <description>Serverless Workflow OpenAPI Quarkus Addons</description>
<packaging>pom</packaging>
- <description>Collection of common libraries used by Kogito Quarkus
Add-ons.</description>
-
<modules>
<module>deployment</module>
- <module>reactive-messaging</module>
- <module>kogito-addons-quarkus-common-health</module>
- <module>kogito-addons-quarkus-data-index-health</module>
- <module>kogito-addons-quarkus-jobs-service-health</module>
+ <module>runtime</module>
</modules>
-
-</project>
+</project>
\ No newline at end of file
diff --git a/quarkus/addons/openapi/runtime/pom.xml
b/quarkus/addons/openapi/runtime/pom.xml
new file mode 100644
index 0000000000..3b4f2f192c
--- /dev/null
+++ b/quarkus/addons/openapi/runtime/pom.xml
@@ -0,0 +1,82 @@
+<!--
+
+ 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-openapi-parent</artifactId>
+ <version>999-SNAPSHOT</version>
+ </parent>
+ <name>SonataFlow:: Addons :: Quarkus:: Serverless Workflow:: OpenAPI::
Runtime</name>
+ <description>OpenAPI support for serverless workflow</description>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
+
+ <properties>
+
<java.module.name>org.kie.kogito.quarkus.serverless.workflow.openapi</java.module.name>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-arc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.kie.kogito</groupId>
+ <artifactId>kogito-serverless-workflow-openapi-generated</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.openapi.generator</groupId>
+ <artifactId>quarkus-openapi-generator</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkiverse.openapi.generator</groupId>
+ <artifactId>quarkus-openapi-generator-oidc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-resteasy-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-oidc-client</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/io/quarkus/restclient/runtime/RestClientBuilderFactory.java
b/quarkus/addons/openapi/runtime/src/main/java/io/quarkus/restclient/runtime/RestClientBuilderFactory.java
similarity index 100%
rename from
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/io/quarkus/restclient/runtime/RestClientBuilderFactory.java
rename to
quarkus/addons/openapi/runtime/src/main/java/io/quarkus/restclient/runtime/RestClientBuilderFactory.java
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/serverless/workflow/openapi/OpenApiWorkItemHandler.java
b/quarkus/addons/openapi/runtime/src/main/java/org/kie/kogito/serverless/workflow/openapi/OpenApiWorkItemHandler.java
similarity index 100%
rename from
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/serverless/workflow/openapi/OpenApiWorkItemHandler.java
rename to
quarkus/addons/openapi/runtime/src/main/java/org/kie/kogito/serverless/workflow/openapi/OpenApiWorkItemHandler.java
diff --git
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/serverless/workflow/openapi/RuntimeConfigCredentialsProvider.java
b/quarkus/addons/openapi/runtime/src/main/java/org/kie/kogito/serverless/workflow/openapi/RuntimeConfigCredentialsProvider.java
similarity index 100%
rename from
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/java/org/kie/kogito/serverless/workflow/openapi/RuntimeConfigCredentialsProvider.java
rename to
quarkus/addons/openapi/runtime/src/main/java/org/kie/kogito/serverless/workflow/openapi/RuntimeConfigCredentialsProvider.java
diff --git a/quarkus/addons/pom.xml b/quarkus/addons/pom.xml
index 3ec5d56211..aad5323b8f 100644
--- a/quarkus/addons/pom.xml
+++ b/quarkus/addons/pom.xml
@@ -62,6 +62,7 @@
<module>dynamic</module>
<module>jbpm-usertask-storage-jpa</module>
<module>token-exchange</module>
+ <module>openapi</module>
</modules>
<profiles>
diff --git a/quarkus/addons/token-exchange/deployment/pom.xml
b/quarkus/addons/token-exchange/deployment/pom.xml
index 2ef1c619b1..c02e24b179 100644
--- a/quarkus/addons/token-exchange/deployment/pom.xml
+++ b/quarkus/addons/token-exchange/deployment/pom.xml
@@ -39,18 +39,9 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc-deployment</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-oidc-client-deployment</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.kie.sonataflow</groupId>
- <artifactId>sonataflow-quarkus-deployment</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkiverse.openapi.generator</groupId>
- <artifactId>quarkus-openapi-generator-deployment</artifactId>
+ <artifactId>sonataflow-addons-quarkus-openapi-deployment</artifactId>
</dependency>
<dependency>
<groupId>org.kie</groupId>
diff --git a/quarkus/addons/token-exchange/runtime/pom.xml
b/quarkus/addons/token-exchange/runtime/pom.xml
index 4c6e995409..955240f820 100644
--- a/quarkus/addons/token-exchange/runtime/pom.xml
+++ b/quarkus/addons/token-exchange/runtime/pom.xml
@@ -41,18 +41,9 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-oidc-client</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>io.quarkiverse.openapi.generator</groupId>
- <artifactId>quarkus-openapi-generator</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.kie.sonataflow</groupId>
- <artifactId>sonataflow-quarkus</artifactId>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
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 adc6c1c9c9..fd44af5033 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
@@ -42,10 +42,13 @@
<groupId>org.apache.kie.sonataflow</groupId>
<artifactId>sonataflow-quarkus</artifactId>
</dependency>
-
<dependency>
- <groupId>org.kie.kogito</groupId>
-
<artifactId>kogito-serverless-workflow-openapi-generated-deployment</artifactId>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-common-deployment</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi-deployment</artifactId>
</dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
@@ -82,10 +85,6 @@
<groupId>io.quarkiverse.reactivemessaging.http</groupId>
<artifactId>quarkus-reactive-messaging-http-deployment</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy-client-deployment</artifactId>
- </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-client-jackson-deployment</artifactId>
@@ -102,10 +101,6 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-cache-deployment</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkiverse.openapi.generator</groupId>
- <artifactId>quarkus-openapi-generator-deployment</artifactId>
- </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-smallrye-openapi-deployment</artifactId>
@@ -118,11 +113,6 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-grpc-deployment</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-oidc-client-deployment</artifactId>
- <scope>provided</scope>
- </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 2a3241b0ad..c95e39d0e3 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
@@ -23,6 +23,9 @@ import java.util.Collection;
import java.util.HashMap;
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;
@@ -48,14 +51,13 @@ 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.openapi.ServerlessWorkflowOASFilter;
-import
org.kie.kogito.quarkus.serverless.workflow.openapi.WorkflowOpenApiHandlerGenerator;
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;
import org.kie.kogito.serverless.workflow.parser.FunctionTypeHandler;
import
org.kie.kogito.serverless.workflow.parser.schema.OpenApiModelSchemaGenerator;
+import
org.kie.kogito.serverless.workflow.parser.schema.ServerlessWorkflowOASFilter;
import org.kie.kogito.serverless.workflow.rpc.FileDescriptorHolder;
import io.quarkus.deployment.annotations.BuildProducer;
@@ -75,7 +77,9 @@ import
io.quarkus.smallrye.openapi.deployment.spi.AddToOpenAPIDefinitionBuildIte
public class ServerlessWorkflowAssetsProcessor extends WorkflowProcessor {
// Injecting Instance<WorkflowOpenApiHandlerGenerator> does not work here
- private static WorkflowHandlerGenerator[] generators = {
WorkflowOpenApiHandlerGenerator.instance, WorkflowRPCHandlerGenerator.instance
};
+
+ private static Collection<WorkflowHandlerGenerator> generators =
+ Stream.concat(Stream.of(WorkflowRPCHandlerGenerator.instance),
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/java/org/kie/kogito/quarkus/serverless/workflow/openapi/ServerlessWorkflowOASFilter.java
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/serverless/workflow/parser/schema/ServerlessWorkflowOASFilter.java
similarity index 91%
rename from
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/ServerlessWorkflowOASFilter.java
rename to
quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/serverless/workflow/parser/schema/ServerlessWorkflowOASFilter.java
index 470938da13..9016fe2dda 100644
---
a/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/quarkus/serverless/workflow/openapi/ServerlessWorkflowOASFilter.java
+++
b/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow-deployment/src/main/java/org/kie/kogito/serverless/workflow/parser/schema/ServerlessWorkflowOASFilter.java
@@ -16,14 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.kie.kogito.quarkus.serverless.workflow.openapi;
+package org.kie.kogito.serverless.workflow.parser.schema;
import java.util.Map;
import org.eclipse.microprofile.openapi.OASFilter;
import org.eclipse.microprofile.openapi.models.OpenAPI;
import org.eclipse.microprofile.openapi.models.media.Schema;
-import
org.kie.kogito.serverless.workflow.parser.schema.OpenApiModelSchemaGenerator;
public final class ServerlessWorkflowOASFilter implements OASFilter {
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 2bea177e07..b4fd204ce0 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
@@ -55,10 +55,6 @@
<artifactId>svm</artifactId>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>io.quarkus</groupId>
- <artifactId>quarkus-resteasy-client</artifactId>
- </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-client-jackson</artifactId>
@@ -100,10 +96,6 @@
<groupId>org.kie.kogito</groupId>
<artifactId>kogito-serverless-workflow-rest-runtime</artifactId>
</dependency>
- <dependency>
- <groupId>org.kie.kogito</groupId>
- <artifactId>kogito-serverless-workflow-openapi-generated</artifactId>
- </dependency>
<dependency>
<groupId>org.kie.kogito</groupId>
<artifactId>kogito-jsonpath-expression</artifactId>
@@ -116,13 +108,9 @@
<groupId>io.quarkiverse.jackson-jq</groupId>
<artifactId>quarkus-jackson-jq</artifactId>
</dependency>
- <dependency>
- <groupId>io.quarkiverse.openapi.generator</groupId>
- <artifactId>quarkus-openapi-generator</artifactId>
- </dependency>
- <dependency>
- <groupId>io.quarkiverse.openapi.generator</groupId>
- <artifactId>quarkus-openapi-generator-oidc</artifactId>
+ <dependency>
+ <groupId>org.apache.kie.sonataflow</groupId>
+ <artifactId>sonataflow-addons-quarkus-openapi</artifactId>
</dependency>
<dependency>
<groupId>io.quarkiverse.asyncapi</groupId>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]