diff --git a/.github/workflows/deploy-classifiers.yml b/.github/workflows/deploy-classifiers.yml index 715a0407..fbe8519e 100644 --- a/.github/workflows/deploy-classifiers.yml +++ b/.github/workflows/deploy-classifiers.yml @@ -19,7 +19,7 @@ jobs: packages: write strategy: matrix: - branch: [ "development", "vaadin-24.3", "vaadin-23" ] + branch: [ "development", "vaadin-24.4", "vaadin-23" ] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8c6ff6a6..cb11f22a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -10,7 +10,7 @@ on: default: 'development' options: - "development" - - "vaadin-24.3" + - "vaadin-24.4" - "vaadin-23" version: description: "Version to release (e.g. 1.1.0 or 1.2.0-alpha1)" diff --git a/.github/workflows/validation-latest-versions.yml b/.github/workflows/validation-latest-versions.yml index 20de2770..149e88a9 100644 --- a/.github/workflows/validation-latest-versions.yml +++ b/.github/workflows/validation-latest-versions.yml @@ -18,7 +18,7 @@ jobs: id: matrix run: | set -x -e -o pipefail - branches="development vaadin-24.3" + branches="development vaadin-24.4" matrix=$(for branch in $branches; do \ git fetch --depth=1 origin $branch:$branch; git show $branch:pom.xml | grep -E '<(vaadin\.(platform|flow)|vertx)\.version>' \ diff --git a/.github/workflows/validation-nightly.yml b/.github/workflows/validation-nightly.yml index 040580ac..8ff8446d 100644 --- a/.github/workflows/validation-nightly.yml +++ b/.github/workflows/validation-nightly.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: java: [21, 17] - branch: [ development, vaadin-24.3, vaadin-23 ] + branch: [ development, vaadin-24.4, vaadin-23 ] include: - branch: vaadin-23 java: 11 diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 16ac251b..e89cbdfa 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -1,7 +1,7 @@ name: vertx-vaadin validation on: push: - branches: [development, vaadin-24.3, vaadin-23] + branches: [development, vaadin-24.4, vaadin-23] workflow_dispatch: pull_request_target: types: [opened, synchronize, reopened, edited] diff --git a/pom.xml b/pom.xml index ce469577..34a3b067 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT pom Vertx Vaadin root Pom @@ -109,9 +109,9 @@ 2.41.1 4.5.9 - 24.4.10 - 24.4.6 - 24.4.6 + 24.5.9 + 24.5.10 + 24.5.9 6.0.0 1.14.11 diff --git a/vaadin-flow-sockjs/pom.xml b/vaadin-flow-sockjs/pom.xml index 8e8067e9..7171c67d 100644 --- a/vaadin-flow-sockjs/pom.xml +++ b/vaadin-flow-sockjs/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml diff --git a/vertx-vaadin-flow-jandex/pom.xml b/vertx-vaadin-flow-jandex/pom.xml index b1b59865..3348c375 100644 --- a/vertx-vaadin-flow-jandex/pom.xml +++ b/vertx-vaadin-flow-jandex/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml diff --git a/vertx-vaadin-flow/pom.xml b/vertx-vaadin-flow/pom.xml index 07739ca1..de838010 100644 --- a/vertx-vaadin-flow/pom.xml +++ b/vertx-vaadin-flow/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml @@ -19,7 +19,7 @@ false 4.8.157 ${project.version} - 2.14.2 + 2.17.2 1.3.2 2.1.1 3.0.2 diff --git a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/VertxVaadinBrowserLiveReload.java b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/VertxVaadinBrowserLiveReload.java index 56a104c1..960155b6 100644 --- a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/VertxVaadinBrowserLiveReload.java +++ b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/VertxVaadinBrowserLiveReload.java @@ -32,6 +32,8 @@ import com.github.mcollovati.vertx.vaadin.communication.VertxDebugWindowConnection; import com.github.mcollovati.vertx.vaadin.sockjs.communication.VertxVaadinLiveReload; +import elemental.json.JsonObject; + class VertxVaadinBrowserLiveReload implements BrowserLiveReload { private final BrowserLiveReload delegate; @@ -77,6 +79,11 @@ public void update(String path, String content) { reloader.update(path, content); } + @Override + public void sendHmrEvent(String event, JsonObject eventData) { + reloader.sendHmrEvent(event, eventData); + } + @Override public void reload() { reloader.reload(); diff --git a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/communication/VertxDebugWindowConnection.java b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/communication/VertxDebugWindowConnection.java index 5b3272f4..3b57c29e 100644 --- a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/communication/VertxDebugWindowConnection.java +++ b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/communication/VertxDebugWindowConnection.java @@ -47,7 +47,6 @@ import com.vaadin.base.devserver.stats.DevModeUsageStatistics; import com.vaadin.experimental.FeatureFlags; import com.vaadin.flow.server.VaadinContext; -import com.vaadin.flow.server.startup.ApplicationConfiguration; import com.vaadin.pro.licensechecker.BuildType; import com.vaadin.pro.licensechecker.LicenseChecker; import com.vaadin.pro.licensechecker.Product; @@ -152,10 +151,25 @@ public void onMessage(String websocketId, String message) { } } - private void send(String websocketId, String command, Object data) { + public void sendHmrEvent(String event, JsonObject eventData) { + JsonObject msg = elemental.json.Json.createObject(); + msg.put("command", "hmr"); + JsonObject data = elemental.json.Json.createObject(); + msg.put("data", data); + data.put("event", event); + data.put("eventData", eventData); + broadcast(msg); + } + + private void send(String websocketId, String command, + Object data) { + send(websocketId, Json.encode(new DebugWindowMessage(command, data))); + } + + private void send(String websocketId, String json) { try { Optional.ofNullable(liveReload.get(websocketId)) - .ifPresent(producer -> producer.accept(Json.encode(new DebugWindowMessage(command, data)))); + .ifPresent(producer -> producer.accept(json)); } catch (Exception e) { getLogger().error("Error sending message", e); } @@ -163,7 +177,6 @@ private void send(String websocketId, String command, Object data) { public void onClose(String websocketId) { logger.debug("Live reload connection disconnected for {}", websocketId); - // Optional.ofNullable(liveReload.get(websocketId)).ifPresent(MessageProducer::close); for (DevToolsMessageHandler plugin : plugins) { plugin.handleDisconnect(getDevToolsInterface(websocketId)); } @@ -175,16 +188,16 @@ public void update(String path, String content) { msg.put("command", "update"); msg.put("path", path); msg.put("content", content); - sendToAll(msg); + broadcast(msg); } public void reload() { JsonObject msg = elemental.json.Json.createObject(); msg.put("command", "reload"); - sendToAll(msg); + broadcast(msg); } - private void sendToAll(JsonObject message) { + private void broadcast(JsonObject message) { String json = message.toJson(); liveReload.values().stream().filter(Objects::nonNull).forEach(socket -> socket.accept(json)); } @@ -223,7 +236,12 @@ public DevToolsInterfaceImpl(VertxDebugWindowConnection connection, String webso @Override public void send(String command, JsonObject data) { - connection.send(websocketId, command, data); + JsonObject msg = elemental.json.Json.createObject(); + msg.put("command", command); + if (data != null) { + msg.put("data", data); + } + connection.send(websocketId, msg.toJson()); } @Override diff --git a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/sockjs/communication/VertxVaadinLiveReload.java b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/sockjs/communication/VertxVaadinLiveReload.java index e72ccfee..62fa46d2 100644 --- a/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/sockjs/communication/VertxVaadinLiveReload.java +++ b/vertx-vaadin-flow/src/main/java/com/github/mcollovati/vertx/vaadin/sockjs/communication/VertxVaadinLiveReload.java @@ -22,6 +22,8 @@ */ package com.github.mcollovati.vertx.vaadin.sockjs.communication; +import elemental.json.JsonObject; + /** * Provides a way to reload browser tabs via web socket connection. */ @@ -42,4 +44,14 @@ public interface VertxVaadinLiveReload { */ void update(String path, String content); + /** + * Send a client side HMR event. + * + * @param event + * the event name + * @param eventData + * the event data + */ + void sendHmrEvent(String event, JsonObject eventData); + } diff --git a/vertx-vaadin-quarkus-extension/deployment/pom.xml b/vertx-vaadin-quarkus-extension/deployment/pom.xml index f679c513..531e81b8 100644 --- a/vertx-vaadin-quarkus-extension/deployment/pom.xml +++ b/vertx-vaadin-quarkus-extension/deployment/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-extension-parent - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-extension-deployment Vertx Vaadin Extension - Deployment diff --git a/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/pom.xml index 3cd9c15f..2c239a9e 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-extension-common-test-code Vertx Vaadin Extension - Common code for dev and prod diff --git a/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/src/test/java/com/github/mcollovati/vertx/vaadin/quarkus/it/ServiceIT.java b/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/src/test/java/com/github/mcollovati/vertx/vaadin/quarkus/it/ServiceIT.java index 044b2ae8..5fc8ea93 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/src/test/java/com/github/mcollovati/vertx/vaadin/quarkus/it/ServiceIT.java +++ b/vertx-vaadin-quarkus-extension/integration-tests/common-test-code/src/test/java/com/github/mcollovati/vertx/vaadin/quarkus/it/ServiceIT.java @@ -120,7 +120,7 @@ public void uiInitEventObserved() throws IOException { } private void assertSystemMessageEquals(String expected) { - WebElement message = findElement(By.cssSelector("div.v-system-error div.message")); + WebElement message = waitUntil(d -> findElement(By.cssSelector("div.v-system-error div.message"))); Assertions.assertEquals(expected, message.getText()); } } diff --git a/vertx-vaadin-quarkus-extension/integration-tests/development/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/development/pom.xml index 28f6ac44..a8204239 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/development/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/development/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-development-tests diff --git a/vertx-vaadin-quarkus-extension/integration-tests/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/pom.xml index 6ecf02fb..527ecfb9 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-extension-parent - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-integration-tests diff --git a/vertx-vaadin-quarkus-extension/integration-tests/production/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/production/pom.xml index 097d36ba..1d137e79 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/production/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/production/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-production-tests diff --git a/vertx-vaadin-quarkus-extension/integration-tests/reusable-theme/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/reusable-theme/pom.xml index f88e6078..f4578ed4 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/reusable-theme/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/reusable-theme/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT 4.0.0 diff --git a/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-with-jandex/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-with-jandex/pom.xml index 08830dc5..d773bbef 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-with-jandex/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-with-jandex/pom.xml @@ -7,7 +7,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../../pom.xml diff --git a/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-without-jandex/pom.xml b/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-without-jandex/pom.xml index 6db1d50f..b4d3099b 100644 --- a/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-without-jandex/pom.xml +++ b/vertx-vaadin-quarkus-extension/integration-tests/test-addons/addon-without-jandex/pom.xml @@ -7,7 +7,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-integration-tests - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../../pom.xml diff --git a/vertx-vaadin-quarkus-extension/pom.xml b/vertx-vaadin-quarkus-extension/pom.xml index 711b4d77..39e1b45b 100644 --- a/vertx-vaadin-quarkus-extension/pom.xml +++ b/vertx-vaadin-quarkus-extension/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml @@ -21,10 +21,10 @@ 3.8.1 false - 11 + 17 UTF-8 UTF-8 - 3.8.6 + 3.12.2 3.1.2 ${surefire-plugin.version} diff --git a/vertx-vaadin-quarkus-extension/runtime/pom.xml b/vertx-vaadin-quarkus-extension/runtime/pom.xml index a413878b..e558165d 100644 --- a/vertx-vaadin-quarkus-extension/runtime/pom.xml +++ b/vertx-vaadin-quarkus-extension/runtime/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-quarkus-extension-parent - 24.4-SNAPSHOT + 24.5-SNAPSHOT vertx-vaadin-quarkus-extension Vertx Vaadin Extension - Runtime diff --git a/vertx-vaadin-tests/pom.xml b/vertx-vaadin-tests/pom.xml index 9ce1e687..ec3e555f 100644 --- a/vertx-vaadin-tests/pom.xml +++ b/vertx-vaadin-tests/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx vertx-vaadin-root - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml com.github.mcollovati.vertx.tests diff --git a/vertx-vaadin-tests/test-common/pom.xml b/vertx-vaadin-tests/test-common/pom.xml index df0117a0..2d333607 100644 --- a/vertx-vaadin-tests/test-common/pom.xml +++ b/vertx-vaadin-tests/test-common/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml vertx-vaadin-test-common diff --git a/vertx-vaadin-tests/test-frontend/addon-with-templates/pom.xml b/vertx-vaadin-tests/test-frontend/addon-with-templates/pom.xml index 8d7aefa9..e9ce32ca 100644 --- a/vertx-vaadin-tests/test-frontend/addon-with-templates/pom.xml +++ b/vertx-vaadin-tests/test-frontend/addon-with-templates/pom.xml @@ -7,7 +7,7 @@ com.github.mcollovati.vertx.tests test-frontend - 24.4-SNAPSHOT + 24.5-SNAPSHOT addon-with-templates diff --git a/vertx-vaadin-tests/test-frontend/pom.xml b/vertx-vaadin-tests/test-frontend/pom.xml index d3907eb4..b055afe0 100644 --- a/vertx-vaadin-tests/test-frontend/pom.xml +++ b/vertx-vaadin-tests/test-frontend/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT test-frontend Frontend build (npm + Webpack + Vite) diff --git a/vertx-vaadin-tests/test-frontend/vite-basics/pom.xml b/vertx-vaadin-tests/test-frontend/vite-basics/pom.xml index bbdf5d35..e58ca052 100644 --- a/vertx-vaadin-tests/test-frontend/vite-basics/pom.xml +++ b/vertx-vaadin-tests/test-frontend/vite-basics/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx.tests test-frontend - 24.4-SNAPSHOT + 24.5-SNAPSHOT vite-basics Vite dev mode functionality diff --git a/vertx-vaadin-tests/test-frontend/vite-production/pom.xml b/vertx-vaadin-tests/test-frontend/vite-production/pom.xml index a180422f..1c8240ae 100644 --- a/vertx-vaadin-tests/test-frontend/vite-production/pom.xml +++ b/vertx-vaadin-tests/test-frontend/vite-production/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx.tests test-frontend - 24.4-SNAPSHOT + 24.5-SNAPSHOT vite-production Vite production mode functionality diff --git a/vertx-vaadin-tests/test-frontend/vite-test-assets/pom.xml b/vertx-vaadin-tests/test-frontend/vite-test-assets/pom.xml index 41df4577..51cc36ea 100644 --- a/vertx-vaadin-tests/test-frontend/vite-test-assets/pom.xml +++ b/vertx-vaadin-tests/test-frontend/vite-test-assets/pom.xml @@ -21,7 +21,7 @@ com.github.mcollovati.vertx.tests test-frontend - 24.4-SNAPSHOT + 24.5-SNAPSHOT 4.0.0 diff --git a/vertx-vaadin-tests/test-lumo/pom.xml b/vertx-vaadin-tests/test-lumo/pom.xml index 3b4540be..bb36b7e9 100644 --- a/vertx-vaadin-tests/test-lumo/pom.xml +++ b/vertx-vaadin-tests/test-lumo/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT flow-test-lumo Lumo class for use in test modules requiring LUMO diff --git a/vertx-vaadin-tests/test-resources/pom.xml b/vertx-vaadin-tests/test-resources/pom.xml index a3adf4c6..5b8c3853 100644 --- a/vertx-vaadin-tests/test-resources/pom.xml +++ b/vertx-vaadin-tests/test-resources/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml vertx-vaadin-test-resources diff --git a/vertx-vaadin-tests/test-root-context/pom.xml b/vertx-vaadin-tests/test-root-context/pom.xml index 195439c3..d8b05e6c 100644 --- a/vertx-vaadin-tests/test-root-context/pom.xml +++ b/vertx-vaadin-tests/test-root-context/pom.xml @@ -6,7 +6,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml vertx-vaadin-test-root-context @@ -120,11 +120,6 @@ runtime - - org.apache.commons - commons-lang3 - 3.9 - diff --git a/vertx-vaadin-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/UsageStatisticsView.java b/vertx-vaadin-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/UsageStatisticsView.java index 9cbc1cf8..686f0fea 100644 --- a/vertx-vaadin-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/UsageStatisticsView.java +++ b/vertx-vaadin-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/frontend/UsageStatisticsView.java @@ -34,7 +34,7 @@ import com.vaadin.flow.uitest.vertx.ViewTestLayout; // Devmode detector detects bundling based on whether polymer-element.html is loaded -@NpmPackage(value = "@vaadin/vaadin-development-mode-detector", version = "1.1.0") +@NpmPackage(value = "@vaadin/vaadin-development-mode-detector", version = "2.0.7") @JsModule("@vaadin/vaadin-development-mode-detector/vaadin-development-mode-detector.js") @Route(value = "com.vaadin.flow.uitest.ui.frontend.UsageStatisticsView", layout = ViewTestLayout.class) public class UsageStatisticsView extends Div { diff --git a/vertx-vaadin-tests/test-scalability/pom.xml b/vertx-vaadin-tests/test-scalability/pom.xml index 032cdbd3..ce78bd2f 100644 --- a/vertx-vaadin-tests/test-scalability/pom.xml +++ b/vertx-vaadin-tests/test-scalability/pom.xml @@ -5,7 +5,7 @@ com.github.mcollovati.vertx.tests vertx-vaadin-test - 24.4-SNAPSHOT + 24.5-SNAPSHOT ../pom.xml vertx-vaadin-test-scalability