Interface Tool


public sealed interface Tool
Tools are definitions of Java libraries (may or may not be executable) that are managed by Gradle using a ValueSource. This means that while the downloading and local caching of this file are done in house, the Gradle-specific caching and file tracking are done by Gradle. This enables the usage of downloading external files quickly without breaking caches.
  • Method Summary

    Modifier and Type
    Method
    Description
    default org.gradle.api.provider.Provider<File>
    get(org.gradle.api.file.Directory cachesDir, org.gradle.api.provider.ProviderFactory providers)
    Gets this tool and returns a provider for the downloaded/cached file.
    org.gradle.api.provider.Provider<File>
    get(org.gradle.api.provider.Provider<? extends org.gradle.api.file.Directory> cachesDir, org.gradle.api.provider.ProviderFactory providers)
    Gets this tool and returns a provider for the downloaded/cached file.
    int
    The Java version this tool was built with.
    The main class to use when executing this tool.
    The name for this tool.
    static Tool
    of(String name, String version, String downloadUrl, int javaVersion)
    Creates a new tool with the given information.
    static Tool
    of(String name, String version, String downloadUrl, int javaVersion, String mainClass)
    Creates a new tool with the given information.
  • Method Details

    • of

      static Tool of(String name, String version, String downloadUrl, int javaVersion, String mainClass)
      Creates a new tool with the given information.
      Parameters:
      name - The name for this tool (will be used in the file name)
      version - The version for this tool (will be used in the file name)
      downloadUrl - The download URL for this tool
      javaVersion - The Java version this tool was built with, or should run on
      mainClass - The main class to use when executing this tool
      Returns:
      The tool
    • of

      static Tool of(String name, String version, String downloadUrl, int javaVersion)
      Creates a new tool with the given information.
      Parameters:
      name - The name for this tool (will be used in the file name)
      version - The version for this tool (will be used in the file name)
      downloadUrl - The download URL for this tool
      javaVersion - The Java version this tool was built with, or should run on
      Returns:
      The tool
    • getName

      String getName()
      The name for this tool. Primarily used by ToolExecBase to create a default tool directory.
      Returns:
      The name of this tool
    • getJavaVersion

      int getJavaVersion()
      The Java version this tool was built with. Primarily used by ToolExecBase to determine the JavaLauncher.
      Returns:
      The Java version
    • getMainClass

      @Nullable @Nullable String getMainClass()
      The main class to use when executing this tool. Can be null, but does not necessarily mean that the tool is not executable.
      Returns:
      The main class, or null if unspecified
    • get

      org.gradle.api.provider.Provider<File> get(org.gradle.api.provider.Provider<? extends org.gradle.api.file.Directory> cachesDir, org.gradle.api.provider.ProviderFactory providers)
      Gets this tool and returns a provider for the downloaded/cached file.
      Parameters:
      cachesDir - The caches directory to store the downloaded tool in
      providers - The provider factory for creating the provider
      Returns:
      The provider to the tool file
    • get

      default org.gradle.api.provider.Provider<File> get(org.gradle.api.file.Directory cachesDir, org.gradle.api.provider.ProviderFactory providers)
      Gets this tool and returns a provider for the downloaded/cached file.
      Parameters:
      cachesDir - The caches directory to store the downloaded tool in
      providers - The provider factory for creating the provider
      Returns:
      The provider to the tool file