Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions articles/flow/configuration/licenses/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ mvn package -Dvaadin.commercialWithBanner
[source,terminal]
----
<source-info group="Gradle"></source-info>
./gradlew build -Pvaadin.productionBuild -Pvaadin.commercialWithBanner
./gradlew build -Pvaadin.productionMode -Pvaadin.commercialWithBanner
----
--

Expand Down Expand Up @@ -191,17 +191,25 @@ You can also give the license key by using the `vaadin.offlineKey` system proper
--
[source,terminal]
----
<source-info group="System property"></source-info>
<source-info group="Maven"></source-info>
mvn -Dvaadin.offlineKey=[contents of offlineKey file here] ...
----

[source,terminal]
----
<source-info group="Gradle"></source-info>
./gradlew build -Pvaadin.productionMode -Dvaadin.offlineKey=[contents of offlineKey file here] ...
----

[source,terminal]
----
<source-info group="Environment variable"></source-info>
VAADIN_OFFLINE_KEY=[contents of offlineKey file here] mvn ...
VAADIN_OFFLINE_KEY=[contents of offlineKey file here] ...
----
--

NOTE: If you are using Quarkus with Gradle, the `-D` system property may not be propagated to the build process. See <<{articles}/flow/integrations/quarkus#license-validation-in-quarkus-builds, License Validation in Quarkus Builds>> for details.

== Validation on Production Server

Applications built using the newer Vaadin Extended Maintenance releases will also check the license key when the application starts in production mode. If the license key is not found, or if the check fails due to an expired key, or if the key does not include Extended Maintenance access, an error will be logged. This is not a blocking license check, so the application will still start. When you provide a valid license key by using the `vaadin.offlineKey` system property or the `VAADIN_OFFLINE_KEY` environment variable, the error will not be logged.
Expand Down
32 changes: 32 additions & 0 deletions articles/flow/integrations/quarkus.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,38 @@ java -jar target/quarkus-app/quarkus-run.jar
The embedded plugin can be disabled by setting `vaadin.build.enabled=false`. If disabled, to run a production build, the project needs the configuration of Maven or Gradle Vaadin plugin. See <<{articles}/flow/production/production-build#, Production build>> for details about production build, and <<{articles}/flow/configuration/maven#, Maven>> and <<{articles}/flow/configuration/gradle#, Gradle>> Vaadin plugins documentation for configuration options.


=== License Validation in Quarkus Builds

If your project uses commercial Vaadin components, the License Checker needs access to the license key during the build. The license key can be provided as a file in the [filename]`.vaadin` directory, a system property, or an environment variable, as described in <<{articles}/flow/configuration/licenses#server-license-key, Validation on CI/CD or Build Server>>.

With Maven, passing the key as a `-D` system property works without additional configuration:

[source,terminal]
----
mvn package -Dvaadin.offlineKey=[contents of offlineKey file here]
----

The Quarkus Gradle plugin, however, runs the build in a forked process (process isolation), so JVM system properties passed via `-D` on the command line are not automatically visible to the License Checker. The file-based and environment variable approaches work without additional configuration, but if you want to pass the key as a system property, you need to forward it to the forked build process using `buildForkOptions` in your [filename]`build.gradle.kts`:

[source,kotlin]
----
quarkus {
buildForkOptions {
System.getProperty("vaadin.offlineKey")?.let { key ->
systemProperty("vaadin.offlineKey", key)
}
}
}
----

Then pass the key on the command line:

[source,terminal]
----
./gradlew build -Dvaadin.offlineKey=[contents of offlineKey file here]
----


[[quarkus.vaadin.livereload]]
== Live Reload

Expand Down
Loading