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 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

      Provider<File> get(Provider<? extends Directory> cachesDir, 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 Provider<File> get(Directory cachesDir, 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