[BUILD-539] Make projects that use Vaadin get the version from BOMs Created: 20/Sep/21  Updated: 12/Oct/21  Resolved: 12/Oct/21

Status: Closed
Project: Build
Component/s: BOM
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Neutral
Reporter: Maxime Michel Assignee: Federico Grilli
Resolution: Won't Do Votes: 0
Labels: artt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Date of First Response:

 Description   

Ideally you update the bom and you're done, however in Vaadin's case not all module requiring the dependency are in sync with the latest bom (see e.g. BUILD-441). Still, I guess at least ui, widgetset, widgetset-pro and pages could just use the version in bom. So that the dependency bot can update Vaadin and test it like any other dependency. Also fgrilli says the various versions of Vaadin & maven-vaadin-plugin used to diverge, which is no longer relevant.


DEV NOTES:
Unfortunately there’s no way to import pluginManagement (nor properties) from a BOM the same way we import depMgmt from a BOM. Removing a project-specific vaadinVersion property and relying on the version set in BOM results in an error. For instance, in UI

[INFO] --- maven-enforcer-plugin:3.0.0-M1:enforce (enforce-basics) @ magnolia-ui-vaadin-common-widgets ---
[WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequirePluginVersions failed with message:
Some plugins are missing valid versions:(LATEST RELEASE SNAPSHOT are not allowed )
com.vaadin:vaadin-maven-plugin. 	The version currently in use is 21.0.2

Some input from Mika:
Anything pipelines could do? (script a stage to update local project config?)
or should we consider build-time vs. runtime concerns separately?

  • merge widgetset into webapp(s) so we don't have to maintain an extra vaadinVersion there, maybe merge both widgetsets together again for simplicity's sake
  • API compatibility checks in client (GWT) and server sources against latest managed Vaadin version (could still compile w/ an older one if no incompatibiliy surfaces)

 


Generated at Sun Feb 11 23:42:48 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.