From a982d2cdcaae9061b0e161dcda1c31335df0b2af Mon Sep 17 00:00:00 2001 From: "totally-not-ai[bot]" <290682512+totally-not-ai[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 09:33:43 +0000 Subject: [PATCH 1/3] chore: generate a Jandex index in the published component modules Each published component module now builds a Jandex index of its own classes into META-INF/jandex.idx, where the Vaadin Quarkus extension reads it from. This mirrors vaadin/flow#25899, which does the same for the Flow runtime modules instead of relying on an aggregate index artifact that indexes classes from other jars. The root POM configures jandex-maven-plugin in pluginManagement and a module opts in by declaring the plugin, the same way modules opt in to the bnd and pinned npm versions plugins. Integration test and TestBench modules do not declare it. Co-Authored-By: Claude Opus 5.5 --- CONVENTIONS.md | 2 ++ pom.xml | 18 ++++++++++++++++++ .../vaadin-accordion-flow/pom.xml | 4 ++++ .../vaadin-ai-core-flow/pom.xml | 4 ++++ .../vaadin-ai-extensions-flow/pom.xml | 4 ++++ .../vaadin-app-layout-flow/pom.xml | 4 ++++ .../vaadin-aura-theme-flow/pom.xml | 4 ++++ .../vaadin-avatar-flow/pom.xml | 4 ++++ .../vaadin-badge-flow/pom.xml | 4 ++++ .../vaadin-board-flow/pom.xml | 4 ++++ .../vaadin-breadcrumbs-flow/pom.xml | 4 ++++ .../vaadin-button-flow/pom.xml | 4 ++++ .../vaadin-card-flow/pom.xml | 4 ++++ .../vaadin-charts-flow/pom.xml | 4 ++++ .../vaadin-checkbox-flow/pom.xml | 4 ++++ .../vaadin-combo-box-flow/pom.xml | 4 ++++ .../vaadin-confirm-dialog-flow/pom.xml | 4 ++++ .../vaadin-context-menu-flow/pom.xml | 4 ++++ .../vaadin-crud-flow/pom.xml | 4 ++++ .../vaadin-custom-field-flow/pom.xml | 4 ++++ .../vaadin-dashboard-flow/pom.xml | 4 ++++ .../vaadin-date-picker-flow/pom.xml | 4 ++++ .../vaadin-date-time-picker-flow/pom.xml | 4 ++++ .../vaadin-details-flow/pom.xml | 4 ++++ .../vaadin-dialog-flow/pom.xml | 4 ++++ .../vaadin-field-highlighter-flow/pom.xml | 4 ++++ .../vaadin-flow-components-base/pom.xml | 4 ++++ .../vaadin-form-layout-flow/pom.xml | 4 ++++ .../vaadin-grid-flow/pom.xml | 4 ++++ .../vaadin-grid-pro-flow/pom.xml | 4 ++++ .../vaadin-icons-flow/pom.xml | 4 ++++ .../vaadin-list-box-flow/pom.xml | 4 ++++ .../vaadin-login-flow/pom.xml | 4 ++++ .../vaadin-lumo-theme-flow/pom.xml | 4 ++++ vaadin-map-flow-parent/vaadin-map-flow/pom.xml | 4 ++++ .../vaadin-markdown-flow/pom.xml | 4 ++++ .../vaadin-master-detail-layout-flow/pom.xml | 4 ++++ .../vaadin-menu-bar-flow/pom.xml | 4 ++++ .../vaadin-messages-flow/pom.xml | 4 ++++ .../vaadin-notification-flow/pom.xml | 4 ++++ .../vaadin-ordered-layout-flow/pom.xml | 4 ++++ .../vaadin-popover-flow/pom.xml | 4 ++++ .../vaadin-progress-bar-flow/pom.xml | 4 ++++ .../vaadin-radio-button-flow/pom.xml | 4 ++++ .../vaadin-renderer-flow/pom.xml | 4 ++++ .../vaadin-rich-text-editor-flow/pom.xml | 4 ++++ .../vaadin-select-flow/pom.xml | 4 ++++ .../vaadin-side-nav-flow/pom.xml | 4 ++++ .../vaadin-slider-flow/pom.xml | 4 ++++ .../vaadin-split-layout-flow/pom.xml | 4 ++++ .../vaadin-spreadsheet-flow/pom.xml | 4 ++++ .../vaadin-tabs-flow/pom.xml | 4 ++++ .../vaadin-text-field-flow/pom.xml | 4 ++++ .../vaadin-time-picker-flow/pom.xml | 4 ++++ .../vaadin-upload-flow/pom.xml | 4 ++++ .../vaadin-virtual-list-flow/pom.xml | 4 ++++ 56 files changed, 236 insertions(+) diff --git a/CONVENTIONS.md b/CONVENTIONS.md index 5b28ae5c8c2..fbfb82639d2 100644 --- a/CONVENTIONS.md +++ b/CONVENTIONS.md @@ -144,6 +144,8 @@ When adding new published Maven modules to the project (a `-flow` or `-testbench A module declaring `@NpmPackage` annotations pins the npm versions of those packages in its own jar. To do so, declare `org.codehaus.mojo:exec-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates `META-INF/VAADIN/versions/-versions.json` from the annotations. +Every published component module ships a Jandex index of its own classes in `META-INF/jandex.idx`, which is where the Vaadin Quarkus extension reads it from. To do so, declare `io.smallrye:jandex-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates the index. Integration test and TestBench modules do not declare it. + Every published component module declares a dependency on `vaadin-flow-components-base`, even when it uses none of its classes. That jar pins the npm versions of the base packages the web components share. Keep POM dependencies minimal, only add what is really needed by the respective module. Do not simply copy dependencies from existing modules or add the whole range of Flow framework dependencies. diff --git a/pom.xml b/pom.xml index d93ad0b1741..f07666dd8b9 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,7 @@ 3.5.6 3.5.0 3.6.4 + 3.6.0 3.10.2 14.1.0 3.6.0 @@ -577,6 +578,23 @@ + + + io.smallrye + jandex-maven-plugin + ${jandex.plugin.version} + + + make-index + + jandex + + + + diff --git a/vaadin-accordion-flow-parent/vaadin-accordion-flow/pom.xml b/vaadin-accordion-flow-parent/vaadin-accordion-flow/pom.xml index d77250ad68f..2ecd583f33e 100644 --- a/vaadin-accordion-flow-parent/vaadin-accordion-flow/pom.xml +++ b/vaadin-accordion-flow-parent/vaadin-accordion-flow/pom.xml @@ -76,6 +76,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-ai-components-flow-parent/vaadin-ai-core-flow/pom.xml b/vaadin-ai-components-flow-parent/vaadin-ai-core-flow/pom.xml index 42467528f49..236b77780d0 100644 --- a/vaadin-ai-components-flow-parent/vaadin-ai-core-flow/pom.xml +++ b/vaadin-ai-components-flow-parent/vaadin-ai-core-flow/pom.xml @@ -92,6 +92,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-ai-components-flow-parent/vaadin-ai-extensions-flow/pom.xml b/vaadin-ai-components-flow-parent/vaadin-ai-extensions-flow/pom.xml index 94d6924ff83..d1ea868fd73 100644 --- a/vaadin-ai-components-flow-parent/vaadin-ai-extensions-flow/pom.xml +++ b/vaadin-ai-components-flow-parent/vaadin-ai-extensions-flow/pom.xml @@ -92,6 +92,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-app-layout-flow-parent/vaadin-app-layout-flow/pom.xml b/vaadin-app-layout-flow-parent/vaadin-app-layout-flow/pom.xml index 6d86d226a18..53f04cccd25 100644 --- a/vaadin-app-layout-flow-parent/vaadin-app-layout-flow/pom.xml +++ b/vaadin-app-layout-flow-parent/vaadin-app-layout-flow/pom.xml @@ -82,6 +82,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-aura-theme-flow-parent/vaadin-aura-theme-flow/pom.xml b/vaadin-aura-theme-flow-parent/vaadin-aura-theme-flow/pom.xml index 17e1fd224ca..1f47a394da8 100644 --- a/vaadin-aura-theme-flow-parent/vaadin-aura-theme-flow/pom.xml +++ b/vaadin-aura-theme-flow-parent/vaadin-aura-theme-flow/pom.xml @@ -52,6 +52,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-avatar-flow-parent/vaadin-avatar-flow/pom.xml b/vaadin-avatar-flow-parent/vaadin-avatar-flow/pom.xml index 250c4e7bd96..1837f59b2f0 100644 --- a/vaadin-avatar-flow-parent/vaadin-avatar-flow/pom.xml +++ b/vaadin-avatar-flow-parent/vaadin-avatar-flow/pom.xml @@ -53,6 +53,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-badge-flow-parent/vaadin-badge-flow/pom.xml b/vaadin-badge-flow-parent/vaadin-badge-flow/pom.xml index d864998fc7e..498349d0198 100644 --- a/vaadin-badge-flow-parent/vaadin-badge-flow/pom.xml +++ b/vaadin-badge-flow-parent/vaadin-badge-flow/pom.xml @@ -53,6 +53,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-board-flow-parent/vaadin-board-flow/pom.xml b/vaadin-board-flow-parent/vaadin-board-flow/pom.xml index bc188b2090f..72e0bcb6430 100644 --- a/vaadin-board-flow-parent/vaadin-board-flow/pom.xml +++ b/vaadin-board-flow-parent/vaadin-board-flow/pom.xml @@ -67,6 +67,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/pom.xml b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/pom.xml index 2de893a1e34..f9ae4c8aea8 100644 --- a/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/pom.xml +++ b/vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/pom.xml @@ -57,6 +57,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-button-flow-parent/vaadin-button-flow/pom.xml b/vaadin-button-flow-parent/vaadin-button-flow/pom.xml index cb763eb8c1d..e0af47b0fc8 100644 --- a/vaadin-button-flow-parent/vaadin-button-flow/pom.xml +++ b/vaadin-button-flow-parent/vaadin-button-flow/pom.xml @@ -77,6 +77,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-card-flow-parent/vaadin-card-flow/pom.xml b/vaadin-card-flow-parent/vaadin-card-flow/pom.xml index bcc38ae8165..2b3c3247f3a 100644 --- a/vaadin-card-flow-parent/vaadin-card-flow/pom.xml +++ b/vaadin-card-flow-parent/vaadin-card-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-charts-flow-parent/vaadin-charts-flow/pom.xml b/vaadin-charts-flow-parent/vaadin-charts-flow/pom.xml index 6cce11abbaa..9d20e79b74a 100644 --- a/vaadin-charts-flow-parent/vaadin-charts-flow/pom.xml +++ b/vaadin-charts-flow-parent/vaadin-charts-flow/pom.xml @@ -67,6 +67,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-checkbox-flow-parent/vaadin-checkbox-flow/pom.xml b/vaadin-checkbox-flow-parent/vaadin-checkbox-flow/pom.xml index 0bd6d8ae50f..d6215be4cec 100644 --- a/vaadin-checkbox-flow-parent/vaadin-checkbox-flow/pom.xml +++ b/vaadin-checkbox-flow-parent/vaadin-checkbox-flow/pom.xml @@ -86,6 +86,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-combo-box-flow-parent/vaadin-combo-box-flow/pom.xml b/vaadin-combo-box-flow-parent/vaadin-combo-box-flow/pom.xml index 6d101f47755..a919b378e9e 100644 --- a/vaadin-combo-box-flow-parent/vaadin-combo-box-flow/pom.xml +++ b/vaadin-combo-box-flow-parent/vaadin-combo-box-flow/pom.xml @@ -84,6 +84,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-confirm-dialog-flow-parent/vaadin-confirm-dialog-flow/pom.xml b/vaadin-confirm-dialog-flow-parent/vaadin-confirm-dialog-flow/pom.xml index a6d8199efac..9913895ebaf 100644 --- a/vaadin-confirm-dialog-flow-parent/vaadin-confirm-dialog-flow/pom.xml +++ b/vaadin-confirm-dialog-flow-parent/vaadin-confirm-dialog-flow/pom.xml @@ -70,6 +70,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-context-menu-flow-parent/vaadin-context-menu-flow/pom.xml b/vaadin-context-menu-flow-parent/vaadin-context-menu-flow/pom.xml index 9e2b4ded762..b6d09345f22 100644 --- a/vaadin-context-menu-flow-parent/vaadin-context-menu-flow/pom.xml +++ b/vaadin-context-menu-flow-parent/vaadin-context-menu-flow/pom.xml @@ -70,6 +70,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-crud-flow-parent/vaadin-crud-flow/pom.xml b/vaadin-crud-flow-parent/vaadin-crud-flow/pom.xml index 180c4800308..bdc2fb1e198 100644 --- a/vaadin-crud-flow-parent/vaadin-crud-flow/pom.xml +++ b/vaadin-crud-flow-parent/vaadin-crud-flow/pom.xml @@ -93,6 +93,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-custom-field-flow-parent/vaadin-custom-field-flow/pom.xml b/vaadin-custom-field-flow-parent/vaadin-custom-field-flow/pom.xml index 17e02111e87..5511aeef8fa 100644 --- a/vaadin-custom-field-flow-parent/vaadin-custom-field-flow/pom.xml +++ b/vaadin-custom-field-flow-parent/vaadin-custom-field-flow/pom.xml @@ -66,6 +66,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-dashboard-flow-parent/vaadin-dashboard-flow/pom.xml b/vaadin-dashboard-flow-parent/vaadin-dashboard-flow/pom.xml index 6a7734608c9..fa97c97f8c4 100644 --- a/vaadin-dashboard-flow-parent/vaadin-dashboard-flow/pom.xml +++ b/vaadin-dashboard-flow-parent/vaadin-dashboard-flow/pom.xml @@ -76,6 +76,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-date-picker-flow-parent/vaadin-date-picker-flow/pom.xml b/vaadin-date-picker-flow-parent/vaadin-date-picker-flow/pom.xml index 0015fb3a42f..2a769394268 100644 --- a/vaadin-date-picker-flow-parent/vaadin-date-picker-flow/pom.xml +++ b/vaadin-date-picker-flow-parent/vaadin-date-picker-flow/pom.xml @@ -77,6 +77,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-date-time-picker-flow-parent/vaadin-date-time-picker-flow/pom.xml b/vaadin-date-time-picker-flow-parent/vaadin-date-time-picker-flow/pom.xml index f91248cfee7..4dd9245564b 100644 --- a/vaadin-date-time-picker-flow-parent/vaadin-date-time-picker-flow/pom.xml +++ b/vaadin-date-time-picker-flow-parent/vaadin-date-time-picker-flow/pom.xml @@ -87,6 +87,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-details-flow-parent/vaadin-details-flow/pom.xml b/vaadin-details-flow-parent/vaadin-details-flow/pom.xml index edec6495852..67e4e9074d7 100644 --- a/vaadin-details-flow-parent/vaadin-details-flow/pom.xml +++ b/vaadin-details-flow-parent/vaadin-details-flow/pom.xml @@ -66,6 +66,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-dialog-flow-parent/vaadin-dialog-flow/pom.xml b/vaadin-dialog-flow-parent/vaadin-dialog-flow/pom.xml index 8f09137dc8a..1c04bcc3442 100644 --- a/vaadin-dialog-flow-parent/vaadin-dialog-flow/pom.xml +++ b/vaadin-dialog-flow-parent/vaadin-dialog-flow/pom.xml @@ -86,6 +86,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-field-highlighter-flow-parent/vaadin-field-highlighter-flow/pom.xml b/vaadin-field-highlighter-flow-parent/vaadin-field-highlighter-flow/pom.xml index c02edbc7d49..c823c2ebd64 100644 --- a/vaadin-field-highlighter-flow-parent/vaadin-field-highlighter-flow/pom.xml +++ b/vaadin-field-highlighter-flow-parent/vaadin-field-highlighter-flow/pom.xml @@ -33,6 +33,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-flow-components-shared-parent/vaadin-flow-components-base/pom.xml b/vaadin-flow-components-shared-parent/vaadin-flow-components-base/pom.xml index a11bc3dbaf0..5fd3b717316 100644 --- a/vaadin-flow-components-shared-parent/vaadin-flow-components-base/pom.xml +++ b/vaadin-flow-components-shared-parent/vaadin-flow-components-base/pom.xml @@ -53,6 +53,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-form-layout-flow-parent/vaadin-form-layout-flow/pom.xml b/vaadin-form-layout-flow-parent/vaadin-form-layout-flow/pom.xml index 115f9b5e1a9..9e07f49cfdf 100644 --- a/vaadin-form-layout-flow-parent/vaadin-form-layout-flow/pom.xml +++ b/vaadin-form-layout-flow-parent/vaadin-form-layout-flow/pom.xml @@ -60,6 +60,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-grid-flow-parent/vaadin-grid-flow/pom.xml b/vaadin-grid-flow-parent/vaadin-grid-flow/pom.xml index ca410273219..d0d00798d0c 100644 --- a/vaadin-grid-flow-parent/vaadin-grid-flow/pom.xml +++ b/vaadin-grid-flow-parent/vaadin-grid-flow/pom.xml @@ -114,6 +114,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-grid-pro-flow-parent/vaadin-grid-pro-flow/pom.xml b/vaadin-grid-pro-flow-parent/vaadin-grid-pro-flow/pom.xml index 107f92d5dc7..3158426389b 100644 --- a/vaadin-grid-pro-flow-parent/vaadin-grid-pro-flow/pom.xml +++ b/vaadin-grid-pro-flow-parent/vaadin-grid-pro-flow/pom.xml @@ -89,6 +89,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-icons-flow-parent/vaadin-icons-flow/pom.xml b/vaadin-icons-flow-parent/vaadin-icons-flow/pom.xml index de2c7ba5ff2..3f8ba8fffa8 100644 --- a/vaadin-icons-flow-parent/vaadin-icons-flow/pom.xml +++ b/vaadin-icons-flow-parent/vaadin-icons-flow/pom.xml @@ -63,6 +63,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-list-box-flow-parent/vaadin-list-box-flow/pom.xml b/vaadin-list-box-flow-parent/vaadin-list-box-flow/pom.xml index c0a9693ab43..3ecb9e6fa98 100644 --- a/vaadin-list-box-flow-parent/vaadin-list-box-flow/pom.xml +++ b/vaadin-list-box-flow-parent/vaadin-list-box-flow/pom.xml @@ -76,6 +76,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-login-flow-parent/vaadin-login-flow/pom.xml b/vaadin-login-flow-parent/vaadin-login-flow/pom.xml index 99932ef2b88..03dbaae9cf3 100644 --- a/vaadin-login-flow-parent/vaadin-login-flow/pom.xml +++ b/vaadin-login-flow-parent/vaadin-login-flow/pom.xml @@ -66,6 +66,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-lumo-theme-flow-parent/vaadin-lumo-theme-flow/pom.xml b/vaadin-lumo-theme-flow-parent/vaadin-lumo-theme-flow/pom.xml index 823df66eccc..7de435a2444 100644 --- a/vaadin-lumo-theme-flow-parent/vaadin-lumo-theme-flow/pom.xml +++ b/vaadin-lumo-theme-flow-parent/vaadin-lumo-theme-flow/pom.xml @@ -60,6 +60,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-map-flow-parent/vaadin-map-flow/pom.xml b/vaadin-map-flow-parent/vaadin-map-flow/pom.xml index 33167f82695..f121902c461 100644 --- a/vaadin-map-flow-parent/vaadin-map-flow/pom.xml +++ b/vaadin-map-flow-parent/vaadin-map-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-markdown-flow-parent/vaadin-markdown-flow/pom.xml b/vaadin-markdown-flow-parent/vaadin-markdown-flow/pom.xml index aad5bd5a816..ec08f064c12 100644 --- a/vaadin-markdown-flow-parent/vaadin-markdown-flow/pom.xml +++ b/vaadin-markdown-flow-parent/vaadin-markdown-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-master-detail-layout-flow-parent/vaadin-master-detail-layout-flow/pom.xml b/vaadin-master-detail-layout-flow-parent/vaadin-master-detail-layout-flow/pom.xml index dc861d5ef33..a072f40be0f 100644 --- a/vaadin-master-detail-layout-flow-parent/vaadin-master-detail-layout-flow/pom.xml +++ b/vaadin-master-detail-layout-flow-parent/vaadin-master-detail-layout-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-menu-bar-flow-parent/vaadin-menu-bar-flow/pom.xml b/vaadin-menu-bar-flow-parent/vaadin-menu-bar-flow/pom.xml index 92057151897..b17b47a8a2c 100644 --- a/vaadin-menu-bar-flow-parent/vaadin-menu-bar-flow/pom.xml +++ b/vaadin-menu-bar-flow-parent/vaadin-menu-bar-flow/pom.xml @@ -62,6 +62,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-messages-flow-parent/vaadin-messages-flow/pom.xml b/vaadin-messages-flow-parent/vaadin-messages-flow/pom.xml index 0a40cc0b5fa..f3a7b7ec845 100644 --- a/vaadin-messages-flow-parent/vaadin-messages-flow/pom.xml +++ b/vaadin-messages-flow-parent/vaadin-messages-flow/pom.xml @@ -72,6 +72,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-notification-flow-parent/vaadin-notification-flow/pom.xml b/vaadin-notification-flow-parent/vaadin-notification-flow/pom.xml index 1f8b29795d5..67ee119c153 100644 --- a/vaadin-notification-flow-parent/vaadin-notification-flow/pom.xml +++ b/vaadin-notification-flow-parent/vaadin-notification-flow/pom.xml @@ -82,6 +82,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-ordered-layout-flow-parent/vaadin-ordered-layout-flow/pom.xml b/vaadin-ordered-layout-flow-parent/vaadin-ordered-layout-flow/pom.xml index 17eb408b7c3..22976d05703 100644 --- a/vaadin-ordered-layout-flow-parent/vaadin-ordered-layout-flow/pom.xml +++ b/vaadin-ordered-layout-flow-parent/vaadin-ordered-layout-flow/pom.xml @@ -63,6 +63,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-popover-flow-parent/vaadin-popover-flow/pom.xml b/vaadin-popover-flow-parent/vaadin-popover-flow/pom.xml index 0f9b803d199..c8a0812a8aa 100644 --- a/vaadin-popover-flow-parent/vaadin-popover-flow/pom.xml +++ b/vaadin-popover-flow-parent/vaadin-popover-flow/pom.xml @@ -76,6 +76,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-progress-bar-flow-parent/vaadin-progress-bar-flow/pom.xml b/vaadin-progress-bar-flow-parent/vaadin-progress-bar-flow/pom.xml index 329c6dc6a3a..0121f6e4aae 100644 --- a/vaadin-progress-bar-flow-parent/vaadin-progress-bar-flow/pom.xml +++ b/vaadin-progress-bar-flow-parent/vaadin-progress-bar-flow/pom.xml @@ -58,6 +58,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-radio-button-flow-parent/vaadin-radio-button-flow/pom.xml b/vaadin-radio-button-flow-parent/vaadin-radio-button-flow/pom.xml index c51fa3277e7..16433d1dd3c 100644 --- a/vaadin-radio-button-flow-parent/vaadin-radio-button-flow/pom.xml +++ b/vaadin-radio-button-flow-parent/vaadin-radio-button-flow/pom.xml @@ -81,6 +81,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-renderer-flow-parent/vaadin-renderer-flow/pom.xml b/vaadin-renderer-flow-parent/vaadin-renderer-flow/pom.xml index 5238af1c450..b44606c37c2 100644 --- a/vaadin-renderer-flow-parent/vaadin-renderer-flow/pom.xml +++ b/vaadin-renderer-flow-parent/vaadin-renderer-flow/pom.xml @@ -61,6 +61,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-rich-text-editor-flow-parent/vaadin-rich-text-editor-flow/pom.xml b/vaadin-rich-text-editor-flow-parent/vaadin-rich-text-editor-flow/pom.xml index a9c727ad48d..6e5ba880733 100644 --- a/vaadin-rich-text-editor-flow-parent/vaadin-rich-text-editor-flow/pom.xml +++ b/vaadin-rich-text-editor-flow-parent/vaadin-rich-text-editor-flow/pom.xml @@ -72,6 +72,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-select-flow-parent/vaadin-select-flow/pom.xml b/vaadin-select-flow-parent/vaadin-select-flow/pom.xml index 32c7edef445..8aecda2dc9c 100644 --- a/vaadin-select-flow-parent/vaadin-select-flow/pom.xml +++ b/vaadin-select-flow-parent/vaadin-select-flow/pom.xml @@ -76,6 +76,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-side-nav-flow-parent/vaadin-side-nav-flow/pom.xml b/vaadin-side-nav-flow-parent/vaadin-side-nav-flow/pom.xml index 14b1470ccc9..c6c80deaf37 100644 --- a/vaadin-side-nav-flow-parent/vaadin-side-nav-flow/pom.xml +++ b/vaadin-side-nav-flow-parent/vaadin-side-nav-flow/pom.xml @@ -57,6 +57,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-slider-flow-parent/vaadin-slider-flow/pom.xml b/vaadin-slider-flow-parent/vaadin-slider-flow/pom.xml index ea35cec603f..ef8ef8d2926 100644 --- a/vaadin-slider-flow-parent/vaadin-slider-flow/pom.xml +++ b/vaadin-slider-flow-parent/vaadin-slider-flow/pom.xml @@ -61,6 +61,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-split-layout-flow-parent/vaadin-split-layout-flow/pom.xml b/vaadin-split-layout-flow-parent/vaadin-split-layout-flow/pom.xml index 995505a6950..51bac33c663 100644 --- a/vaadin-split-layout-flow-parent/vaadin-split-layout-flow/pom.xml +++ b/vaadin-split-layout-flow-parent/vaadin-split-layout-flow/pom.xml @@ -58,6 +58,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-spreadsheet-flow-parent/vaadin-spreadsheet-flow/pom.xml b/vaadin-spreadsheet-flow-parent/vaadin-spreadsheet-flow/pom.xml index 0004953b2a5..cff21cbb634 100644 --- a/vaadin-spreadsheet-flow-parent/vaadin-spreadsheet-flow/pom.xml +++ b/vaadin-spreadsheet-flow-parent/vaadin-spreadsheet-flow/pom.xml @@ -142,6 +142,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-tabs-flow-parent/vaadin-tabs-flow/pom.xml b/vaadin-tabs-flow-parent/vaadin-tabs-flow/pom.xml index 63eefd74c3c..ddae49935dd 100644 --- a/vaadin-tabs-flow-parent/vaadin-tabs-flow/pom.xml +++ b/vaadin-tabs-flow-parent/vaadin-tabs-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-text-field-flow-parent/vaadin-text-field-flow/pom.xml b/vaadin-text-field-flow-parent/vaadin-text-field-flow/pom.xml index 56f150ba5bb..a8016a26249 100644 --- a/vaadin-text-field-flow-parent/vaadin-text-field-flow/pom.xml +++ b/vaadin-text-field-flow-parent/vaadin-text-field-flow/pom.xml @@ -71,6 +71,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-time-picker-flow-parent/vaadin-time-picker-flow/pom.xml b/vaadin-time-picker-flow-parent/vaadin-time-picker-flow/pom.xml index 804f6724677..5745ea3e948 100644 --- a/vaadin-time-picker-flow-parent/vaadin-time-picker-flow/pom.xml +++ b/vaadin-time-picker-flow-parent/vaadin-time-picker-flow/pom.xml @@ -82,6 +82,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-upload-flow-parent/vaadin-upload-flow/pom.xml b/vaadin-upload-flow-parent/vaadin-upload-flow/pom.xml index 6faba6c8521..5b0865a7071 100644 --- a/vaadin-upload-flow-parent/vaadin-upload-flow/pom.xml +++ b/vaadin-upload-flow-parent/vaadin-upload-flow/pom.xml @@ -87,6 +87,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin diff --git a/vaadin-virtual-list-flow-parent/vaadin-virtual-list-flow/pom.xml b/vaadin-virtual-list-flow-parent/vaadin-virtual-list-flow/pom.xml index db6b24ada73..e82fe451146 100644 --- a/vaadin-virtual-list-flow-parent/vaadin-virtual-list-flow/pom.xml +++ b/vaadin-virtual-list-flow-parent/vaadin-virtual-list-flow/pom.xml @@ -63,6 +63,10 @@ biz.aQute.bnd bnd-maven-plugin + + io.smallrye + jandex-maven-plugin + org.apache.maven.plugins maven-jar-plugin From 2f5d2365ca1febecb0766564b678f8f36f0070f2 Mon Sep 17 00:00:00 2001 From: "totally-not-ai[bot]" <290682512+totally-not-ai[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 09:40:36 +0000 Subject: [PATCH 2/3] chore: keep the Jandex plugin version in sync with Flow The component indexes are loaded alongside the Flow ones, so they must be written in the same index format. Document that the version has to match Flow's and stop Dependabot from bumping it on its own. Co-Authored-By: Claude Opus 5.5 --- .github/dependabot.yml | 3 +++ CONVENTIONS.md | 2 +- pom.xml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 76e22beb214..a9fefe18e7d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,3 +9,6 @@ updates: directory: "/" # Location of package manifests schedule: interval: "daily" + ignore: + # Kept in sync with the version used by Flow, bumped together with it + - dependency-name: "io.smallrye:jandex-maven-plugin" diff --git a/CONVENTIONS.md b/CONVENTIONS.md index fbfb82639d2..7c0304f0529 100644 --- a/CONVENTIONS.md +++ b/CONVENTIONS.md @@ -144,7 +144,7 @@ When adding new published Maven modules to the project (a `-flow` or `-testbench A module declaring `@NpmPackage` annotations pins the npm versions of those packages in its own jar. To do so, declare `org.codehaus.mojo:exec-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates `META-INF/VAADIN/versions/-versions.json` from the annotations. -Every published component module ships a Jandex index of its own classes in `META-INF/jandex.idx`, which is where the Vaadin Quarkus extension reads it from. To do so, declare `io.smallrye:jandex-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates the index. Integration test and TestBench modules do not declare it. +Every published component module ships a Jandex index of its own classes in `META-INF/jandex.idx`, which is where the Vaadin Quarkus extension reads it from. To do so, declare `io.smallrye:jandex-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates the index. Integration test and TestBench modules do not declare it. The plugin version must match the one Flow uses, so that all indexes an application loads share the same index format; bump it together with Flow, not on its own. Every published component module declares a dependency on `vaadin-flow-components-base`, even when it uses none of its classes. That jar pins the npm versions of the base packages the web components share. diff --git a/pom.xml b/pom.xml index f07666dd8b9..db82198cb71 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,8 @@ 3.5.6 3.5.0 3.6.4 + 3.6.0 3.10.2 14.1.0 From b352a5947e0064f5c2cf27ad7c3b0a8103070036 Mon Sep 17 00:00:00 2001 From: "totally-not-ai[bot]" <290682512+totally-not-ai[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 08:29:33 +0000 Subject: [PATCH 3/3] chore: document Flow as the owner of the Jandex plugin version Flow picks the jandex-maven-plugin version to match the Jandex version of the minimum supported Quarkus version. Make it explicit that this repository copies the value from the Flow root POM instead of choosing one of its own. Co-Authored-By: Claude Opus 5.5 --- .github/dependabot.yml | 2 +- CONVENTIONS.md | 2 +- pom.xml | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a9fefe18e7d..4ec8f354d82 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,5 +10,5 @@ updates: schedule: interval: "daily" ignore: - # Kept in sync with the version used by Flow, bumped together with it + # Owned by Flow, the version is copied from the Flow root POM - dependency-name: "io.smallrye:jandex-maven-plugin" diff --git a/CONVENTIONS.md b/CONVENTIONS.md index 7c0304f0529..030a65d7fa5 100644 --- a/CONVENTIONS.md +++ b/CONVENTIONS.md @@ -144,7 +144,7 @@ When adding new published Maven modules to the project (a `-flow` or `-testbench A module declaring `@NpmPackage` annotations pins the npm versions of those packages in its own jar. To do so, declare `org.codehaus.mojo:exec-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates `META-INF/VAADIN/versions/-versions.json` from the annotations. -Every published component module ships a Jandex index of its own classes in `META-INF/jandex.idx`, which is where the Vaadin Quarkus extension reads it from. To do so, declare `io.smallrye:jandex-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates the index. Integration test and TestBench modules do not declare it. The plugin version must match the one Flow uses, so that all indexes an application loads share the same index format; bump it together with Flow, not on its own. +Every published component module ships a Jandex index of its own classes in `META-INF/jandex.idx`, which is where the Vaadin Quarkus extension reads it from. To do so, declare `io.smallrye:jandex-maven-plugin` in its build, without any configuration of its own: the root POM configures the execution that generates the index. Integration test and TestBench modules do not declare it. The plugin version is owned by Flow, which picks it to match the Jandex version of the minimum Quarkus version Vaadin supports. The `jandex.plugin.version` property in the root POM copies the value from the Flow root POM, so that all indexes an application loads share the same index format. Do not change it independently of Flow. Every published component module declares a dependency on `vaadin-flow-components-base`, even when it uses none of its classes. That jar pins the npm versions of the base packages the web components share. diff --git a/pom.xml b/pom.xml index db82198cb71..74c98946fdc 100644 --- a/pom.xml +++ b/pom.xml @@ -88,8 +88,9 @@ 3.5.6 3.5.0 3.6.4 - + 3.6.0 3.10.2 14.1.0