Groovy is ...
An agile dynamic language for the Java Platform with many features that are inspired by languages like Python, Ruby and Smalltalk, making them available to Java developers using a Java-like syntax.
Developing web applications , writing shell scripts easily, writing concise, meaningful, test cases using Groovy's JUnit integration, or prototyping and producing real industrial strength applications have never been so concise and groovy.
Groovy works cleanly with all existing Java objects and libraries and compiles straight to Java bytecode in either application development or scripting mode.
User Guide [more]
- Control Structures
- Bitwise Operations
- Scripts and Classes
- Reserved Words
- Strings and GString
- Groovy Truth
- Input Output
- Regular Expressions
- GDK Extensions to Object
- Advanced OO
- Annotations with Groovy
- Using Enums
- Static Import Usage
- Scoping and the Semantics of "def"
- Database features
- Dynamic Groovy
- Ant Integration with Groovy
- Bean Scripting Framework
- Compile-time Metaprogramming - AST Transformations
- Groovy and JMX
- Groovy Categories
- Groovy CLI
- Groovy Console
- Groovy Math
- Groovy Shell
- Groovy Utils
- GUI Programming with Groovy
- IDE Support
- JSR 223 Scripting with Groovy
- Migration From Classic to JSR syntax
- Processing XML
- Process Management
- Running Groovy on .NET 2.0 using IKVM
- Things to remember
- Things you can do but better leave undone
- Using Spring Factories with Groovy
- OSGi and Groovy
Advanced Topics [more]
Getting Started Guide [more]
- Feature Overview
- Quick Start
- Beginners Tutorial
- Differences to Other Languages
- Groovy style and language feature guidelines for Java developers
- For those new to both Java and Groovy
- Groovy for the Office
- Groovy Quick Start Project
Testing Guide [more]
- Unit Testing
- Using Other Testing Frameworks
- Groovy Mocks
- Integrating TPTP
- Model-based testing using ModelJUnit
- Test Combinations
- Test Coverage
- Testing Web Applications
- Testing Web Services
- Using Testing Frameworks with Groovy
Developer Guide [more]
- Building Groovy from Source
- Building Groovy from Source using Ant
- Continuous Integration
- From source code to bytecode
- Groovy Backstage
- Groovy Internals
- Release Process
- Setup Groovy Development Environment
Cookbook Examples [more]
- Accessing SQLServer using groovy
- Alternate Spring-Groovy-Integration
- Auto setup and download dependencies jars
- Batch Image Manipulation
- Calculating a SHA1 hash for large files
- command line groovy doc or methods lookup
- Compute distance from Google Earth Path (in .kml file)
- Concurrency with Groovy
- Convert SQL Result To XML
- Embedded Derby DB examples
- Embedding a Groovy Console in a Java Server Application
- Executing External Processes From Groovy
- Expect for Groovy
- Formatting simple tabular text data
- Greedy Coin Changer in Groovy
- Groovy Alternatives to Inner Classes
- Groovy as script
- Guy Steele's word split example using Groovy and GPars
- How many Triangles (list, regex, grep) example
- Installing or Update Groovy Automatically
- Integrating Groovy in an application - a success story
- Iterator Tricks
- Martin Fowler's closure examples in Groovy
- Other Examples
- Parsing Groovy Doc Online
- Plotting graphs with JFreeChart
- Reading Files Line by Line
- Reading from a Blob
- Recipes For File
- Regex search for a class in the JVM runtime classpath
- Search one or more jar files for a specified file or directory
- Simple file download from URL
- Solving Sudoku
- StreamingMarkupBuilder and IMAP client example
- SwingBuilder with custom widgets and observer pattern
- Tomcat tools
- Unsign Jar Files (Recursively)
- Using Groovy with Boost
- Using Hibernate with Groovy
- Using JGoodies Animation with Groovy
- Using JScience with Groovy
- Using MarkupBuilder for Agile XML creation
- Using Regex Patterns to find word phone numbers
- Using the Delegating Meta Class
- Using the Eclipse Modeling Framework (EMF)
- Using the Eclipse UML2 Framework
- Using the Proxy Meta Class
- Windows Look And Feel for groovyConsole
- Writing to a Blob
- Yaml and Groovy
- Zip / unzip + base64 encode String values
Modules [more]The following modules and contributions are currently available:
- COM Scripting — script Windows ActiveX and COM components with Groovy
- GFreeMarker — an integration of the FreeMarker template engine for Groovy
- Google Data Support — makes using the Google Data APIs easier from within Groovy
- Gram — a simple xdoclet-like tool for processing doclet tags or Java 5 annotations
- GraphicsBuilder — GraphicsBuilder is a Groovy builder for Java 2D
- Griffon — Dekstop Enhancements for Groovy
- Groosh — Provides a shell-like capability for handling external processes.
- Groovy Jabber-RPC — allows you to make XML-RPC calls using the Jabber protocol
- GroovyLab — Provides a domain specific language (DSL) for math engineering (matlab-like syntax).
- Groovy Monkey — is a dynamic scripting tool for the Eclipse Platform
- GroovyRestlet — Groovy DSL for constructing Restlet application
- Groovy Science
- Groovy SOAP — create a SOAP server and make calls to remote SOAP servers using Groovy
- GroovySWT — a wrapper around SWT, the eclipse Standard Widget Toolkit
- GroovyWS — GroovySOAP replacement that uses CXF and Java5 features
- GSP — means GroovyServer Pages, which is similar to JSP (JavaServer Pages)
- GSQL — supports easier access to databases using Groovy
- HTTP Builder — provides a convenient builder API for complex HTTP requests
- JideBuilder — JideBuilder is a Groovy builder for the open source JIDE Common Layer http://jide-oss.dev.java.net
- MetaBuilder — MetaBuilder is a builder that builds builders.
- Native Launcher — a native program for launching groovy scripts
- Proxy-o-Matic — Proxy-o-Matic lets you create dynamic proxies fast and in an homogeneous way
- Windows NSIS-Installer — a Windows-specific installer for Groovy
- Windows Services — framework for Groovy-based WinNT (Windows) Services
- WingSBuilder — WingsBuilder is a Groovy builder for the wingS Framework http://wingsframework.org
- XMLRPC — allows you to create a local XML-RPC server and/or to make calls on remote XML-RPC servers
- GroovyFX — GroovyFX provides a Groovy binding for JavaFX 2.0.
- Gaelyk — Gaelyk is a lightweight Groovy toolkit for developing and deploying Groovy applications on Google App Engine.
- Groovy Transforms — Provides additional AST Transformations http://groovy.codehaus.org/Compile-time+Metaprogramming+-+AST+Transformations
- Grails — a Groovy-based web framework inspired by Ruby on Rails
- GORM — the Grails Object-Relational Mapping persistence framework
- Griffon — a Groovy-based desktop framework inspired by Grails
- GroovyPlugin — A Groovy plugin for JSPWiki
- OCM Groovy — A Object Content Mapping implemented in Groovy leveraging the Java Content Repository (JCR)
- Tellurium — A test framework built on top of the Selenium test framework implemented in Groovy
- Gradle — The next generation build system
- GPars — A Groovy concurrency/parallelism library
- CodeNarc — Static analysis for defects, bad practices, inconsistencies and style issues in Groovy code.
- GroovyServ — GroovyServ makes Groovy’s startup time much faster, by pre-invoking Groovy as a server.
- GBench — The benchmarking module for Groovy
- GProf — The profiling module for Groovy
Enjoy making your code groovier !!!!
The Groovy development team is happy to announce the joint releases of the Groovy 2.4.1 and Groovy 2.3.10 of the Groovy programming language for the Java platform.
Both releases are bug fix releases, and while Groovy 2.4.1 is the latest official stable branch, we thought it might be helpful to some projects who are still on the 2.3.x line to get a final release for that branch. But going forward, the 2.3.x branch won’t see any upcoming release.
You can learn more about all the tickets closed by reading:
For reference, you can also read the release notes of Groovy 2.4 if you haven't had a chance to since the announcement.
Head over to the download section of the new Groovy website to download the binary distribution, or update your dependencies accordingly with those new version numbers.
Thanks a lot for all those who contributed to this release!
The Groovy team is happy to announce the release of Groovy 2.4.0!
- traits can use the @SelfType annotation with static type checking enabled to restrict to what classes traits can be applied
- GDK methods improvements
- some refinements to existing AST transformations
- further Groovysh improvements as well.
Groovy-related news in the blogosphere
Could not access the content at the URL because it is not from an allowed source.
You may contact your site administrator and request that this URL be added to the list of allowed sources.