Class QuarkusConfigValueSource
- All Implemented Interfaces:
org.gradle.api.provider.ValueSource<Map<String,String>, io.quarkus.gradle.tasks.QuarkusConfigValueSource.Params>
ValueSource that builds the Quarkus configuration map in isolation from
Gradle's configuration cache input tracking.
Gradle instruments System.getProperties() to track all system property accesses as
configuration cache inputs. SmallRyeConfig internally accesses system properties when building
its config sources and iterating property names. By wrapping this work in a ValueSource,
the individual system property accesses are invisible to the configuration cache — Gradle only
tracks the final result map as a single opaque input.
The result is re-evaluated on every build. If the result changes (i.e., the effective configuration has changed), the configuration cache entry is invalidated. This provides correct invalidation behavior without false positives from unrelated system property changes.
The returned map is filtered to only include quarkus-relevant properties and a small set of
stable JVM properties needed for expression expansion. Volatile system properties (like
java.vm.version) are excluded to prevent spurious cache invalidation.