Ecosystem & Groovy in Other Tools
|
This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production. The reference material consulted while preparing these pages is listed in the section bibliography. |
This page lists the projects that are built on Groovy or that embed it as their scripting language.
Every entry was checked on 2026-10-14 against the project’s own site, its repository or its artifacts on Maven Central.
The baseline of the section is Apache Groovy 6.0 (6.0.0, 2026-09-22), and the column "Groovy line" says which line each project embeds or requires, which is often not the line you installed.
Where a Groovy line could not be established from a source the project publishes, the cell says not verified instead of guessing.
All projects below are third-party except the Groovy modules that ship with Groovy itself (groovy-ant, for example), and none of them is documented further here: each row only points to the project.
Why Groovy is embedded so widely
Groovy runs on the JVM and compiles to ordinary classes, so a host application can load a script with a few lines of Java and let it call the host’s own objects. Three properties explain most of the projects below:
-
Scripting inside a Java process.
GroovyShell,GroovyClassLoaderand JSR 223 compile and run text at run time, so a tool can offer a "scripts" extension point without inventing a language. See Integrating Groovy into Java Applications. -
Domain specific languages. Optional parentheses, named arguments and closures with a configurable delegate let a build file, a pipeline or a test read like configuration. See Domain Specific Languages, Closure Delegation: Owner, Delegate & This and Builders.
-
Java interoperability and control of what scripts may do. A script can use every Java library, and compilation customizers and AST transformations let a host restrict or extend the language. See Compilation Customizers & Secure Scripting.
A consequence matters in practice: a script runs on the Groovy line the host embeds, not on the one installed on your machine. A Jenkinsfile, a JMeter JSR223 script or a Gradle build script can only use the language features of the embedded line, so check the column "Groovy line" before copying an example from this section into such a tool. The feature-by-release list is on What’s New & Migrating from Older Versions.
Selection criterion
The page lists, in this order of precedence:
-
the projects shown on the official Groovy ecosystem page (groovy-lang.org/ecosystem.html): Grails, Gradle, Spock, GPars, Ratpack, Griffon, Geb, SDKMAN!, BeakerX and Micronaut;
-
the tools shown on the Groovy learning page (groovy-lang.org/learn.html) and the editors table of groovy-lang.org/ides.html;
-
the most common embedders of Groovy that the section’s other pages already mention: Apache Ant, Jenkins Pipeline, GMavenPlus, Apache JMeter, the Spring Framework, Nextflow, Apache Wayang and JasperReports, plus CodeNarc, the Groovy-Eclipse compiler and the Groovy Web Console.
Inclusion is not a ranking and the page gives no popularity or usage figures. A project that is quiet or unmaintained stays listed, with the dates that show it, because the official ecosystem page still points to it.
How the data was collected
-
"Groovy line" comes from the project’s own pages or build files: a published
pom.xmlon Maven Central, the version property of the project’s build (gradle.properties,pom.xml) on its default branch, or a compatibility table in its documentation. It says what the project is built with or declares, and not that every combination was tested. -
"Status" gives the latest release or artifact date and the date of the last commit to the default branch, read from Maven Central, the GitHub API or the project’s site on 2026-10-14. No project below announces an end of life that was found, so "quiet" and "no release since" only restate the dates.
-
A cell reading not verified means the source named above did not state the line.
Projects by area
| Project | What it is | Groovy line | Site | Documentation | Status |
|---|---|---|---|---|---|
Build and automation |
|||||
Gradle |
Build automation tool whose build scripts and plugins can be written in the Groovy DSL (the Kotlin DSL is the alternative). |
Embeds Groovy 4.0.33 since Gradle 9.8.0. Tested with Groovy 1.5.8 through 6.0.0-alpha-2. Plugins written in Groovy must use Groovy 4.x. |
Gradle 9.8.1 released 2026-10-07. A Gradle-specific guide for this section is planned in issue #300 and is not written yet. |
||
Apache Ant (Groovy integration) |
Java build tool; Groovy ships the |
|
Released together with Groovy. |
||
Jenkins Pipeline |
Continuous delivery pipelines written as a |
The Pipeline: Groovy plugin ( |
Plugin version |
||
GMavenPlus |
Maven plugin that compiles Groovy sources, generates stubs for joint compilation and runs Groovy scripts. |
You declare the Groovy dependency yourself; the plugin’s build uses Groovy 5.0.6. Groovy 6: not verified. |
5.1.0 released 2026-07-02. The Maven site page still shows 4.3.1 (published 2026-02-12). |
||
Testing |
|||||
Spock |
Specification and mocking framework for Groovy and Java with a given-when-then style and data tables. See Testing with Spock & Geb. |
One release per Groovy line: |
|
||
Geb |
Browser automation and functional testing with WebDriver, jQuery-like selectors and the page object pattern. See Testing with Spock & Geb. |
8.0.1 is built with the Groovy 4.0.26 BOM. Groovy 6: not verified. |
Now hosted by Apache Groovy ( |
||
Apache JMeter |
Load-testing tool whose JSR223 elements run Groovy scripts. See Scripting with JSR223 & Groovy. |
JMeter 5.6.3 bundles Groovy 3.0.20. |
5.6.3 released 2024-01-09, the latest release found; repository pushed 2026-10-01. |
||
Web and application frameworks |
|||||
Apache Grails |
Full-stack web application framework on top of Spring Boot with convention over configuration. |
Grails 8.0.0 depends on Groovy 5.1.3 ( |
8.0.0 released 2026-10-04. |
||
Micronaut |
JVM microservice framework; the Micronaut Groovy project adds Groovy configuration, Groovy functions and GORM support. |
|
Micronaut Groovy 5.1.0 published 2026-07-14. |
||
Ratpack |
Toolkit for lean, high-performance HTTP applications on Netty with an API designed for Groovy and Java. |
1.9.0 (the last stable release) declares |
Quiet: the GitHub repository is not archived, its last commit is 2024-10-08, 1.9.0 is dated 2021-06-29 and 2.0.0-rc-1 is dated 2022-05-12. |
||
Spring Framework (Groovy support) |
Groovy bean definition DSL, Groovy-script application contexts and the Groovy Markup template integration for Spring MVC. |
The Groovy Markup page states Groovy 2.3.1 or later. Spring’s own build uses Groovy 5.0.8 ( |
Spring Framework 7.0.9 released 2026-08-20. |
||
Data, science and workflows |
|||||
Nextflow |
Workflow system for scalable, reproducible data pipelines whose pipeline scripts are a Groovy-based DSL. |
Nextflow 26.10.0 builds with Groovy 4.0.33 ( |
26.10.0 released 2026-10-12. |
||
Apache Wayang with Spark (Groovy blog) |
Cross-platform data processing API; a Groovy blog post clusters whisky data with it on the Java-streams and Apache Spark platforms. |
The post was updated on 2025-08-25 for Wayang 1.1.0 and Groovy 5.0.0. Wayang itself is not a Groovy project. |
|
||
JasperReports |
Reporting library whose report expressions can be written in Groovy. See JasperReports Expressions, Parameters, Fields & Variables. |
|
7.1.0 published 2026-10-14. |
||
Desktop and notebooks |
|||||
Griffon |
Desktop application framework for the JVM inspired by Grails, written in Java with Groovy as an optional language. Listed on the Groovy ecosystem page. |
The build pins Groovy 2.5.14 ( |
griffon-framework.org (plain HTTP; HTTPS timed out) |
Quiet: 2.16.0 (2021-12-16) is the latest release and the last commit is 2023-04-09. |
|
BeakerX |
Extensions for Jupyter that bring Groovy, with interactive tables and plots, to notebooks. Listed on the Groovy ecosystem page. |
Not verified. |
beakerx.com (plain HTTP; the HTTPS certificate does not match the host name) |
Quiet: the last commit to the default branch is 2021-01-21, the GitHub release is 1.3.0 (2018-12-04) and the PyPI package |
|
Tools |
|||||
SDKMAN! |
Command-line tool that installs and switches parallel versions of SDKs, with Groovy as a candidate. |
The default |
|
||
IntelliJ IDEA |
IDE with a bundled and enabled Groovy plugin for editing, running and debugging Groovy. |
The help for 2026.2 says it supports the latest stable Groovy and Groovy 4 syntax. Exact bundled line: not verified. |
Commercial IDE; help page for 2026.2 read 2026-10-14. |
||
Eclipse Groovy Development Tools (Groovy-Eclipse) |
Eclipse plugin with a Groovy editor, compiler, debugging and refactoring. |
6.3.0 supports Groovy 6.0.0, 5.1.3, 5.0.8 and 4.0.33; the 6.0 compiler is the bundled default and 5.1, 5.0, 4.0 and 3.0 can be added from the update site. |
6.3.0 released 2026-09-30 for Eclipse 4.41 (2026-09); repository pushed 2026-10-13. |
||
VS Code extensions |
Editors table on the Groovy site lists VS Code with syntax highlighting; the linked "Groovy Lint, Format and Fix" extension lints and formats Groovy and Jenkinsfile code with CodeNarc. |
Not verified. |
Third-party extension; repository pushed 2026-10-13. |
||
Apache NetBeans |
IDE listed on the Groovy site as supporting highlighting, completion and refactoring for Groovy. |
Not verified. |
The Groovy tutorial was last reviewed 2019-01-26; the site offers NetBeans 31 as the latest release. |
||
Groovy Web Console |
Online editor that runs Groovy scripts and Spock specifications, inspects the AST and shares scripts as gists. |
Its README says you pick Groovy 3, 4, 5 or 6 to run against. |
Repository pushed 2026-10-13. |
||
Libraries |
|||||
GPars |
Concurrency library with parallel collections, dataflow, actors and agents. Groovy 6.0 adds its own |
1.2.1 declares |
Quiet: 1.2.1 is dated 2014-05-14 on Maven Central and the last commit is 2023-12-16. |
||
Groovy-Eclipse compiler |
Batch compiler and Maven compiler adapter used to compile joint Groovy and Java projects without stubs. See Compiling with groovyc & Joint Compilation. |
|
Batch compiler 6.0.0-01 published 2026-09-21; adapter 3.9.1 published 2025-09-13. |
||
CodeNarc |
Static analysis for Groovy: rules, rule sets, reports and Ant, Gradle and command-line runners. |
Requires Groovy 4.0 or later. The default artifact is built on Groovy 5 ( |
4.0.0 published 2026-07-18; repository pushed 2026-09-30. |
||
Groovy 6.0 and the projects above
Reading the "Groovy line" column as a whole gives a picture worth stating, again with the check date 2026-10-14:
-
Spock and the Groovy-Eclipse tooling publish artifacts for Groovy 6.0, and SDKMAN! and the Groovy Web Console offer it.
-
Gradle, Nextflow and JasperReports embed Groovy 4.0, Grails embeds 5.1, Micronaut Groovy declares 5.0, JMeter 5.6.3 bundles 3.0 and the Jenkins Pipeline plugin declares 2.4.
-
For the others the sources checked do not mention Groovy 6, which is why those cells say not verified or only give the line the project builds with.
A project that embeds an older line is not wrong: it chooses the line its own plugin API and compatibility promises depend on. What follows for you is that code written for this section’s Groovy 6.0 may use syntax or library methods that the embedded line lacks.
One-line hello, where the tool’s own documentation shows one
Only four tools have a hello that is both short and visible in their own documentation, and only two could be run here. Nothing else is run or documented, on purpose.
| Tool | Line | Run here? |
|---|---|---|
Groovy Ant integration |
|
Yes, see below. |
GPars |
|
Yes, see below. |
Jenkins Pipeline |
|
Not run here: it needs a Jenkins controller. |
SDKMAN! |
|
Not run here: SDKMAN! is not installed on the machine used for this page. |
The Ant line, saved as ant-hello.groovy and run with groovy ant-hello.groovy:
import groovy.ant.AntBuilder
new AntBuilder().echo('hello from Ant')
[echo] hello from Ant
The GPars line, saved as gpars-hello.groovy (GPars is fetched from Maven Central by @Grab):
@Grab('org.codehaus.gpars:gpars:1.2.1')
import groovyx.gpars.GParsPool
GParsPool.withPool {
final List result = [1, 2, 3, 4, 5].collectParallel { it * 2 }
assert [2, 4, 6, 8, 10] == result
println result
}
[2, 4, 6, 8, 10]
On JDK 26 the run also prints WARNING lines about sun.misc.Unsafe coming from the old jsr166y classes inside GPars 1.2.1; they do not change the result.
Where the book is outdated
Groovy in Action (first edition) was written for Groovy 1.0 (2007). Every project in the table has released versions that postdate it, and several (Spock, Geb, SDKMAN!, Micronaut, Nextflow) did not exist when it was written, so use the project pages above and not the book for anything about these tools.
References
-
Groovy blog: Using Groovy with Apache Wayang and Apache Spark
-
Third-party projects, each at the site named in the table: Gradle, Apache Ant, Jenkins Pipeline, GMavenPlus, Spock, Geb, Apache JMeter, Apache Grails, Micronaut, Ratpack, Spring Framework, Nextflow, Apache Wayang, JasperReports, Griffon, BeakerX, SDKMAN!, Groovy-Eclipse, GPars, CodeNarc and Groovy Web Console