This is an automated email from the ASF dual-hosted git repository.
tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git
The following commit(s) were added to refs/heads/main by this push:
new 65345f016ea NO-ISSUE: Update quarkus to 3.15.3 LTS and kogito to
999-20250128-SNAPSHOT (#2892)
65345f016ea is described below
commit 65345f016eae693b57e2d40883f9c44108331df2
Author: Rishiraj Anand <[email protected]>
AuthorDate: Sat Feb 8 06:42:38 2025 +0530
NO-ISSUE: Update quarkus to 3.15.3 LTS and kogito to 999-20250128-SNAPSHOT
(#2892)
---
.rat-excludes | 2 +
_intellij-project/.idea/misc.xml | 1 +
_intellij-project/.idea/modules.xml | 1 +
packages/jbpm-quarkus-devui/README.md | 4 +-
.../dev/src/main/resources/application.properties | 2 +-
.../jbpm-quarkus-devui-deployment/pom.xml | 4 ++
.../devui/deployment/DevConsoleProcessor.java | 68 ++++++++++++----------
.../jbpm-quarkus-devui-runtime/pom.xml | 5 ++
.../runtime/config/DevConsoleRuntimeConfig.java | 12 ++--
.../config/DevUIStaticArtifactsRecorder.java | 6 +-
.../quarkus/devui/runtime/config/UserConfig.java | 7 ++-
.../kogito-db-migrator-tool.iml | 8 +++
.../migrator/postgresql/MigrationServiceTest.java | 2 +-
.../kogito-jobs-service-all-in-one.feature | 2 +-
.../kogito-jobs-service-postgresql.feature | 2 +-
packages/maven-base/pom.xml | 6 +-
packages/root-env/env/index.js | 4 +-
.../runtime/common/added/run-app-devmode.sh | 2 +-
.../tests/features/sonataflow-devmode.feature | 4 +-
.../modules/kogito-maven/common/configure | 8 +++
.../modules/kogito-maven/common/module.yaml | 2 +
.../common/build/added/cleanup_project.sh | 2 +-
.../sonataflow/common/scripts/added/build-app.sh | 2 +-
.../sonataflow/common/scripts/added/create-app.sh | 6 +-
.../common/scripts/added/quarkus-mvn-plugin.sh | 2 +-
.../scripts/build-kogito-apps-components.sh | 2 +-
.../sonataflow-quarkus-devui-deployment/pom.xml | 7 +++
.../swf/tools/deployment/DevConsoleProcessor.java | 43 +++++++-------
.../sonataflow-quarkus-devui/pom.xml | 8 +++
.../config/DevUIStaticArtifactsRecorder.java | 5 +-
30 files changed, 142 insertions(+), 87 deletions(-)
diff --git a/.rat-excludes b/.rat-excludes
index e11dd0d5600..55138e0806b 100644
--- a/.rat-excludes
+++ b/.rat-excludes
@@ -1042,6 +1042,8 @@ go.sum
sonataflow-quarkus-devui-parent.iml
# packages/stunner-editors/stunner-editors-parent.iml
stunner-editors-parent.iml
+# packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml
+kogito-db-migrator-tool.iml
#
packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-api/src/main/resources/META-INF/beans.xml
beans.xml
#
packages/stunner-editors/drools-wb-screens/drools-wb-scenario-simulation-editor/drools-wb-scenario-simulation-editor-kogito-marshaller/src/main/java/.gitkeep
diff --git a/_intellij-project/.idea/misc.xml b/_intellij-project/.idea/misc.xml
index 152bd7cf6f1..7259582a19a 100644
--- a/_intellij-project/.idea/misc.xml
+++ b/_intellij-project/.idea/misc.xml
@@ -20,6 +20,7 @@
<option value="$PROJECT_DIR$/../packages/dmn-testing-models/pom.xml" />
<option
value="$PROJECT_DIR$/../packages/serverless-logic-web-tools-swf-deployment-quarkus-app/pom.xml"
/>
<option
value="$PROJECT_DIR$/../packages/vscode-java-code-completion-extension-plugin/pom.xml"
/>
+ <option
value="$PROJECT_DIR$/../packages/kogito-db-migrator-tool/pom.xml" />
</list>
</option>
</component>
diff --git a/_intellij-project/.idea/modules.xml
b/_intellij-project/.idea/modules.xml
index 3a8859d17e4..f341020366e 100644
--- a/_intellij-project/.idea/modules.xml
+++ b/_intellij-project/.idea/modules.xml
@@ -9,6 +9,7 @@
<module
fileurl="file://$PROJECT_DIR$/../packages/extended-services-java/extended-services-java.iml"
filepath="$PROJECT_DIR$/../packages/extended-services-java/extended-services-java.iml"
/>
<module
fileurl="file://$PROJECT_DIR$/../packages/jbpm-quarkus-devui/jbpm-quarkus-devui-parent.iml"
filepath="$PROJECT_DIR$/../packages/jbpm-quarkus-devui/jbpm-quarkus-devui-parent.iml"
/>
<module
fileurl="file://$PROJECT_DIR$/../packages/maven-base/kie-tools-maven-base.iml"
filepath="$PROJECT_DIR$/../packages/maven-base/kie-tools-maven-base.iml" />
+ <module
fileurl="file://$PROJECT_DIR$/../packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml"
filepath="$PROJECT_DIR$/../packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml"
/>
<module
fileurl="file://$PROJECT_DIR$/[email protected]"
filepath="$PROJECT_DIR$/[email protected]" />
<module
fileurl="file://$PROJECT_DIR$/../examples/process-compact-architecture/process-compact-architecture.iml"
filepath="$PROJECT_DIR$/../examples/process-compact-architecture/process-compact-architecture.iml"
/>
<module
fileurl="file://$PROJECT_DIR$/../examples/process-user-tasks-subsystem/process-user-tasks-subsystem.iml"
filepath="$PROJECT_DIR$/../examples/process-user-tasks-subsystem/process-user-tasks-subsystem.iml"
/>
diff --git a/packages/jbpm-quarkus-devui/README.md
b/packages/jbpm-quarkus-devui/README.md
index 8f224cb9a48..0c7dd8cbb3d 100644
--- a/packages/jbpm-quarkus-devui/README.md
+++ b/packages/jbpm-quarkus-devui/README.md
@@ -19,11 +19,11 @@
### Running the Dev application
-- Run `pnpm start` as usual and access http://0.0.0.0:8080/kie/q/dev-ui
+- Run `pnpm start` as usual and access http://127.0.0.1:8080/kie/q/dev-ui
To test the application running on different domains:
-- Edit your `/etc/hosts` file and add a `0.0.0.0 quarkus-app.localhost` entry
+- Edit your `/etc/hosts` file and add a `127.0.0.1 quarkus-app.localhost`
entry
- Run `pnpm start` and access http://quarkus-app.localhost:8080/kie/q/dev-ui
---
diff --git
a/packages/jbpm-quarkus-devui/dev/src/main/resources/application.properties
b/packages/jbpm-quarkus-devui/dev/src/main/resources/application.properties
index 4d97cec9282..4fc22109dcb 100644
--- a/packages/jbpm-quarkus-devui/dev/src/main/resources/application.properties
+++ b/packages/jbpm-quarkus-devui/dev/src/main/resources/application.properties
@@ -22,7 +22,7 @@ quarkus.http.cors=true
quarkus.http.cors.origins=*
quarkus.dev-ui.cors.enabled=false
-quarkus.http.host=0.0.0.0
+quarkus.http.host=127.0.0.1
quarkus.http.port=8080
quarkus.http.root-path=/kie
quarkus.http.non-application-root-path=/kie/q
diff --git a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/pom.xml
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/pom.xml
index 6cb40ffd6b9..c70d7660755 100644
--- a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/pom.xml
+++ b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/pom.xml
@@ -60,6 +60,10 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson-deployment</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-vertx-http-deployment</artifactId>
+ </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-client-deployment</artifactId>
diff --git
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/src/main/java/org/jbpm/quarkus/devui/deployment/DevConsoleProcessor.java
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/src/main/java/org/jbpm/quarkus/devui/deployment/DevConsoleProcessor.java
index 00e6f44c261..23972b4b73b 100644
---
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/src/main/java/org/jbpm/quarkus/devui/deployment/DevConsoleProcessor.java
+++
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-deployment/src/main/java/org/jbpm/quarkus/devui/deployment/DevConsoleProcessor.java
@@ -20,6 +20,7 @@ package org.jbpm.quarkus.devui.deployment;
import java.io.IOException;
import java.nio.file.Path;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -40,53 +41,56 @@ import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.*;
-import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
-import io.quarkus.deployment.util.WebJarUtil;
+import io.quarkus.vertx.http.deployment.webjar.WebJarResultsBuildItem;
import io.quarkus.devui.spi.JsonRPCProvidersBuildItem;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;
-import io.quarkus.maven.dependency.ResolvedDependency;
+import io.quarkus.maven.dependency.GACT;
import io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem;
import io.quarkus.vertx.http.deployment.RouteBuildItem;
+import io.quarkus.vertx.http.runtime.devmode.FileSystemStaticHandler;
import
io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig;
public class DevConsoleProcessor {
-
private static final String STATIC_RESOURCES_PATH = "dev-static/";
private static final String BASE_RELATIVE_URL =
"dev-ui/org.jbpm.jbpm-quarkus-devui";
private static final String NON_APPLICATION_BASE_RELATIVE_URL = "/q/" +
BASE_RELATIVE_URL;
private static final String DATA_INDEX_CAPABILITY =
"org.kie.kogito.data-index";
+ private static final GACT DEVCONSOLE_WEBJAR_ARTIFACT_KEY = new
GACT("org.jbpm", "jbpm-quarkus-devui-deployment", null, "jar");
@SuppressWarnings("unused")
@BuildStep(onlyIf = IsDevelopment.class)
@Record(ExecutionTime.RUNTIME_INIT)
public void deployStaticResources(final DevUIStaticArtifactsRecorder
devUIStaticArtifactsRecorder,
- final CurateOutcomeBuildItem curateOutcomeBuildItem,
- final LiveReloadBuildItem liveReloadBuildItem,
- final LaunchModeBuildItem launchMode,
- final ShutdownContextBuildItem shutdownContext,
- final BuildProducer<RouteBuildItem> routeBuildItemBuildProducer)
throws IOException {
- ResolvedDependency devConsoleResourcesArtifact =
WebJarUtil.getAppArtifact(curateOutcomeBuildItem,
- "org.jbpm",
- "jbpm-quarkus-devui-deployment");
-
- Path devConsoleStaticResourcesDeploymentPath =
WebJarUtil.copyResourcesForDevOrTest(
- liveReloadBuildItem,
- curateOutcomeBuildItem,
- launchMode,
- devConsoleResourcesArtifact,
- STATIC_RESOURCES_PATH,
- true);
+ final ShutdownContextBuildItem
shutdownContext,
+ final WebJarResultsBuildItem
webJarResultsBuildItem,
+ final BuildProducer<RouteBuildItem>
routeBuildItemBuildProducer) throws IOException {
+
+ WebJarResultsBuildItem.WebJarResult result = webJarResultsBuildItem
+ .byArtifactKey(DEVCONSOLE_WEBJAR_ARTIFACT_KEY);
+ if (result == null) {
+ return;
+ }
+
+ List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations = new ArrayList<>();
+ webRootConfigurations.add(
+ new
FileSystemStaticHandler.StaticWebRootConfiguration(result.getFinalDestination(),
+ ""));
+ for (Path resolvedPath : result.getDependency().getResolvedPaths()) {
+ webRootConfigurations
+ .add(new
FileSystemStaticHandler.StaticWebRootConfiguration(
+ resolvedPath.toString(), STATIC_RESOURCES_PATH));
+ }
routeBuildItemBuildProducer.produce(new RouteBuildItem.Builder()
.route(NON_APPLICATION_BASE_RELATIVE_URL + "/resources/*")
-
.handler(devUIStaticArtifactsRecorder.handler(devConsoleStaticResourcesDeploymentPath.toString(),
+
.handler(devUIStaticArtifactsRecorder.handler(webRootConfigurations,
shutdownContext))
.build());
routeBuildItemBuildProducer.produce(new RouteBuildItem.Builder()
.route(NON_APPLICATION_BASE_RELATIVE_URL + "/*")
-
.handler(devUIStaticArtifactsRecorder.handler(devConsoleStaticResourcesDeploymentPath.toString(),
+
.handler(devUIStaticArtifactsRecorder.handler(webRootConfigurations,
shutdownContext))
.build());
}
@@ -115,15 +119,19 @@ public class DevConsoleProcessor {
managementInterfaceBuildTimeConfig, launchModeBuildItem, true);
String devUIUrl = getProperty(configurationBuildItem,
systemPropertyBuildItems, "kogito.dev-ui.url");
- String dataIndexUrl = getProperty(configurationBuildItem,
systemPropertyBuildItems, "kogito.data-index.url");
- String quarkusHttpHost =
ConfigProvider.getConfig().getOptionalValue("quarkus.http.host",
String.class).orElse("0.0.0.0");
- String quarkusHttpPort =
ConfigProvider.getConfig().getOptionalValue("quarkus.http.port",
String.class).orElse("8080");
+ String dataIndexUrl = getProperty(configurationBuildItem,
systemPropertyBuildItems,
+ "kogito.data-index.url");
+ String quarkusHttpHost =
ConfigProvider.getConfig().getOptionalValue("quarkus.http.host", String.class)
+ .orElse("0.0.0.0");
+ String quarkusHttpPort =
ConfigProvider.getConfig().getOptionalValue("quarkus.http.port", String.class)
+ .orElse("8080");
CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
cardPageBuildItem.addBuildTimeData("quarkusHttpHost", quarkusHttpHost);
cardPageBuildItem.addBuildTimeData("quarkusHttpPort", quarkusHttpPort);
- cardPageBuildItem.addBuildTimeData("quarkusAppRootPath",
nonApplicationRootPathBuildItem.getNormalizedHttpRootPath());
+ cardPageBuildItem.addBuildTimeData("quarkusAppRootPath",
+ nonApplicationRootPathBuildItem.getNormalizedHttpRootPath());
cardPageBuildItem.addBuildTimeData("extensionBasePath", uiPath);
cardPageBuildItem.addBuildTimeData("devUIUrl", devUIUrl);
cardPageBuildItem.addBuildTimeData("dataIndexUrl", dataIndexUrl);
@@ -162,17 +170,17 @@ public class DevConsoleProcessor {
}
private Collection<UserInfo> readUsersInfo(DevConsoleRuntimeConfig
devConsoleRuntimeConfig) {
- if (devConsoleRuntimeConfig.userConfigByUser.isEmpty()) {
+ if (devConsoleRuntimeConfig.userConfigByUser().isEmpty()) {
return Collections.emptyList();
}
- return devConsoleRuntimeConfig.userConfigByUser.entrySet().stream()
- .map(entry -> new UserInfo(entry.getKey(),
entry.getValue().groups))
+ return devConsoleRuntimeConfig.userConfigByUser().entrySet().stream()
+ .map(entry -> new UserInfo(entry.getKey(),
entry.getValue().groups()))
.collect(Collectors.toList());
}
private static String getProperty(ConfigurationBuildItem
configurationBuildItem,
- List<SystemPropertyBuildItem> systemPropertyBuildItems, String
propertyKey) {
+ List<SystemPropertyBuildItem>
systemPropertyBuildItems, String propertyKey) {
String propertyValue = configurationBuildItem
.getReadResult()
diff --git a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/pom.xml
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/pom.xml
index dc2fe91058e..b7d87abc2c4 100644
--- a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/pom.xml
+++ b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/pom.xml
@@ -53,6 +53,11 @@
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-vertx-http</artifactId>
+ </dependency>
+
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-client</artifactId>
diff --git
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevConsoleRuntimeConfig.java
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevConsoleRuntimeConfig.java
index 78262048e5a..1abbc8a2154 100644
---
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevConsoleRuntimeConfig.java
+++
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevConsoleRuntimeConfig.java
@@ -23,13 +23,17 @@ import java.util.Map;
import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "", prefix = "jbpm.devui", phase =
ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
-public class DevConsoleRuntimeConfig {
+@ConfigMapping(prefix = "jbpm.devui")
+@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
+public interface DevConsoleRuntimeConfig {
/**
* Mocked users data for the Tasks screen.
*/
- @ConfigItem(name = "users")
- public Map<String, UserConfig> userConfigByUser;
+
+ @WithName("users")
+ public Map<String, UserConfig> userConfigByUser();
}
diff --git
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevUIStaticArtifactsRecorder.java
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevUIStaticArtifactsRecorder.java
index 51239d3debe..b1f2f74a4c1 100644
---
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevUIStaticArtifactsRecorder.java
+++
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/DevUIStaticArtifactsRecorder.java
@@ -19,7 +19,6 @@
package org.jbpm.quarkus.devui.runtime.config;
-import java.util.ArrayList;
import java.util.List;
import io.quarkus.runtime.ShutdownContext;
@@ -31,10 +30,7 @@ import io.vertx.ext.web.RoutingContext;
@Recorder
public class DevUIStaticArtifactsRecorder {
- public Handler<RoutingContext> handler(String deploymentArtifactPath,
ShutdownContext shutdownContext) {
- List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations = new ArrayList<>();
- webRootConfigurations.add(
- new
FileSystemStaticHandler.StaticWebRootConfiguration(deploymentArtifactPath, ""));
+ public Handler<RoutingContext>
handler(List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations, ShutdownContext shutdownContext) {
FileSystemStaticHandler fileSystemStaticHandler = new
FileSystemStaticHandler(webRootConfigurations);
diff --git
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/UserConfig.java
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/UserConfig.java
index 89496c0302a..10355c91510 100644
---
a/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/UserConfig.java
+++
b/packages/jbpm-quarkus-devui/jbpm-quarkus-devui-runtime/src/main/java/org/jbpm/quarkus/devui/runtime/config/UserConfig.java
@@ -22,13 +22,14 @@ import java.util.List;
import io.quarkus.runtime.annotations.ConfigGroup;
import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithName;
@ConfigGroup
-public class UserConfig {
+public interface UserConfig {
/**
* Groups which the user belong to.
*/
- @ConfigItem(name = "groups")
- public List<String> groups;
+ @WithName("groups")
+ public List<String> groups();
}
diff --git a/packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml
b/packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml
new file mode 100644
index 00000000000..8773a990784
--- /dev/null
+++ b/packages/kogito-db-migrator-tool/kogito-db-migrator-tool.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+ <component name="AdditionalModuleElements">
+ <content url="file://$MODULE_DIR$" dumb="true">
+ <excludeFolder url="file://$MODULE_DIR$/node_modules" />
+ </content>
+ </component>
+</module>
\ No newline at end of file
diff --git
a/packages/kogito-db-migrator-tool/src/test/java/org/kie/kogito/migrator/postgresql/MigrationServiceTest.java
b/packages/kogito-db-migrator-tool/src/test/java/org/kie/kogito/migrator/postgresql/MigrationServiceTest.java
index bce5e4f88c1..a7fc12675ab 100644
---
a/packages/kogito-db-migrator-tool/src/test/java/org/kie/kogito/migrator/postgresql/MigrationServiceTest.java
+++
b/packages/kogito-db-migrator-tool/src/test/java/org/kie/kogito/migrator/postgresql/MigrationServiceTest.java
@@ -40,7 +40,7 @@ class MigrationServiceTest {
@BeforeEach
void setupEach() {
flyway = mock(Flyway.class);
- when(flyway.migrate()).thenReturn(new MigrateResult("flywayVersion",
"db", "schema"));
+ when(flyway.migrate()).thenReturn(new MigrateResult("flywayVersion",
"db", "schema", ""));
when(flyway.clean()).thenReturn(new CleanResult("flywayVersion",
"db"));
}
diff --git
a/packages/kogito-jobs-service-allinone-image/test-resources/tests/features/kogito-jobs-service-all-in-one.feature
b/packages/kogito-jobs-service-allinone-image/test-resources/tests/features/kogito-jobs-service-all-in-one.feature
index 7501ed99c6a..17385fbe52c 100644
---
a/packages/kogito-jobs-service-allinone-image/test-resources/tests/features/kogito-jobs-service-all-in-one.feature
+++
b/packages/kogito-jobs-service-allinone-image/test-resources/tests/features/kogito-jobs-service-all-in-one.feature
@@ -60,4 +60,4 @@ Feature: Kogito-jobs-service-all-in-one feature.
| QUARKUS_DATASOURCE_PASSWORD | 123456
|
| QUARKUS_DATASOURCE_JDBC_URL |
jdbc:postgresql://10.11.12.13:5432/hibernate_orm_test |
Then container log should contain -Dquarkus.http.host=0.0.0.0
-Dquarkus.http.port=8080 -jar
"/home/kogito/bin/postgresql/quarkus-app/quarkus-run.jar"
- And container log should contain Trying to establish a protocol version 3
connection to 10.11.12.13:5432
+ And container log should contain connected to
jdbc:postgresql://10.11.12.13:5432/hibernate_orm_test
diff --git
a/packages/kogito-jobs-service-postgresql-image/test-resources/tests/features/kogito-jobs-service-postgresql.feature
b/packages/kogito-jobs-service-postgresql-image/test-resources/tests/features/kogito-jobs-service-postgresql.feature
index c7f2a1d1e93..7e8c9d6e730 100644
---
a/packages/kogito-jobs-service-postgresql-image/test-resources/tests/features/kogito-jobs-service-postgresql.feature
+++
b/packages/kogito-jobs-service-postgresql-image/test-resources/tests/features/kogito-jobs-service-postgresql.feature
@@ -42,4 +42,4 @@ Feature: Kogito-jobs-service-postgresql feature.
| QUARKUS_DATASOURCE_PASSWORD | 123456
|
| QUARKUS_DATASOURCE_JDBC_URL |
jdbc:postgresql://10.11.12.13:5432/hibernate_orm_test |
Then container log should contain -Dquarkus.http.host=0.0.0.0
-Dquarkus.http.port=8080 -jar "/home/kogito/bin/quarkus-app/quarkus-run.jar"
- And container log should contain Trying to establish a protocol version 3
connection to 10.11.12.13:5432
+ And container log should contain connected to
jdbc:postgresql://10.11.12.13:5432/hibernate_orm_test
diff --git a/packages/maven-base/pom.xml b/packages/maven-base/pom.xml
index c9321c8e3d0..12ff464e764 100644
--- a/packages/maven-base/pom.xml
+++ b/packages/maven-base/pom.xml
@@ -121,16 +121,16 @@
<version.maven.surefire.plugin>3.5.0</version.maven.surefire.plugin>
<!-- Apache KIE -->
- <version.org.kie.kogito>999-20250105-SNAPSHOT</version.org.kie.kogito>
+ <version.org.kie.kogito>999-20250128-SNAPSHOT</version.org.kie.kogito>
<!-- Quarkus -->
- <version.quarkus>3.8.6</version.quarkus>
+ <version.quarkus>3.15.3</version.quarkus>
<!-- 3rd party dependencies -->
<version.junit>4.13.2</version.junit>
<version.org.apache.commons.commons-compress>1.26.1</version.org.apache.commons.commons-compress>
<version.org.iq80.snappy>0.5</version.org.iq80.snappy>
-
<version.io.quarkiverse.embedded.postgresql>0.2.2</version.io.quarkiverse.embedded.postgresql>
+
<version.io.quarkiverse.embedded.postgresql>0.3.0</version.io.quarkiverse.embedded.postgresql>
<version.org.apache.mime4j>0.8.11</version.org.apache.mime4j>
<version.org.freemarker>2.3.32</version.org.freemarker>
<version.org.assertj>3.25.3</version.org.assertj>
diff --git a/packages/root-env/env/index.js b/packages/root-env/env/index.js
index 8bbe6c07a3b..ecaf7ed2a62 100644
--- a/packages/root-env/env/index.js
+++ b/packages/root-env/env/index.js
@@ -65,12 +65,12 @@ module.exports = composeEnv([], {
},
/* (end) */
QUARKUS_PLATFORM_version: {
- default: "3.8.6",
+ default: "3.15.3",
description: "Quarkus version to be used on dependency declaration.",
},
/* (begin) This part of the file is referenced in
`scripts/update-kogito-version` */
KOGITO_RUNTIME_version: {
- default: "999-20250105-SNAPSHOT",
+ default: "999-20250128-SNAPSHOT",
description: "Kogito version to be used on dependency declaration.",
},
/* (end) */
diff --git
a/packages/sonataflow-devmode-image/resources/modules/sonataflow/devmode/runtime/common/added/run-app-devmode.sh
b/packages/sonataflow-devmode-image/resources/modules/sonataflow/devmode/runtime/common/added/run-app-devmode.sh
index 93a9bffb7d2..b7ccf83b529 100755
---
a/packages/sonataflow-devmode-image/resources/modules/sonataflow/devmode/runtime/common/added/run-app-devmode.sh
+++
b/packages/sonataflow-devmode-image/resources/modules/sonataflow/devmode/runtime/common/added/run-app-devmode.sh
@@ -43,7 +43,7 @@ if [ ! -z "${QUARKUS_EXTENSIONS}" ]; then
offline_param=""
fi
-CMD="\"${MAVEN_HOME}\"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+CMD="\"${MAVEN_CMD}\" -B ${MAVEN_ARGS_APPEND} \
${offline_param} \
-s \"${MAVEN_SETTINGS_PATH}\" \
-DskipTests \
diff --git
a/packages/sonataflow-devmode-image/test-resources/tests/features/sonataflow-devmode.feature
b/packages/sonataflow-devmode-image/test-resources/tests/features/sonataflow-devmode.feature
index f381ebb10cc..d85ff278a8f 100644
---
a/packages/sonataflow-devmode-image/test-resources/tests/features/sonataflow-devmode.feature
+++
b/packages/sonataflow-devmode-image/test-resources/tests/features/sonataflow-devmode.feature
@@ -110,14 +110,14 @@ Feature: Serverless Workflow devmode images
| path |
/q/dev-ui/org.kie.kogito-addons-quarkus-data-index-inmemory/dataindex |
| request_method | GET
|
| wait | 480
|
- | expected_status_code | 200
|
+ | expected_status_code | 403
|
And check that page is served
| property | value
|
| port | 8080
|
| path |
/q/dev-ui/org.apache.kie.sonataflow.sonataflow-quarkus-devui/workflows |
| request_method | GET
|
| wait | 480
|
- | expected_status_code | 200
|
+ | expected_status_code | 403
|
Scenario: Verify if container starts in devmode with service discovery
enabled
When container is started with env
diff --git
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/configure
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/configure
index e28dccbbd17..c2cda2377ed 100755
---
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/configure
+++
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/configure
@@ -32,6 +32,14 @@ then
mv /usr/share/apache-maven-"${MAVEN_VERSION}" ${mvn_install_dir}
else
echo "---> Maven already present in the current context"
+ # TODO: Remove this temporary solution in favor of the
-DnoMavenVersionCheck flag once it's available
+ # https://github.com/quarkusio/quarkus/issues/46105
+ # Installs Maven Wrapper for version 3.8.6 in order to be compatible with
the quarkus-maven-plugin minimum requirements (on Quarkus 3.15.3).
+ echo "---> Installing Maven wrapper for Maven 3.8.6"
+ cd "${MAVEN_HOME}"/bin
+ mvn wrapper:wrapper -Dmaven=3.8.6 -Dtype=source
+ echo "--> Validating Maven wrapper installation"
+ ${MAVEN_CMD} --version
fi
mkdir "${KOGITO_HOME}"/.m2
diff --git
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/module.yaml
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/module.yaml
index 56f154e3156..c531636267d 100644
---
a/packages/sonataflow-image-common/resources/modules/kogito-maven/common/module.yaml
+++
b/packages/sonataflow-image-common/resources/modules/kogito-maven/common/module.yaml
@@ -25,6 +25,8 @@ envs:
description: "The Maven version to setup with this module"
- name: "MAVEN_HOME"
value: "/usr/share/maven"
+ - name: "MAVEN_CMD"
+ value: "/usr/share/maven/bin/mvnw"
- name: "MAVEN_SETTINGS_PATH"
description: "The location of the settings.xml file"
value: "${KOGITO_HOME}/.m2/settings.xml"
diff --git
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/build/added/cleanup_project.sh
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/build/added/cleanup_project.sh
index 69e0a61e975..37a0bcf5368 100755
---
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/build/added/cleanup_project.sh
+++
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/build/added/cleanup_project.sh
@@ -25,7 +25,7 @@ echo 'Clean unnecessary files'
rm -rfv "${PROJECT_ARTIFACT_ID}"/target
rm -rfv "${PROJECT_ARTIFACT_ID}"/src/main/resources/*
rm -rfv "${PROJECT_ARTIFACT_ID}"/src/main/docker
-rm -rfv "${PROJECT_ARTIFACT_ID}"/.mvn/wrapper
+rm -rfv "${PROJECT_ARTIFACT_ID}"/.mvn
rm -rfv "${PROJECT_ARTIFACT_ID}"/mvnw*
rm -rfv "${PROJECT_ARTIFACT_ID}"/src/test
rm -rfv "${PROJECT_ARTIFACT_ID}"/*.bak
diff --git
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/build-app.sh
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/build-app.sh
index d91ceed6ea2..9f1df0a3634 100755
---
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/build-app.sh
+++
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/build-app.sh
@@ -57,7 +57,7 @@ fi
cd ${KOGITO_HOME}/serverless-workflow-project
-"${MAVEN_HOME}"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+"${MAVEN_CMD}" -B ${MAVEN_ARGS_APPEND} \
-nsu \
-B \
-s "${MAVEN_SETTINGS_PATH}" \
diff --git
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/create-app.sh
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/create-app.sh
index b29179b2cef..8e1f27238a1 100755
---
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/create-app.sh
+++
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/create-app.sh
@@ -34,7 +34,7 @@ fi
source "${script_dir_path}"/configure-jvm-mvn.sh
-"${MAVEN_HOME}"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+"${MAVEN_CMD}" -B ${MAVEN_ARGS_APPEND} \
-nsu \
-B \
-s "${MAVEN_SETTINGS_PATH}" \
@@ -129,7 +129,7 @@ fi
# see:
#
https://quarkus.io/guides/maven-tooling#downloading-maven-artifact-dependencies-for-offline-development-and-testing
#
https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html
-"${MAVEN_HOME}"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+"${MAVEN_CMD}" -B ${MAVEN_ARGS_APPEND} \
-nsu \
-B \
-s "${MAVEN_SETTINGS_PATH}" \
@@ -138,7 +138,7 @@ fi
clean dependency:go-offline
"${QUARKUS_PLATFORM_GROUPID}":quarkus-maven-plugin:"${QUARKUS_PLATFORM_VERSION}":go-offline
install
# clean up
-"${MAVEN_HOME}"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+"${MAVEN_CMD}" -B ${MAVEN_ARGS_APPEND} \
-nsu \
-B \
-s "${MAVEN_SETTINGS_PATH}" \
diff --git
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/quarkus-mvn-plugin.sh
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/quarkus-mvn-plugin.sh
index 44417c39ca8..54c2209d951 100644
---
a/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/quarkus-mvn-plugin.sh
+++
b/packages/sonataflow-image-common/resources/modules/sonataflow/common/scripts/added/quarkus-mvn-plugin.sh
@@ -83,7 +83,7 @@ run_quarkus_mvn_add_extension() {
log_info "Processed extensions to be added ${processed_extensions}"
- "${MAVEN_HOME}"/bin/mvn -B ${MAVEN_ARGS_APPEND} \
+ "${MAVEN_CMD}" -B ${MAVEN_ARGS_APPEND} \
-nsu \
-B \
-s "${MAVEN_SETTINGS_PATH}" \
diff --git
a/packages/sonataflow-image-common/resources/scripts/build-kogito-apps-components.sh
b/packages/sonataflow-image-common/resources/scripts/build-kogito-apps-components.sh
index fc661b7dcdc..ce2505dce5b 100755
---
a/packages/sonataflow-image-common/resources/scripts/build-kogito-apps-components.sh
+++
b/packages/sonataflow-image-common/resources/scripts/build-kogito-apps-components.sh
@@ -116,7 +116,7 @@ for ctx in ${contextDir}; do
fi
cd ${KOGITO_APPS_DIR} && echo "working dir `pwd`"
echo "Got MAVEN_OPTIONS = ${MAVEN_OPTIONS}"
- mvn_command="mvn -am -pl ${ctx} package ${MAVEN_OPTIONS}
-Dmaven.repo.local=${mvn_local_repo} -Dquarkus.container-image.build=false"
+ mvn_command="\"${MAVEN_CMD}\" -am -pl ${ctx} package ${MAVEN_OPTIONS}
-Dmaven.repo.local=${mvn_local_repo} -Dquarkus.container-image.build=false"
echo "Building component(s) ${contextDir} with the following maven command
[${mvn_command}]"
export YARN_CACHE_FOLDER=/tmp/cache/yarn/${ctx} # Fix for building yarn
apps in parallel
export CYPRESS_CACHE_FOLDER=/tmp/cache/cypress/${ctx} #
https://docs.cypress.io/guides/getting-started/installing-cypress#Advanced
diff --git
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
index 4c2efdf43fc..3b75810b57c 100644
---
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
+++
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/pom.xml
@@ -69,6 +69,10 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-multipart-deployment</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-vertx-http-deployment</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.kie.sonataflow</groupId>
<artifactId>sonataflow-quarkus-devui</artifactId>
@@ -123,6 +127,9 @@
<version>${version.quarkus}</version>
</path>
</annotationProcessorPaths>
+ <compilerArgs>
+ <arg>-AlegacyConfigRoot=true</arg>
+ </compilerArgs>
</configuration>
</plugin>
<plugin>
diff --git
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
index b5e8285bb20..70a7da646a6 100644
---
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
+++
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui-deployment/src/main/java/org/kie/sonataflow/swf/tools/deployment/DevConsoleProcessor.java
@@ -20,6 +20,7 @@ package org.kie.sonataflow.swf.tools.deployment;
import java.io.IOException;
import java.nio.file.Path;
+import java.util.ArrayList;
import java.util.List;
import io.quarkus.deployment.Capabilities;
@@ -34,16 +35,15 @@ import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.ConfigurationBuildItem;
import io.quarkus.deployment.builditem.LaunchModeBuildItem;
-import io.quarkus.deployment.builditem.LiveReloadBuildItem;
import io.quarkus.deployment.builditem.ShutdownContextBuildItem;
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
-import io.quarkus.deployment.pkg.builditem.CurateOutcomeBuildItem;
-import io.quarkus.deployment.util.WebJarUtil;
import io.quarkus.devui.spi.page.CardPageBuildItem;
import io.quarkus.devui.spi.page.Page;
-import io.quarkus.maven.dependency.ResolvedDependency;
+import io.quarkus.maven.dependency.GACT;
import io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem;
import io.quarkus.vertx.http.deployment.RouteBuildItem;
+import io.quarkus.vertx.http.deployment.webjar.WebJarResultsBuildItem;
+import io.quarkus.vertx.http.runtime.devmode.FileSystemStaticHandler;
import
io.quarkus.vertx.http.runtime.management.ManagementInterfaceBuildTimeConfig;
import
org.kie.sonataflow.swf.tools.runtime.rpc.SonataFlowQuarkusExtensionJsonRPCService;
@@ -53,36 +53,39 @@ public class DevConsoleProcessor {
private static final String STATIC_RESOURCES_PATH = "dev-static/";
private static final String BASE_RELATIVE_URL =
"/q/dev-ui/org.apache.kie.sonataflow.sonataflow-quarkus-devui";
+ private static final GACT DEVCONSOLE_WEBJAR_ARTIFACT_KEY = new
GACT("org.apache.kie.sonataflow", "sonataflow-quarkus-devui-deployment", null,
+ "jar");
@BuildStep(onlyIf = IsDevelopment.class)
@Record(ExecutionTime.RUNTIME_INIT)
public void deployStaticResources(final DevUIStaticArtifactsRecorder
devUIStaticArtifactsRecorder,
- final CurateOutcomeBuildItem curateOutcomeBuildItem,
- final LiveReloadBuildItem liveReloadBuildItem,
- final LaunchModeBuildItem launchMode,
final ShutdownContextBuildItem shutdownContext,
+ final WebJarResultsBuildItem webJarResultsBuildItem,
final BuildProducer<RouteBuildItem> routeBuildItemBuildProducer)
throws IOException {
- ResolvedDependency devConsoleResourcesArtifact =
WebJarUtil.getAppArtifact(curateOutcomeBuildItem,
- "org.apache.kie.sonataflow",
- "sonataflow-quarkus-devui-deployment");
-
- Path devConsoleStaticResourcesDeploymentPath =
WebJarUtil.copyResourcesForDevOrTest(
- liveReloadBuildItem,
- curateOutcomeBuildItem,
- launchMode,
- devConsoleResourcesArtifact,
- STATIC_RESOURCES_PATH,
- true);
+
+ WebJarResultsBuildItem.WebJarResult result =
webJarResultsBuildItem.byArtifactKey(DEVCONSOLE_WEBJAR_ARTIFACT_KEY);
+
+ if (result == null) {
+ return;
+ }
+
+ List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations = new ArrayList<>();
+ webRootConfigurations.add(
+ new
FileSystemStaticHandler.StaticWebRootConfiguration(result.getFinalDestination(),""));
+ for (Path resolvedPath : result.getDependency().getResolvedPaths()) {
+ webRootConfigurations
+ .add(new
FileSystemStaticHandler.StaticWebRootConfiguration(resolvedPath.toString(),STATIC_RESOURCES_PATH));
+ }
routeBuildItemBuildProducer.produce(new RouteBuildItem.Builder()
.route(BASE_RELATIVE_URL + "/resources/*")
-
.handler(devUIStaticArtifactsRecorder.handler(devConsoleStaticResourcesDeploymentPath.toString(),
+
.handler(devUIStaticArtifactsRecorder.handler(webRootConfigurations,
shutdownContext))
.build());
routeBuildItemBuildProducer.produce(new RouteBuildItem.Builder()
.route(BASE_RELATIVE_URL + "/*")
-
.handler(devUIStaticArtifactsRecorder.handler(devConsoleStaticResourcesDeploymentPath.toString(),
+
.handler(devUIStaticArtifactsRecorder.handler(webRootConfigurations,
shutdownContext))
.build());
}
diff --git a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml
index 1abf27bc04f..36a2a196440 100644
--- a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml
+++ b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/pom.xml
@@ -58,6 +58,11 @@
<artifactId>quarkus-resteasy-multipart</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-vertx-http</artifactId>
+ </dependency>
+
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
@@ -153,6 +158,9 @@
<version>${version.quarkus}</version>
</path>
</annotationProcessorPaths>
+ <compilerArgs>
+ <arg>-AlegacyConfigRoot=true</arg>
+ </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/config/DevUIStaticArtifactsRecorder.java
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/config/DevUIStaticArtifactsRecorder.java
index f4588d1fb93..54a446dd145 100644
---
a/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/config/DevUIStaticArtifactsRecorder.java
+++
b/packages/sonataflow-quarkus-devui/sonataflow-quarkus-devui/src/main/java/org/kie/sonataflow/swf/tools/runtime/config/DevUIStaticArtifactsRecorder.java
@@ -30,10 +30,7 @@ import io.vertx.ext.web.RoutingContext;
@Recorder
public class DevUIStaticArtifactsRecorder {
- public Handler<RoutingContext> handler(String deploymentArtifactPath,
ShutdownContext shutdownContext) {
- List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations = new ArrayList<>();
- webRootConfigurations.add(
- new
FileSystemStaticHandler.StaticWebRootConfiguration(deploymentArtifactPath, ""));
+ public Handler<RoutingContext>
handler(List<FileSystemStaticHandler.StaticWebRootConfiguration>
webRootConfigurations, ShutdownContext shutdownContext) {
FileSystemStaticHandler fileSystemStaticHandler = new
FileSystemStaticHandler(webRootConfigurations);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]