Package org.gradle.buildconfiguration.tasks

# Class UpdateDaemonJvm

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.buildconfiguration.tasks.UpdateDaemonJvm

All Implemented Interfaces:
  `Comparable<Task>`, `org.gradle.api.internal.DynamicObjectAware`, `org.gradle.api.internal.TaskInternal`, `Named`, `ExtensionAware`, `Task`, `Configurable<Task>`

@DisableCachingByDefault(because="Not worth caching") @Incubating public abstract class UpdateDaemonJvm extends DefaultTask
Generates or updates the Gradle Daemon JVM criteria. This controls the version of the JVM required to run the Gradle Daemon.

Since:
  8.8

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.gradle.api.Named

  `Named.Namer`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ProblemId`
  `TASK_CONFIGURATION_PROBLEM_ID`
  The problem id for task configuration problems.

  ### Fields inherited from interface org.gradle.api.Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UpdateDaemonJvm(org.gradle.internal.buildconfiguration.tasks.DaemonJvmPropertiesModifier daemonJvmPropertiesModifier)`
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<String>`
  `getAvailableVendors()`
  Returns the supported JVM vendors.
  `abstract Property<JavaLanguageVersion>`
  `getLanguageVersion()`
  The version of the JVM required to run the Gradle Daemon.
  `abstract Property<Boolean>`
  `getNativeImageCapable()`
  Indicates it the native-image capability is required.
  `abstract RegularFileProperty`
  `getPropertiesFile()`
  The file to write the requested daemon JVM criteria to.
  `abstract MapProperty<BuildPlatform,URI>`
  `getToolchainDownloadUrls()`
  The download URLs for the toolchains for the given platforms.
  `abstract SetProperty<BuildPlatform>`
  `getToolchainPlatforms()`
  The set of `BuildPlatform` for which download links should be generated.
  `abstract Property<JvmVendorSpec>`
  `getVendor()`
  Configures the vendor spec for the daemon toolchain properties generation.

  ### Methods inherited from class org.gradle.api.DefaultTask

  `compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

  ### Methods inherited from class org.gradle.api.internal.AbstractTask

  `acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.gradle.api.Task

  `doNotTrackState, notCompatibleWithConfigurationCache`

- ## Field Details

  - ### TASK_CONFIGURATION_PROBLEM_ID

    public static final ProblemId TASK_CONFIGURATION_PROBLEM_ID
    The problem id for task configuration problems.
    Since:
      8.13

- ## Constructor Details

  - ### UpdateDaemonJvm

    @Inject public UpdateDaemonJvm(org.gradle.internal.buildconfiguration.tasks.DaemonJvmPropertiesModifier daemonJvmPropertiesModifier)
    Constructor.
    Since:
      8.8

- ## Method Details

  - ### getPropertiesFile

    @OutputFile @Incubating public abstract RegularFileProperty getPropertiesFile()
    The file to write the requested daemon JVM criteria to. "gradle/gradle-daemon-jvm.properties"
    Since:
      8.8

  - ### getLanguageVersion

    @Input @Optional @Incubating public abstract Property<JavaLanguageVersion> getLanguageVersion()
    The version of the JVM required to run the Gradle Daemon.

    By convention, for the task created on the root project, Gradle will use the JVM version of the current JVM.

    Since:
      8.13

  - ### getVendor

    @Input @Optional @Incubating public abstract Property<JvmVendorSpec> getVendor()
    Configures the vendor spec for the daemon toolchain properties generation.
    Since:
      8.13

  - ### getAvailableVendors

    public List<String> getAvailableVendors()
    Returns the supported JVM vendors.
    Returns:
      supported JVM vendors
    Since:
      8.10

  - ### getNativeImageCapable

    @Input @Optional @Incubating public abstract Property<Boolean> getNativeImageCapable()
    Indicates it the native-image capability is required.
    Since:
      8.14

  - ### getToolchainPlatforms

    @Internal @Incubating public abstract SetProperty<BuildPlatform> getToolchainPlatforms()
    The set of `BuildPlatform` for which download links should be generated.

    By convention, for the task created on the root project, Gradle sources those from the combination of all supported `OperatingSystem` and the following architectures: `Architecture.X86_64` and `Architecture.AARCH64`.

    Since:
      8.13

  - ### getToolchainDownloadUrls

    @Input @Incubating public abstract MapProperty<BuildPlatform,URI> getToolchainDownloadUrls()
    The download URLs for the toolchains for the given platforms.

    By convention, for the task created on the root project, Gradle will combine the `build platforms`, `JVM version` and `getVendor()` to resolve download URLs using the configured `Java toolchain repositories`.

    If the convention applies and no toolchain repositories are defined, an exception will be thrown.

    Since:
      8.13