Home » Archives for Remko Popma

Author Archives: Remko Popma

Remko is Algo Team Leader at SMBC Nikko Securities, developing automated trading systems for Japanese equities. In open source, he works on Log4j2 performance improvements and the picocli library.

Migrating from Commons CLI to picocli

Apache Commons CLI, initially released in 2002, is perhaps the most widely used java command line parser, but its API shows its age. Applications looking for a modern approach with a minimum of boilerplate code may be interested in picocli. Why is it worth the trouble to migrate, and how do you migrate your Commons CLI-based application to picocli? Picocli ...

Read More »

Picocli on GraalVM: Blazingly Fast Command Line Apps

GraalVM GraalVM allows you to compile your programs ahead-of-time into a native executable. The resulting program has faster startup time and lower runtime memory overhead compared to a Java VM. This is especially useful for command line utilities, which are often short-lived. GraalVM has limited support for Java reflection and it needs to know ahead of time the reflectively accessed ...

Read More »

Groovy 2.5 CliBuilder Renewal (Part 2)

The CliBuilder class for quickly and concisely building command line applications has been renewed in Apache Groovy 2.5. This is the second of a two-part article series that highlights what is new. In case you missed it, Part 1 is here. This article shows some of the advanced features of the underlying libraries from CliBuilder. A quick recap of part ...

Read More »

Groovy 2.5 CliBuilder Renewal (Part 1)

The CliBuilder class for quickly and concisely building command line applications has been renewed in Apache Groovy 2.5. This two-part article highlights what is new. Part 2 explains how to leverage some of the advanced features of the underlying libraries from CliBuilder. The groovy.util.CliBuilder Class is Deprecated Previous versions of CliBuilder used Apache Commons CLI as the underlying parser library. ...

Read More »

Picocli 2.0: Groovy Scripts on Steroids

Picocli 2.0 adds improved support for other JVM languages, especially Groovy. Why use picocli when the Groovy language has built-in CLI support with the CliBuilder class? You may like picocli’s usage help, which shows ANSI colors and styles by default. Another feature you may fancy is the command line TAB autocompletion. Finally, there is a slew of smaller features, like ...

Read More »

Picocli 2.0: Do More With Less

Introduction Picocli is a one-file command line parsing framework that allows you to create command line applications with almost no code. Annotate fields in your application with @Option or @Parameters, and picocli will populate these fields with command line options and positional parameters respectively. For example: @Command(name = "Greet", header = "%n@|green Hello world demo|@") class Greet implements Runnable { ...

Read More »