Groovy language core repository mirror from Codehaus.
Java Groovy GAP CSS TeX XSLT Other
Switch branches/tags
GROOVY_2_2_2 GROOVY_2.2.2-test GROOVY_2_2_1 GROOVY_2_2_0 GROOVY_2_2_0_RC_3 GROOVY_2_2_0_RC_2 GROOVY_2_2_0_RC_1 GROOVY_2_2_0_BETA_1 GROOVY_2_1_9 GROOVY_2_1_8 GROOVY_2_1_7 GROOVY_2_1_6 GROOVY_2_1_5 GROOVY_2_1_4 GROOVY_2_1_3 GROOVY_2_1_2 GROOVY_2_1_1 GROOVY_2_1_0 GROOVY_2_1_0_RC_3 GROOVY_2_1_0_RC_2 GROOVY_2_1_0_RC_1 GROOVY_2_1_0_BETA_1 GROOVY_2_0_8 GROOVY_2_0_7 GROOVY_2_0_6 GROOVY_2_0_5 GROOVY_2_0_4 GROOVY_2_0_2 GROOVY_2_0_1 GROOVY_2_0_0 GROOVY_2_0_0_RC_4 GROOVY_2_0_0_RC_3 GROOVY_2_0_0_RC_2 GROOVY_2_0_0_RC_1 GROOVY_2_0_0_BETA_3 GROOVY_2_0_0_BETA_2 GROOVY_1_9_BETA_3 GROOVY_1_9_BETA_1 GROOVY_1_8_9 GROOVY_1_8_8 GROOVY_1_8_7 GROOVY_1_8_6 GROOVY_1_8_5 GROOVY_1_8_4 GROOVY_1_8_3 GROOVY_1_8_2 GROOVY_1_8_1 GROOVY_1_8_0 GROOVY_1_8_0_RC_2 GROOVY_1_8_0_BETA_3 GROOVY_1_8_RC_4 GROOVY_1_8_RC3 GROOVY_1_8_RC_1 GROOVY_1_8_BETA_4 GROOVY_1_8_BETA_2 GROOVY_1_8_BETA_1 GROOVY_1_7_11 GROOVY_1_7_10 GROOVY_1_7_9 GROOVY_1_7_8 GROOVY_1_7_7 GROOVY_1_7_6 GROOVY_1_7_5 GROOVY_1_7_4 GROOVY_1_7_3 GROOVY_1_7_2 GROOVY_1_7_1 GROOVY_1_7_0 GROOVY_1_7_RC_2 GROOVY_1_7_RC1 GROOVY_1_7_BETA_2 GROOVY_1_7_BETA_1 GROOVY_1_6_9 GROOVY_1_6_8 GROOVY_1_6_7 GROOVY_1_6_6 GROOVY_1_6_5 GROOVY_1_6_4 GROOVY_1_6_3 GROOVY_1_6_2 GROOVY_1_6_1 GROOVY_1_6_0 GROOVY_1_6_0_RC_3 GROOVY_1_6_RC_2 GROOVY_1_6_RC_1 GROOVY_1_6_BETA_2 GROOVY_1_6_BETA_1 GROOVY_1_5_8 GROOVY_1_5_7 GROOVY_1_5_6 GROOVY_1_5_5 GROOVY_1_5_4 GROOVY_1_5_2 GROOVY_1_5_1 GROOVY_1_5_0 GROOVY_1_1_RC_3 GROOVY_1_1_RC_2 GROOVY_1_1_RC_1 GROOVY_1_1_BETA_3 GROOVY_1_1_BETA_2
Nothing to show
Pull request Compare This branch is 1 commit ahead, 856 commits behind groovy:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
benchmark
buildSrc
config
gradle
lib
security
src
subprojects
xdocs/images
.gitignore
LICENSE.txt
NOTICE.txt
README.adoc
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.adoc

Groovy

groovy logo

Groovy is an agile and dynamic language for the Java Virtual Machine. It builds upon the strengths of Java, but has additional power features inspired by languages like Python, Ruby and Smalltalk.

Groovy makes modern programming features available to Java developers with almost-zero learning curve as well as supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain.

Groovy makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL.

It also increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications. Groovy simplifies testing by supporting unit testing and mocking out-of-the-box. Groovy also seamlessly integrates with all existing Java classes and libraries and compiles straight to Java bytecode so you can use it anywhere you can use Java.

Downloading

Latest Groovy version is availble on Bintray Bintray latest version

Binary distribution links are on the package page.

Maven, Gradle and Ivy dependency declaration snippets are available on specific files of a particular module.

Get automatic notifications about new "groovy" versions link=https://bintray.com/groovy/maven/groovy/view?source=watch

Building

Build is build status.

To build you will need:

To build everything using Gradle (the command below will download Gradle automatically, you do not need to download it first).

./gradlew clean dist

This will generate a distribution similar to the zip you can download on the Groovy download page.

To build everything and launch unit tests, use

./gradlew test

If you want to launch one unit test, use this. <TestClassName> is like groovy.GroovyMethodsTest.

./gradlew :test --tests <TestClassName>

To build from IntelliJ IDEA

./gradlew jarAll idea

Then open the generated project in IDEA.

To build from Eclipse

./gradlew jarAll eclipse

Then open the generated project and the generated subprojects in Eclipse.

InvokeDynamic support

The Groovy build supports the new Java 7 JVM instruction invokedynamic. If you want to build Groovy with invokedynamic, you can use the project property indy:

./gradlew -Pindy=true clean test

Please note that the following Gradle tasks generate both indy and non indy variants of the jars, so you don’t need to use the system property:

  • dist

  • install

  • uploadArchives

Continuous Integration

The official CI server runs here (login as user guest and leave the password blank) and is sponsored by JetBrains.

License

Groovy is licensed under the terms of the Apache License, Version 2.0