Package: groovy.grape

## [Java] Class Grape

- groovy.grape.Grape

-     public class Grape
      extends Object

  Facade to GrapeEngine.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static String` | `AUTO_DOWNLOAD_SETTING` | Argument key for the auto-download setting.
    `static String` | `DISABLE_CHECKSUMS_SETTING` | Argument key for the disable-checksums setting.
    `static String` | `INSECURE_PROTOCOL_POLICY_SYSTEM_PROPERTY` | System property selecting what happens when a resolver root uses a plaintext protocol: `fail` to reject the resolver, `warn` (the default) to log a warning and add it anyway, or `ignore` to skip the check.
    `static String` | `SYSTEM_PROPERTIES_SETTING` | Argument key for additional system properties.
    `protected static GrapeEngine` | `instance` | Lazily created grape engine instance.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static void` | `addResolver(Map<String, Object> args)` Adds a resolver to the shared grape engine.
    `` | `public static Map<String, Map<String, List<String>>>` | `enumerateGrapes()` Enumerates locally available grapes.
    `` | `public static boolean` | `getDisableChecksums()` Global flag to ignore checksums.
    `` | `public static boolean` | `getEnableAutoDownload()` This is a static access auto download enabler.
    `` | `public static boolean` | `getEnableGrapes()` This is a static access kill-switch.
    `` | `public static GrapeEngine` | `getInstance()` Returns the shared grape engine instance.
    `` | `public static void` | `grab(String endorsed)` Grabs a dependency expressed as a single string.
    `` | `public static void` | `grab(Map<String, Object> dependency)` Grabs a single dependency.
    `` | `public static void` | `grab(Map<String, Object> args, Map dependencies)` Grabs one or more dependencies using the supplied arguments.
    `` | `public static Map[]` | `listDependencies(ClassLoader cl)` Lists dependencies associated with the supplied class loader.
    `` | `public static URI[]` | `resolve(Map<String, Object> args, Map dependencies)` Resolves dependency coordinates to URIs.
    `` | `public static URI[]` | `resolve(Map<String, Object> args, List depsInfo, Map dependencies)` Resolves dependency coordinates to URIs while optionally collecting dependency information.
    `` | `public static void` | `setDisableChecksums(boolean disableChecksums)` Set global flag to ignore checksums.
    `` | `public static void` | `setEnableAutoDownload(boolean enableAutoDownload)` This is a static access auto download enabler.
    `` | `public static void` | `setEnableGrapes(boolean enableGrapes)` This is a static access kill-switch.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### public static final String AUTO_DOWNLOAD_SETTING

      Argument key for the auto-download setting.

    - #### public static final String DISABLE_CHECKSUMS_SETTING

      Argument key for the disable-checksums setting.

    - #### public static final String INSECURE_PROTOCOL_POLICY_SYSTEM_PROPERTY

      System property selecting what happens when a resolver root uses a plaintext protocol: `fail` to reject the resolver, `warn` (the default) to log a warning and add it anyway, or `ignore` to skip the check. An unrecognised value is treated as `warn`. Values mirror Maven's checksum-policy vocabulary.

    - #### public static final String SYSTEM_PROPERTIES_SETTING

      Argument key for additional system properties.

    - #### protected static GrapeEngine instance

      Lazily created grape engine instance.

  - ### Method Detail

    - #### public static void addResolver(Map<String, Object> args)

      Adds a resolver to the shared grape engine.

      A resolver root using a plaintext protocol is subject to {@value #INSECURE_PROTOCOL_POLICY_SYSTEM_PROPERTY}: `warn` (the default) logs a warning and adds the resolver, `fail` rejects it, and `ignore` skips the check. Roots naming a loopback host are exempt under every policy.

      throws:
        RuntimeException under the `fail` policy, if the root is a plaintext remote root
      Parameters:
        `args` - the resolver descriptor

    - #### public static Map<String, Map<String, List<String>>> enumerateGrapes()

      Enumerates locally available grapes.

      Returns:
        grapes grouped by organization and module

    - #### public static boolean getDisableChecksums()

      Global flag to ignore checksums. By default, it is set to false.

    - #### public static boolean getEnableAutoDownload()

      This is a static access auto download enabler. It will set the 'autoDownload' value to the passed in arguments map if not already set. If 'autoDownload' is set the value will not be adjusted.

      This applies to the grab and resolve calls.

      If it is set to false, only previously downloaded grapes will be used. This may cause failure in the grape call if the library has not yet been downloaded

      If it is set to true, then any jars not already downloaded will automatically be downloaded. Also, any versions expressed as a range will be checked for new versions and downloaded (with dependencies) if found.

      By default, it is set to true.

    - #### public static boolean getEnableGrapes()

      This is a static access kill-switch. All the static shortcut methods in this class will be disabled if this property is set to false. By default, it is set to true.

    - #### public static GrapeEngine getInstance()

      Returns the shared grape engine instance.

      Returns:
        the shared engine, or `null` if grapes are unavailable

    - #### public static void grab(String endorsed)

      Grabs a dependency expressed as a single string.

      Recognized forms:

      - Maven shorthand: `group:module:version[:classifier][@ext]`
      - Ivy shorthand: `group#module;version`
      - Endorsed module: a bare module name (legacy; resolves under the `groovy.endorsed` group at the current Groovy version)
      Parameters:
        `endorsed` - the dependency notation

    - #### public static void grab(Map<String, Object> dependency)

      Grabs a single dependency.

      Parameters:
        `dependency` - the dependency descriptor

    - #### public static void grab(Map<String, Object> args, Map dependencies)

      Grabs one or more dependencies using the supplied arguments.

      Parameters:
        `args` - grab arguments
        `dependencies` - dependency descriptors

    - #### public static Map[] listDependencies(ClassLoader cl)

      Lists dependencies associated with the supplied class loader.

      Parameters:
        `cl` - the class loader to inspect
      Returns:
        the dependency descriptors

    - #### public static URI[] resolve(Map<String, Object> args, Map dependencies)

      Resolves dependency coordinates to URIs.

      Parameters:
        `args` - resolve arguments
        `dependencies` - dependency descriptors
      Returns:
        the resolved artifact URIs

    - #### public static URI[] resolve(Map<String, Object> args, List depsInfo, Map dependencies)

      Resolves dependency coordinates to URIs while optionally collecting dependency information.

      Parameters:
        `args` - resolve arguments
        `depsInfo` - optional dependency metadata sink
        `dependencies` - dependency descriptors
      Returns:
        the resolved artifact URIs

    - #### public static void setDisableChecksums(boolean disableChecksums)

      Set global flag to ignore checksums. By default, it is set to false.

    - #### public static void setEnableAutoDownload(boolean enableAutoDownload)

      This is a static access auto download enabler. It will set the 'autoDownload' value to the passed in arguments map if not already set. If 'autoDownload' is set the value will not be adjusted.

      This applies to the grab and resolve calls.

      If it is set to false, only previously downloaded grapes will be used. This may cause failure in the grape call if the library has not yet been downloaded.

      If it is set to true, then any jars not already downloaded will automatically be downloaded. Also, any versions expressed as a range will be checked for new versions and downloaded (with dependencies) if found. By default, it is set to true.

    - #### public static void setEnableGrapes(boolean enableGrapes)

      This is a static access kill-switch. All the static shortcut methods in this class will be disabled if this property is set to false. By default, it is set to true.