Groovy - Grape Dependency Manager

Card Puncher Data Processing

About

Grape is a Dependency manager based on Ivy.

Syntax

You add dependencies in the script as an annotation.

  • Basic Notation
// Long notation
@Grab(group='com.gerardnico', module='niofs-sftp', version='1.0.0')
// Shorthand Notation
@Grab('com.gerardnico:niofs-sftp:1.0.0') 
  • Grapes Notation
@Grapes([
    @Grab(group='com.jcraft', module='jsch', version='0.1.53'),
    @Grab(group='com.gerardnico', module='niofs-sftp', version='1.0.0')
])

The Maven Repository gives you the Grab notation.

Example: http://mvnrepository.com/artifact/com.jcraft/jsch/0.1.53

Grape Maven Repo

Management

Installation of Artifact in the Grape repo

Grape will lookup different maven repositories in order to find it.

The repositories are configured in a Ivy settings file located ~/.groovy/grapeConfig.xml

grape install "com.gerardnico" "niofs-sftp" "1.0.0"
:: loading settings :: url = jar:file:/C:/groovy-2.4.5/bin/../lib/ivy-2.4.0.jar!/org/apache/ivy/core
/settings/ivysettings.xml
:: resolving dependencies :: caller#all-caller;working47
        confs: [default]
        found com.gerardnico#niofs-sftp;1.0.0 in localm2
        found com.jcraft#jsch;0.1.51 in localm2
downloading file:C:/Users/gerard/.m2/repository/com/gerardnico/niofs-sftp/1.0.0/niofs-sftp-1.0.0.jar
 ...
        [SUCCESSFUL ] com.gerardnico#niofs-sftp;1.0.0!niofs-sftp.jar (31ms)
downloading file:C:/Users/gerard/.m2/repository/com/jcraft/jsch/0.1.51/jsch-0.1.51.jar ...
        [SUCCESSFUL ] com.jcraft#jsch;0.1.51!jsch.jar (94ms)

List

grape list
com.jcraft jsch  [0.1.51, 0.1.53]
org.sonatype.oss oss-parent  [6]

2 Grape modules cached
3 Grape module versions cached

Configuration

Repository Directory

If you need to change the directory grape uses for downloading libraries you can specify the grape.root system property to change the default (which is ~/.groovy/grape)

groovy -Dgrape.root=/repo/grape yourscript.groovy

Documentation / Reference





Discover More
Card Puncher Data Processing
Groovy - Import

in Groovy All these packages and classes are imported by default, i.e. you do not have to use an explicit import statement to use them: java.io. java.lang. java.math.BigDecimal java.math.BigInteger...
Card Puncher Data Processing
Groovy - Installation / Configuration

See Right click on the Root project Directory > Add FrameWork Support > Groovy. See GROOVY_HOME The repositories used by grape (Dependency Manager)...



Share this page:
Follow us:
Task Runner