Files
picocli/picocli-groovy
2019-11-27 00:35:36 +09:00
..
2019-06-03 08:20:15 +09:00
2019-11-27 00:35:36 +09:00

picocli

Picocli in Groovy Scripts

This module contains classes to allow the use of picocli annotations in Groovy scripts.

This module was introduced in picocli 4.0; in previous versions these classes were included in the main picocli-$version artifact.

Example

@Grab('info.picocli:picocli-groovy:4.1.1')
@Command(description = "Print a checksum of each specified FILE.",
        mixinStandardHelpOptions = true,
        version = 'checksum v1.2.3',
        showDefaultValues = true)
@picocli.groovy.PicocliScript
import groovy.transform.Field
import java.security.MessageDigest
import static picocli.CommandLine.*

@Parameters(arity="1", paramLabel="FILE", description="The file(s) whose checksum to calculate.")
@Field private File[] files

@Option(names = ["-a", "--algorithm"], description = [
        "MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, or",
        "  any other MessageDigest algorithm. See [1] for more details."])
@Field private String algorithm = "MD5"

files.each {
  println MessageDigest.getInstance(algorithm).digest(it.bytes).encodeHex().toString() + "\t" + it
}

See the Groovy Scripts on Steroids article for more details.