Groovy language Git repository
Java Groovy Other
Switch branches/tags
GROOVY_2_2_0_BETA_1 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_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 GROOVY_1_1_BETA_1 GROOVY_1_0 GROOVY_1_0_RC_2 GROOVY_1_0_RC_1 GROOVY_1_0_JSR_06 GROOVY_1_0_JSR_05 GROOVY_1_0_JSR_04 GROOVY_1_0_JSR_03 GROOVY_1_0_JSR_02 GROOVY_1_0_JSR_01 GROOVY_1_0_BETA_9
Nothing to show
Pull request Compare This branch is 2509 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
security
src
subprojects
xdocs/images
.gitignore
LICENSE.txt
NOTICE.txt
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

Groovy

[Groovy][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. [Groovy]: http://groovy.codehaus.org/

Building

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

To build from IntelliJ IDEA

./gradlew jarAll idea

Then open the generated project in IDEA.

To build from Eclipse (work in progress see GROOVY-6226 for details)

./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

License

Groovy is licensed under the terms of the [Apache License, Version 2.0][Apache License, Version 2.0]. [Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html