Skip to content

docs: update Hilla Gradle reference for Vaadin 25 (#6365) (CP: v25.3) - #6367

Merged
peholmst merged 1 commit into
v25.3from
cherry-pick-6365-to-v25.3-1791622073643
Oct 10, 2026
Merged

peholmst merged 1 commit into
v25.3from
cherry-pick-6365-to-v25.3-1791622073643

Conversation

@vaadin-bot

Copy link
Copy Markdown
Contributor

No description provided.

Follow-up to #6364, which updated the other Gradle pages for
Vaadin 25 and left this page out on purpose. Hilla docs are being
migrated, so this PR only corrects facts and doesn't restructure the
page.

## Fixes in `articles/hilla/reference/gradle.adoc`

**Version and build file fixes**

- **Requirements:** JDK 17 changed to **JDK 21 or later**, and Gradle
now says **8.14 or later**. Verified against
`articles/compatibility.adoc` and `GRADLE_MINIMUM_SUPPORTED_VERSION =
"8.14"` in vaadin/flow `FlowPlugin.kt`, which is the same on the `25.0`,
`25.3`, and `main` branches.
- **Node.js:** "Node 18" is replaced by "Node.js (optional)", plus a
sentence saying that the Vaadin Gradle plugin installs Node.js if it's
missing or too old, with a link to Supported Technologies. The page
doesn't give a Node.js version number because the minimum changes within
Vaadin 25: `FrontendTools` on Flow `25.3` requires 24.0, and on `main`
(25.4) it requires 26.4. This follows the wording #6364 uses
on the other Gradle pages.
- **Requirements tag:** nothing includes `tag::requirements[]`. Grepping
the repo for `tag=requirements` and `tags=requirements` finds nothing,
so changing the list affects only this page.
- **Starter ZIP:** the link now points to the `v25` branch instead of
`v24`. `gh api repos/vaadin/skeleton-starter-hilla-react-gradle/branches
--paginate` lists `v2`, `v24`, `v25`, and `main`. `v25` is the default
branch and is current (Vaadin 25.3.1), while `main` is stale (Hilla
2.1). The archive URL resolves (302 to codeload).
- **Build file examples** (the main one and the pre-release one):
`org.springframework.boot` changed from `3.0.6` to
`{spring-boot-version}`, and `io.spring.dependency-management` from
`1.1.0` to `1.1.7`. The page now includes `_vaadin-version.adoc`, the
same way `articles/flow/configuration/gradle.adoc` does. The v25
starter's `build.gradle` uses Spring Boot 4.1.0 and
dependency-management 1.1.7, and 1.1.7 is the latest release in Maven
Central's metadata for the plugin.
- **`vaadin-dev` exclusion removed:** the example no longer excludes
`vaadin-dev` from `vaadin-spring-boot-starter`. That dependency isn't
transitive in Vaadin 25: the 25.3.1 POMs of `vaadin-spring-boot-starter`
and `vaadin-core-internal` don't list it. This now matches the v25
starter's `build.gradle`.
- **`gradle.properties`:** "set the Hilla version" now says "set the
Vaadin version", and the example uses `vaadinVersion={vaadin-version}`
instead of a hard-coded `25.0.0`, as in #6364.
- **Project tree:** `gradle.build` changed to `build.gradle`.

**Hilla plugin fixes** (found while comparing the page with the plugin
source)

- **`exposedPackagesToParser` removed:** the `hilla {
exposedPackagesToParser = ... }` option and its note are gone.
`EngineProjectExtension`, which defined the `hilla` extension, was
removed from vaadin/hilla in 24.7, and the option doesn't exist on any
25.x branch. A build file using it would fail. In its place, a short
paragraph says that services in dependencies and other modules need no
build configuration, and links to the Multi-Module section of the Hilla
Configuration page and to the Explicit Discovery section on this page.
That Configuration section is where the Maven docs already cover this.
- **`hillaConfigure`:** removed the claim that the task writes
`build/hilla-engine-configuration.json`. In 25.x, `EngineConfigureTask`
only calls `EngineAutoConfiguration.setDefault(...)`. For the same
reason, the `hillaGenerate` description no longer says it "reads the
configuration file".
- **Plugin name:** "Hilla Gradle plugin" now says "Vaadin Gradle
plugin", and "Hilla pre-release versions" now says "Vaadin pre-release
versions". Users apply `com.vaadin`, which vaadin/platform builds from
the Hilla plugin sources together with `flow-gradle-plugin`.
- **Link to the plugin's other tasks:** the note about
`vaadinPrepareFrontend` and `vaadinBuildFrontend` now links to Gradle
Configuration Properties. The Getting Started page it linked to doesn't
describe those tasks.

## Verification

- `vale articles/hilla/reference/gradle.adoc`: 0 errors and 0 warnings.
Before this change, there was 1 error (`Gradle Plugin` in a block title)
and 2 warnings (`AOT` undefined), and this PR fixes them.
- Rendered the page locally with Asciidoctor. `{vaadin-version}` and
`{spring-boot-version}` resolve inside the `subs="normal"` blocks, and
the new xrefs resolve to `compatibility`, `flow/configuration/gradle`,
`configuration`, and `#_endpoint_discovery`.
- `articles/hilla/lit` is untouched. No page moves, so no redirect is
needed.

## Not changed

- The project tree still shows `themes/` and
`views/helloworld/HelloWorldView.tsx`, while the v25 starter uses
`views/@index.tsx` and `views/@layout.tsx` and has no `themes/` folder.
Updating it would also mean rewriting the Hilla Lit note under it, which
goes beyond correcting facts.
- The WAR packaging example uses `providedRuntime
'org.springframework.boot:spring-boot-starter-tomcat'`, while the Spring
Boot 4.1 docs now recommend `spring-boot-starter-tomcat-runtime`.
`articles/flow/configuration/gradle.adoc` has the same line, so both
should be changed together.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment

This PR has been deployed for preview.

URL: https://docs-preview-pr-6367.fly.dev

Changed pages

Added content is highlighted in green; removed content is marked in red on each page.

Base branch changes

Not marked in the preview: v25.3 is a maintenance branch, not a stacked pull request branch. Everything highlighted in the preview belongs to this PR.

Built from c42c4e9

@peholmst
peholmst merged commit c024f5a into v25.3 Oct 10, 2026
9 checks passed
@peholmst
peholmst deleted the cherry-pick-6365-to-v25.3-1791622073643 branch October 10, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants