본문으로 건너뛰기

Awesome Groovy

Curated list of the most awesome Groovy Libraries.

Build tools, setup and CI

  • Gradle - A powerful build system for the JVM
  • GMavenPlus - A rewrite of GMaven, a Maven plugin for Groovy
  • SDKMAN - The Software Development Kit Manager (Previously known as GVM)
  • skeletal - A simple project creation tool that uses packaged templates (successor of Lazybones)
  • Lazybones - A simple project creation tool that uses packaged project templates.
  • Jenkins job-dsl-plugin - A Groovy DSL for Jenkins Jobs
  • travis-groovy - execute groovy scripts on travis-ci
  • Android Groovy Shell - code and execute groovy scripts directly on your smartphone

IDE and Editor Support

Web Frameworks

  • Grails - A powerful web application framework based on the Groovy language
  • Micronaut - A brand new microservices framework created by the Grails team
  • Spring-Boot - Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that can you can "just run". Use Groovy as your coding language.
  • Gaelyk - A lightweight Groovy toolkit for Google App Engine Java
  • Glide - Create awesome apps on Google App Engine in a snap
  • Ratpack - A toolkit for JVM web applications
  • gServ - A Groovy toolkit for creating SPAs and REST based micro-services without the need for a container (Tomcat, JBoss, etc.).

Database

  • GORM - Grails ORM, but can be used stand-alone without Grails
  • Gmongo - A Groovy wrapper to the mongodb Java driver
  • Gstorm - A simple ORM for simple databases and CSV files to be used in groovy scripts
  • Tayra - Incremental backup tool for MongoDB
  • Groovy-liquibase - Yet Another Groovy DSL for Liquibase
  • Effigy - Groovy annotation-driven JDBC row mapping framework (abandoned)
  • elasticsearch-groovy - Elasticsearch Groovy client

Rich Application

  • Griffon - Griffon is an application framework for developing desktop applications in the JVM
  • GroovyFx - GroovyFX provides a Groovy binding for JavaFX 2.0.

HTTP

  • Http-Builder - HTTPBuilder is the easiest way to manipulate HTTP-based resources from the JVM
  • HTTP Builder NG - HTTP Builder NG is a modern Groovy DSL for making http requests.
  • HTTP Builder NG Gradle Plugin - Gradle plugin providing HTTP Builder NG support in a Gradle build configuration.
  • AsyncRestClient - Combine the power of RESTClient with RxGroovy for async http calls
  • Groovy-wslite - Lightweight SOAP and REST webservice clients for Groovy
  • Hyperpoet - Easy-to-use and customizable HTTP client for Groovy

Testing

  • Spock - The Enterprise-ready testing and specification framework.
  • Geb - Very Groovy Browser Automation
  • Betamax - Betamax is a tool for mocking external HTTP resources such as web services and REST APIs in your tests.
  • HTTP Mock Server - HTTP Mock Server allows to mock HTTP request using groovy closures.
  • Ersatz Mock Server - A simple and expressive simulated HTTP server for testing client code with configurable responses.
  • Dru - Data Reconstruction Utility loads data from external sources JSON, YML for easy testing GORM, DynamoDB or just plain POJOs.
  • Gru - Groovy HTTP Testing Framework for running integration and semi-ingetration tests for any HTTP backend with native unit test support for Grails and Spring MVC.

Concurrency

  • GPars - The GPars concurrency and parallelism framework for the JVM
  • RxGroovy - RxJava bindings for Groovy
  • Vertx - Vert.x is a lightweight, high performance application platform for the JVM

Code Analysis

Transpilers

  • Grooscript - Converts your Groovy code to Javascript

Static Web

  • Grain - Static Web Site Building Framework For Groovy
  • Gaiden - Gaiden is a tool that makes it easy to create documentation with Markdown.

Language Utilities

  • Functionalgroovy - Functional programming in Groovy
  • Groovy-stream - A collection of classes to give a fluent builder for Streams (Lazy Groovy Generators)
  • Flipside - Simple Groovy options library
  • groovy-common-extensions - Lets you add things commonly useful to the Groovy language via the extension system
  • groovy-extra-list-behaviour - Adds extra methods to Lists via the extension system
  • GPerfUtils - Groovy-based tools verifying performance of your code
    • gprof - The profiling module for Groovy
    • gbench - The benchmarking module for Groovy
  • Fuzzy-CSV - Simple lightweight data processing library, useful for shaping/processing your tabular data before its consumed by another service or library.

Data Processing

  • Nextflow - Groovy DSL for Data-driven computational pipelines

File System Utilities

  • Groovy-Vfs - A DSL for Groovy on top of Apache VFS2
  • Directree - A Simple DSL to create Directory Tree with Text Files

DSLs

  • document-builder - A document builder for Groovy for PDF or Word documents.
  • spreadsheet-builder - Spreadsheet builder provides convenient way how to create MS Excel OfficeOpenXML Documents (XSLX)
  • GroovyCSV - A simple CSV parsing library for groovy
  • Groogle - A Groovy DSL written to use Google services APIs.

Scripting Tools

  • EasyDokkaPlugin - Gradle script plugin to generate documentation by Dokka documentation engine for Java and Kotlin
  • GradleMavenPush - Gradle script plugin to upload Gradle Artifacts to Maven repositories
  • picocli - Parser library and framework for CLI. Usage help with ANSI colors. Autocomplete. Nested subcommands and more.
  • sshoogr - DSL library for working with remote servers through SSH.

Rule Engines

  • grules - rule engine for data preprocessing
  • n-cube - a Rules Engine, Decision Table, Decision Tree, Templating Engine, and Enterprise Spreadsheet, built as a hyper-space.

Resources

Official Resources

Try Groovy in Browser

Groovy Code Examples

  • MrHaKi's Goodness - Look out for entries titled "Groovy Goodness" , "Grails Goodness", Gradle Goodness"
  • PLEAC Groovy - Groovy is one of the 3 languages out of 32, having completed 100% of PLEAC examples.

Staying up to date

Interactive Learning

  • Groovy-Koans - Collection of small exercises in the form of unit tests