Awesome Groovy
Curated list of awesome groovy libraries, frameworks and resources. Inspired by many other awesome-* repositories. This awesome collection is also available on Groovy.ZEEF.com.
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)
- 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
- IntelliJ IDEA - The Most Intelligent IDE for the Java Platform
- Groovy Grails Tool Suite - Eclipse-based IDE optimized for developing, debugging and executing Groovy and Grails applications
- Groovy Web Console - The online Groovy console
- LightTable Plugin - LightTable Support
- SpaceVim - SpaceVim
lang#groovy
layer - Sublime Text 2/3 - Run groovy scripts from Sublime Text
Web Frameworks
- Grails - A powerful web application framework based on the Groovy 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.).
- Spring-Boot - Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that can you can "just run"
- Micronaut - A brand new microservices framework created by the Grails team
Database
- 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
- CodeNarc - Static analysis tool for Groovy
- Sonar-Groovy - SonarQube Groovy plugin
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
- Fuzzy-CSV - Simple lightweight data processing library, useful for shaping/processing your tabular data before its consumed by another service or library.
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
File Format DSL
- 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
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
- The official groovy home - Groovy's new home
- Groovy's source - Groovy's source code mirrored on Github
- Groovy mailing lists - Note the new mailing list
- Official Documentation - the definitive source of groovy documentation
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
- Groovy Calamari - Weekly curated publication about the Groovy Ecosystem
- Groovy Weekly - Groovy weekly newsletter
- Grails Diary - Particulary useful for Grails developers
- Groovy Podcast - Ken Kousen and Baruch Sadogursky discuss news and insight from the Groovy ecosystem.
Interactive Learning
- Groovy-Koans - Collection of small exercises in the form of unit tests
Blogs of core committer
Conferences
Contributing
Fork this repository, edit this file and send a pull request.
Using awesome.groovy script
You can use the awesome.groovy
script to search awesome projects on github and generate the entry prepoulated with project name, repo url and description in markdown format. All you need to do is place it under right group in the markdown list in README.md
.
Examples
to find out repos where language is groovy and whose name contain gpars and
./awesome.groovy -l groovy gpars
to find out repos by user 'kdabir' and name contains glide
./awesome.groovy -u kdabir glide
to find out repos whose name contains glide
./awesome.groovy glide
If you are lazy to download the repo, an easy way is:
groovy "https://git.io/awesome" -l groovy glide
Credits
To all the awesome-* repos out there and their aggreators like this and this.