Files
awesome-awesomeness/html/groovy.md2.html
2025-07-18 23:13:11 +02:00

357 lines
16 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-groovy-awesome">Awesome Groovy <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<p>Curated list of awesome groovy libraries, frameworks and resources.
Inspired by many other awesome-* repositories.</p>
<ul>
<li><a href="#awesome-groovy">Awesome Groovy</a>
<ul>
<li><a href="#build-tools-setup-and-ci">Build Tools, Setup and
CI</a></li>
<li><a href="#concurrency">Concurrency</a></li>
<li><a href="#database">Database</a></li>
<li><a href="#rich-applications">Desktop App Frameworks</a></li>
<li><a href="#http">HTTP</a></li>
<li><a href="#ide-and-editor-support">IDE and Editor Support</a></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#code-analysis">Code analysis</a></li>
<li><a href="#web-frameworks">Web Frameworks</a></li>
<li><a href="#transpilers">Transpilers</a></li>
<li><a href="#static-web">Static Web</a></li>
<li><a href="#language-utilities">Language Utilities</a></li>
<li><a href="#file-system-utilities">File System Utilities</a></li>
<li><a href="#file-format-dsl">File Format DSL</a></li>
<li><a href="#scripting-tools">Scripting Tools</a></li>
<li><a href="#rule-engines">Rule Engines</a></li>
</ul></li>
<li><a href="#resources">Resources</a></li>
<li><a href="#contributing">Contributing</a></li>
<li><a href="#credits">Credits</a></li>
</ul>
<h2 id="build-tools-setup-and-ci">Build tools, setup and CI</h2>
<ul>
<li><a href="https://www.gradle.org/">Gradle</a> - A powerful build
system for the JVM</li>
<li><a href="https://github.com/groovy/GMavenPlus">GMavenPlus</a> - A
rewrite of GMaven, a Maven plugin for Groovy</li>
<li><a href="https://sdkman.io">SDKMAN</a> - The Software Development
Kit Manager (Previously known as GVM)</li>
<li><a href="https://github.com/cbmarcum/skeletal">skeletal</a> - A
simple project creation tool that uses packaged templates (successor of
Lazybones)</li>
<li><a href="https://github.com/pledbrook/lazybones">Lazybones</a> - A
simple project creation tool that uses packaged project templates.</li>
<li><a href="https://github.com/jenkinsci/job-dsl-plugin">Jenkins
job-dsl-plugin</a> - A Groovy DSL for Jenkins Jobs</li>
<li><a href="https://github.com/kdabir/travis-groovy">travis-groovy</a>
- execute groovy scripts on travis-ci</li>
<li><a
href="https://play.google.com/store/apps/details?id=com.tambapps.android.grooidshell">Android
Groovy Shell</a> - code and execute groovy scripts directly on your
smartphone</li>
</ul>
<h2 id="ide-and-editor-support">IDE and Editor Support</h2>
<ul>
<li><a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a> - The
Most Intelligent IDE for the Java Platform</li>
<li><a
href="https://marketplace.eclipse.org/content/groovygrails-tool-suite-ggts-eclipse">Groovy
Grails Tool Suite</a> - Eclipse-based IDE optimized for developing,
debugging and executing Groovy and Grails applications</li>
<li><a href="http://groovyconsole.appspot.com">Groovy Web Console</a> -
The online Groovy console</li>
<li><a href="https://github.com/rundis/LightTable-Groovy">LightTable
Plugin</a> - LightTable Support</li>
<li><a href="https://spacevim.org/layers/lang/groovy/">SpaceVim</a> -
SpaceVim <code>lang#groovy</code> layer</li>
<li><a href="https://gist.github.com/kdabir/2203530">Sublime Text
2/3</a> - Run groovy scripts from Sublime Text</li>
</ul>
<h2 id="web-frameworks">Web Frameworks</h2>
<ul>
<li><a href="https://github.com/grails/grails">Grails</a> - A powerful
web application framework based on the Groovy language</li>
<li><a href="http://micronaut.io/">Micronaut</a> - A brand new
microservices framework created by the Grails team</li>
<li><a href="https://projects.spring.io/spring-boot">Spring-Boot</a> -
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.</li>
<li><a href="https://github.com/gaelyk/gaelyk">Gaelyk</a> - A
lightweight Groovy toolkit for Google App Engine Java</li>
<li><a href="https://github.com/kdabir/glide">Glide</a> - Create awesome
apps on Google App Engine in a snap</li>
<li><a href="https://github.com/ratpack/ratpack">Ratpack</a> - A toolkit
for JVM web applications</li>
<li><a href="https://github.com/javaConductor/gserv">gServ</a> - A
Groovy toolkit for creating SPAs and REST based micro-services without
the need for a container (Tomcat, JBoss, etc.).</li>
</ul>
<h2 id="database">Database</h2>
<ul>
<li><a href="https://gorm.grails.org">GORM</a> - Grails ORM, but can be
used stand-alone without Grails</li>
<li><a href="https://github.com/poiati/gmongo">Gmongo</a> - A Groovy
wrapper to the mongodb Java driver</li>
<li><a href="https://github.com/kdabir/gstorm">Gstorm</a> - A simple ORM
for simple databases and CSV files to be used in groovy scripts</li>
<li><a href="https://github.com/EqualExperts/Tayra">Tayra</a> -
Incremental backup tool for MongoDB</li>
<li><a
href="https://github.com/tlberglund/groovy-liquibase">Groovy-liquibase</a>
- Yet Another Groovy DSL for Liquibase</li>
<li><a href="https://github.com/cjstehno/effigy">Effigy</a> - Groovy
annotation-driven JDBC row mapping framework (abandoned)</li>
<li><a
href="https://github.com/elastic/elasticsearch-groovy">elasticsearch-groovy</a>
- Elasticsearch Groovy client</li>
</ul>
<h2 id="rich-application">Rich Application</h2>
<ul>
<li><a href="http://griffon-framework.org/">Griffon</a> - Griffon is an
application framework for developing desktop applications in the
JVM</li>
<li><a href="http://groovyfx.org/">GroovyFx</a> - GroovyFX provides a
Groovy binding for JavaFX 2.0.</li>
</ul>
<h2 id="http">HTTP</h2>
<ul>
<li><a href="https://github.com/jgritman/httpbuilder">Http-Builder</a> -
HTTPBuilder is the easiest way to manipulate HTTP-based resources from
the JVM</li>
<li><a href="https://github.com/http-builder-ng/http-builder-ng">HTTP
Builder NG</a> - HTTP Builder NG is a modern Groovy DSL for making http
requests.</li>
<li><a href="https://github.com/http-builder-ng/gradle-http-plugin">HTTP
Builder NG Gradle Plugin</a> - Gradle plugin providing HTTP Builder NG
support in a Gradle build configuration.</li>
<li><a
href="https://github.com/eginez/AsyncRestClient">AsyncRestClient</a> -
Combine the power of RESTClient with RxGroovy for async http calls</li>
<li><a
href="https://github.com/jwagenleitner/groovy-wslite">Groovy-wslite</a>
- Lightweight SOAP and REST webservice clients for Groovy</li>
<li><a href="https://github.com/tambapps/hyperpoet">Hyperpoet</a> -
Easy-to-use and customizable HTTP client for Groovy</li>
</ul>
<h2 id="testing">Testing</h2>
<ul>
<li><a href="https://github.com/spockframework/spock">Spock</a> - The
Enterprise-ready testing and specification framework.</li>
<li><a href="https://github.com/geb/geb">Geb</a> - Very Groovy Browser
Automation</li>
<li><a href="https://github.com/betamaxteam/betamax">Betamax</a> -
Betamax is a tool for mocking external HTTP resources such as web
services and REST APIs in your tests.</li>
<li><a href="https://github.com/TouK/http-mock-server">HTTP Mock
Server</a> - HTTP Mock Server allows to mock HTTP request using groovy
closures.</li>
<li><a href="https://github.com/cjstehno/ersatz">Ersatz Mock Server</a>
- A simple and expressive simulated HTTP server for testing client code
with configurable responses.</li>
<li><a href="https://agorapulse.github.io/dru/">Dru</a> - Data
Reconstruction Utility loads data from external sources JSON, YML for
easy testing GORM, DynamoDB or just plain POJOs.</li>
<li><a href="https://agorapulse.github.io/gru/">Gru</a> - 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.</li>
</ul>
<h2 id="concurrency">Concurrency</h2>
<ul>
<li><a href="https://github.com/GPars/GPars">GPars</a> - The GPars
concurrency and parallelism framework for the JVM</li>
<li><a href="https://github.com/ReactiveX/RxGroovy">RxGroovy</a> -
RxJava bindings for Groovy</li>
<li><a href="https://vertx.io/">Vertx</a> - Vert.x is a lightweight,
high performance application platform for the JVM</li>
</ul>
<h2 id="code-analysis">Code Analysis</h2>
<ul>
<li><a href="http://codenarc.sourceforge.net/">CodeNarc</a> - Static
analysis tool for Groovy</li>
<li><a href="https://github.com/pmayweg/sonar-groovy">Sonar-Groovy</a> -
SonarQube Groovy plugin</li>
</ul>
<h2 id="transpilers">Transpilers</h2>
<ul>
<li><a href="https://github.com/chiquitinxx/grooscript">Grooscript</a> -
Converts your Groovy code to Javascript</li>
</ul>
<h2 id="static-web">Static Web</h2>
<ul>
<li><a href="https://github.com/sysgears/grain">Grain</a> - Static Web
Site Building Framework For Groovy</li>
<li><a href="https://github.com/kobo/gaiden">Gaiden</a> - Gaiden is a
tool that makes it easy to create documentation with Markdown.</li>
</ul>
<h2 id="language-utilities">Language Utilities</h2>
<ul>
<li><a
href="https://github.com/mperry/functionalgroovy">Functionalgroovy</a> -
Functional programming in Groovy</li>
<li><a
href="https://github.com/timyates/groovy-stream">Groovy-stream</a> - A
collection of classes to give a fluent builder for Streams (Lazy Groovy
Generators)</li>
<li><a href="https://github.com/johnnywey/flipside">Flipside</a> -
Simple Groovy options library</li>
<li><a
href="https://github.com/timyates/groovy-common-extensions">groovy-common-extensions</a>
- Lets you add things commonly useful to the Groovy language via the
extension system</li>
<li><a
href="https://github.com/dnahodil/groovy-extra-list-behaviour">groovy-extra-list-behaviour</a>
- Adds extra methods to Lists via the extension system</li>
<li><a href="https://github.com/gperfutils">GPerfUtils</a> -
Groovy-based tools verifying performance of your code
<ul>
<li><a href="https://github.com/gperfutils/gprof">gprof</a> - The
profiling module for Groovy</li>
<li><a href="https://github.com/gperfutils/gbench">gbench</a> - The
benchmarking module for Groovy</li>
</ul></li>
<li><a href="https://github.com/kayr/fuzzy-csv">Fuzzy-CSV</a> - Simple
lightweight data processing library, useful for shaping/processing your
tabular data before its consumed by another service or library.</li>
</ul>
<h2 id="data-processing">Data Processing</h2>
<ul>
<li><a href="https://www.nextflow.io/">Nextflow</a> - Groovy DSL for
Data-driven computational pipelines</li>
</ul>
<h2 id="file-system-utilities">File System Utilities</h2>
<ul>
<li><a href="https://github.com/ysb33r/groovy-vfs">Groovy-Vfs</a> - A
DSL for Groovy on top of Apache VFS2</li>
<li><a href="https://github.com/kdabir/directree">Directree</a> - A
Simple DSL to create Directory Tree with Text Files</li>
</ul>
<h2 id="dsls">DSLs</h2>
<ul>
<li><a
href="https://github.com/craigburke/document-builder">document-builder</a>
- A document builder for Groovy for PDF or Word documents.</li>
<li><a href="http://spreadsheet.dsl.builders/">spreadsheet-builder</a> -
Spreadsheet builder provides convenient way how to create MS Excel
OfficeOpenXML Documents (XSLX)</li>
<li><a href="http://xlson.com/groovycsv/">GroovyCSV</a> - A simple CSV
parsing library for groovy</li>
<li><a
href="https://groogle.gitlab.io/groogle/latest/index.html">Groogle</a> -
A Groovy DSL written to use Google services APIs.</li>
</ul>
<h2 id="scripting-tools">Scripting Tools</h2>
<ul>
<li><a
href="https://github.com/Vorlonsoft/EasyDokkaPlugin">EasyDokkaPlugin</a>
- Gradle script plugin to generate documentation by Dokka documentation
engine for Java and Kotlin</li>
<li><a
href="https://github.com/Vorlonsoft/GradleMavenPush">GradleMavenPush</a>
- Gradle script plugin to upload Gradle Artifacts to Maven
repositories</li>
<li><a href="https://github.com/remkop/picocli">picocli</a> - Parser
library and framework for CLI. Usage help with ANSI colors.
Autocomplete. Nested subcommands and more.</li>
<li><a href="https://github.com/aestasit/sshoogr">sshoogr</a> - DSL
library for working with remote servers through SSH.</li>
</ul>
<h2 id="rule-engines">Rule Engines</h2>
<ul>
<li><a href="https://github.com/zhaber/grules">grules</a> - rule engine
for data preprocessing</li>
<li><a href="https://github.com/jdereg/n-cube">n-cube</a> - a Rules
Engine, Decision Table, Decision Tree, Templating Engine, and Enterprise
Spreadsheet, built as a hyper-space.</li>
</ul>
<h1 id="resources">Resources</h1>
<h2 id="official-resources">Official Resources</h2>
<ul>
<li><a href="http://www.groovy-lang.org/">The official groovy home</a> -
Groovys new home</li>
<li><a href="https://github.com/apache/groovy">Groovys source</a> -
Groovys source code mirrored on Github</li>
<li><a href="http://www.groovy-lang.org/mailing-lists.html">Groovy
mailing lists</a> - Note the new mailing list</li>
<li><a href="http://www.groovy-lang.org/documentation.html">Official
Documentation</a> - the definitive source of groovy documentation</li>
</ul>
<h2 id="try-groovy-in-browser">Try Groovy in Browser</h2>
<ul>
<li><a href="https://gwc-experiment.appspot.com/">Groovy Web
Console</a></li>
<li><a href="https://groovy-playground.appspot.com/">Groovy
Playground</a></li>
</ul>
<h2 id="groovy-code-examples">Groovy Code Examples</h2>
<ul>
<li><a href="http://mrhaki.blogspot.com/">MrHaKis Goodness</a> - Look
out for entries titled “Groovy Goodness” , “Grails Goodness”, Gradle
Goodness”</li>
<li><a href="http://pleac.sourceforge.net/pleac_groovy/">PLEAC
Groovy</a> - Groovy is one of the 3 languages out of 32, having
completed 100% of PLEAC examples.</li>
</ul>
<h2 id="staying-up-to-date">Staying up to date</h2>
<ul>
<li><a href="http://groovycalamari.com/">Groovy Calamari</a> - Weekly
curated publication about the Groovy Ecosystem</li>
<li><a
href="http://glaforge.appspot.com/category/Groovy%20Weekly">Groovy
Weekly</a> - Groovy weekly newsletter</li>
<li><a href="https://grydeske.dk/news/index">Grails Diary</a> -
Particulary useful for Grails developers</li>
<li><a href="https://nofluffjuststuff.com/groovypodcast">Groovy
Podcast</a> - Ken Kousen and Baruch Sadogursky discuss news and insight
from the Groovy ecosystem.</li>
</ul>
<h2 id="interactive-learning">Interactive Learning</h2>
<ul>
<li><a href="http://nadavc.github.io/groovykoans/">Groovy-Koans</a> -
Collection of small exercises in the form of unit tests</li>
</ul>
<h2 id="blogs-of-core-committer">Blogs of core committer</h2>
<ul>
<li><a href="http://glaforge.appspot.com/">Guillaume Laforges
blog</a></li>
<li><a href="http://melix.github.io/blog/">Cédric Champeaus
blog</a></li>
<li><a href="http://blackdragsview.blogspot.com/">Jochen Theodorous
blog</a></li>
<li><a href="http://grailsblog.objectcomputing.com/">Grails Team
blog</a></li>
</ul>
<h2 id="conferences">Conferences</h2>
<ul>
<li><a href="https://communityovercode.org/">Community Over Code</a> -
have a Groovy Track</li>
<li><a href="http://greachconf.com">Greachconf</a> (discontinued)</li>
<li><a href="https://gr8conf.eu">GR8Conf Europe</a> (discontinued)</li>
<li><a href="http://gr8conf.us">GR8Conf USA</a> (discontinued)</li>
</ul>
<h1 id="contributing">Contributing</h1>
<p>Fork this repository, edit this file and send a pull request.</p>
<h2 id="using-awesome.groovy-script">Using awesome.groovy script</h2>
<p>You can use the <code>awesome.groovy</code> 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 <code>README.md</code>.</p>
<h3 id="examples">Examples</h3>
<p>to find out repos where language is groovy and whose name contain
gpars and</p>
<pre><code>./awesome.groovy -l groovy gpars</code></pre>
<p>to find out repos by user kdabir and name contains glide</p>
<pre><code>./awesome.groovy -u kdabir glide</code></pre>
<p>to find out repos whose name contains glide</p>
<pre><code>./awesome.groovy glide</code></pre>
<p>If you are lazy to download the repo, an easy way is:</p>
<pre><code>groovy &quot;https://git.io/awesome&quot; -l groovy glide</code></pre>
<h1 id="credits">Credits</h1>
<p>To all the awesome-* repos out there and their aggreators like <a
href="https://github.com/erichs/awesome-awesome">this</a> and <a
href="https://github.com/bayandin/awesome-awesomeness">this</a>.</p>
<p><a href="https://github.com/kdabir/awesome-groovy">groovy.md
Github</a></p>