Class QuarkusConfigValueSource

java.lang.Object
io.quarkus.gradle.tasks.QuarkusConfigValueSource
All Implemented Interfaces:
org.gradle.api.provider.ValueSource<Map<String,String>,io.quarkus.gradle.tasks.QuarkusConfigValueSource.Params>

public abstract class QuarkusConfigValueSource extends Object implements org.gradle.api.provider.ValueSource<Map<String,String>,io.quarkus.gradle.tasks.QuarkusConfigValueSource.Params>
A Gradle 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.

  • Constructor Details

    • QuarkusConfigValueSource

      public QuarkusConfigValueSource()
  • Method Details

    • obtain

      @Nullable public Map<String,String> obtain()
      Specified by:
      obtain in interface org.gradle.api.provider.ValueSource<Map<String,String>,io.quarkus.gradle.tasks.QuarkusConfigValueSource.Params>