bits and pieces

September 6, 2010

Tools/Technologies that make it Groovy.

Filed under: Uncategorized — Tags: , — roshandawrani @ 8:02 am

I thought I will write a bit about what tools/technologies are there internally used in Groovy. So, here are the more prominent ones – in no particular order:

  • Jansi – It is a java library that used to give groovy shell command line a consistent look and feel and behavior across operating systems. It handles the ANSI escape sequences to control the output on console terminals.
  • Commons CLI – Apache Commons library to process command line options. Groovy makes its usage nicer and easier by providing a CliBuilder on top of it.
  • Apache Ivy – Dependency manager framework behind the groovy feature @Grab (Grape) that allows you to mention in a script what libraries it requires and then transitively fetches them from a central repo like maven repo.
  • Retrotranslator – It makes your java 5+ application compatible with JDK 1.4 (and lower) – through bytecode manipulations. Until Groovy 1.6, groovy runs on JDK 1.6/1.5/1.4 even though its own Java code is written in JDK 1.5. For groovy on JDK 1.4 environments, groovy code gets retro-translated using this library.
  • bnd – It is used to turn groovy-*.jar and groovy-all-*.jar into OSGi compliant bundles
  • JarJar – It embeds all the basic libraries needed by groovy at runtime into its fat groovy-all version so that this fat version needs no external libraries at runtime and avoids version conflict.
  • Maven – If you are setting up development environment for groovy, there are a lot of libraries it depends on – for compile time, runtime, etc. Maven is used to manage these dependencies.
  • Ant / Gradle – The build system of groovy is currently in transition from Ant to Gradle – soon, it should be all Gradle based, which itself is written in Groovy.
  • ANTLR – Groovy grammar is defined using ANTLR syntax. Groovy source parser is generated by ANTLR.
  • ASM – It’s the bytecode manipulation library that groovy uses to generate JVM compliant classes

There are many more useful things done in Groovy projects. More to come.

1 Comment »

  1. […] This post was mentioned on Twitter by nibin012, Roshan Dawrani. Roshan Dawrani said: Tools and Technologies that make it Groovy: […]

    Pingback by Tweets that mention Tools/Technologies that make it Groovy. « Bits that interest me -- — September 7, 2010 @ 12:30 am

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The Silver is the New Black Theme. Create a free website or blog at


Get every new post delivered to your Inbox.

%d bloggers like this: