The Grails Web Application Framework
Switch branches/tags
1.1.x 1.2.x 1.3.x 1.3.0.RC2 2.0.x 2.1.x 2.2.x 2.3.x 2.4.x 2.5.x 3.0.x 3.1.x-issue-9058 3.1.x 3.2.x-10121 3.2.x-10789 3.2.x-grails-issue-10583 3.2.x 3.3.x 10195 GRAILS-5087 GRAILS-6278 GRAILS-6737-Groovy-1.7.5 GRAILS-6766 GRAILS-8426 GRAILS-8974 GRAILS-9195 GRAILS-9329 GRAILS-9664 GRAILS-9686 GRAILS-9744 GRAILS-9908 GRAILS-9916 GRAILS-9937 GRAILS-9996 GRAILS-9997 GRAILS-10005 GRAILS-10013 GRAILS-10031 GRAILS-10032 GRAILS-10034 GRAILS-10064 GRAILS-10091 GRAILS-10095 GRAILS-10141 GRAILS-10145 GRAILS-10223 GRAILS-10256 GRAILS-10300-10315 GRAILS-10312 GRAILS-10319 GRAILS-10333 GRAILS-10390 GRAILS-10392 GRAILS-10393 GRAILS-10416 GRAILS-10431 GRAILS-10448 GRAILS-10458 GRAILS-10472 GRAILS-10482 GRAILS-10505 GRAILS-10509 GRAILS-10512 GRAILS-10533 GRAILS-10613 GRAILS-10631 GRAILS-10660 GRAILS-10683b GRAILS-10683 GRAILS-10728 GRAILS-10780 GRAILS-10782 GRAILS-10813 GRAILS-10826 GRAILS-10835 GRAILS-10838 GRAILS-10840 GRAILS-10843 GRAILS-10852 GRAILS-10853 GRAILS-10868 GRAILS-10871 GRAILS-10882 GRAILS-10897 GRAILS-10905 GRAILS-10908 GRAILS-10910 GRAILS-10973 GRAILS-11003 GRAILS-11011 GRAILS-11021 GRAILS-11057 GRAILS-11075 GRAILS-11093 GRAILS-11104 GRAILS-11129 GRAILS-11145 GRAILS-11197 GRAILS-11204 GRAILS-11222 GRAILS-11238 GRAILS-11242 GRAILS-11377 GRAILS-11402 GRAILS-11444 GRAILS-11448 GRAILS-11453 GRAILS-11462 GRAILS-11472 GRAILS-11505B GRAILS-11505C GRAILS-11505 GRAILS-11543 GRAILS-11576 GRAILS-11585 GRAILS-11625 GRAILS-11638 GRAILS-11655 GRAILS-11661 GRAILS-11666 GRAILS-11671 GRAILS-11680 GRAILS-11686 GRAILS-11748 GRAILS-11791 GRAILS-11806 GRAILS-11837 GRAILS-11897 GRAILS-11951 GRAILS-11958 GRAILS-11965 GRAILS-11973 GRAILS-11976 GRAILS-11986 GRAILS-12112 GROOVY-6836-ClassCastException Groovy_242_stackmap_frame_error ISSUE10909 aether alvarosanchez-patch-1 alvarosanchez-patch-2 alvarosanchez-patch-3 annotation_collector_problem async attempt-to-fix-unit-test-config autoProxyCreator banner_support beanbuilder binding_collection_problem bindingformatimprovement build_scan cleanup-plugin-dependency command_object_init compatibility copyrightstatements cors_support cs-bug-arrays dependency-management-refactor dont_constrain_readonly_properties enhances_over_traitinjector explaing_release_process expressionevaluationutils filters-traits force_file.encoding_utf8 gh-pages gorm-entity gradle-5.0 gradle5-openjdk-11 grails-shell-2 grails-shell-3 grails-shell grails-validation-refactoring grails-views-issue-28 grails-web-splitting-rebased grails-web-splitting grails3-shell grails9190 groovy2 groovy_2.3_jdk8 groovy24 groovy246 gsp-refactoring-merged gsp-split2 issue-10337 issue-10819 issue-10831 issue-10844 issue-10936 issue-10965 issue_610 issue_8974 issue_9079 issue_9129 issue_9172 issue_9183 issue_9363 issue_9365 issue_9478 issue_9749 issue9799 issue_9883 issue9986 issue_10079 issue10188 issue10238 issue10282 issue10306 issue10343 issue10363 issue10375 issue10423 issue10502 issue10600 issue10600_31x jackson-renderer-poc jefftestbranch json_api_databinding json_issue jsp-refactor list-plugins-fix master mixedmode mixin_test_rule namespaced_tag_dispatcher open-test-report owasp plugin_controller_fix plugin_issues pr_10462 profile_extends_bom reactor-integration reactor referenced_type_for_untyped_collection reloadagent remove_deprecated rule_refactoring scb-encoding-support scb-safebuffer spring4 spring_5 spring_415 springboot springloaded_115 this_variable_expressions token_replacement trait_reorg troubleshootingmasterbranch typechecking webmetautils
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
buildSrc/src/main/groovy package POM files into GRAILS_HOME/lib Jun 6, 2014
gradle Bump up to Gradle 5 Dec 5, 2018
grails-bom 7.0.0.M1 of neo4j and mongodb Dec 12, 2018
grails-bootstrap collapse keys with subscript Dec 14, 2018
grails-codecs upgrade commons-codecs May 8, 2017
grails-console Spring 5 upgrade in progress Oct 6, 2017
grails-core remove deprecation from @entity Dec 11, 2018
grails-databinding Fix failing tests Oct 11, 2018
grails-dependencies Upgrade to Groovy 2.5.3 Oct 15, 2018
grails-docs Fix compilation error. Upgrade to Groovy 2.5.4. Revert to using old G… Nov 15, 2018
grails-encoder Deprecated Class Cleanup Nov 23, 2018
grails-gradle-model grails-gradle-model classes with @CompileStatic Nov 30, 2018
grails-gradle-plugin Disable the bootJar task for grails-plugins Gradle plugin Dec 14, 2018
grails-logging Don't add logging behavior to classes that extend GrailsAutoConfigura… Sep 28, 2018
grails-plugin-codecs Remove commons-lang dependency Apr 24, 2017
grails-plugin-controllers GrailsWebRequestFilter should apply to includes and forwards Dec 13, 2018
grails-plugin-databinding Add jsr310 converters test Dec 11, 2018
grails-plugin-datasource Merge branch '3.2.x' into 3.3.x Nov 21, 2017
grails-plugin-domain-class Revert "g.persistence.Entity with g.gorm.annotation.Entity" Dec 5, 2018
grails-plugin-i18n Remove commons-lang dependency Apr 24, 2017
grails-plugin-interceptors #10998 Code reformat May 30, 2018
grails-plugin-mimetypes Fix issue with mime type reading from config Dec 14, 2018
grails-plugin-rest Revert "g.persistence.Entity with g.gorm.annotation.Entity" Dec 5, 2018
grails-plugin-services Handle null lazyInit. Fixes #10773 Aug 16, 2017
grails-plugin-url-mappings Remove grails-validation, use testing support snapshot Nov 20, 2018
grails-plugin-validation Deprecated Class Cleanup Nov 23, 2018
grails-shell Revert "g.persistence.Entity with g.gorm.annotation.Entity" Dec 5, 2018
grails-spring Spring 5 upgrade in progress Oct 6, 2017
grails-test-suite-base Upgrade to GORM 7.0 / Remove last traces of ConcurrentLinkedHashMap Nov 20, 2018
grails-test-suite-persistence Revert "g.persistence.Entity with g.gorm.annotation.Entity" Dec 5, 2018
grails-test-suite-uber Cleanup / upgrade dependencies and move to Dec 11, 2018
grails-test-suite-web Cleanup / upgrade dependencies and move to Dec 11, 2018
grails-test Compiles successfully Oct 23, 2017
grails-web-boot Tests compile Oct 23, 2017
grails-web-common Fix application context discovery issues Dec 12, 2018
grails-web-databinding Cleanup more deprecated code / use converters snapshot for the moment Nov 23, 2018
grails-web-fileupload Update Apache Commons FileUpload to 1.3.3 to fix CVE-2016-1000031 Mar 22, 2018
grails-web-mvc GrailsWebRequestFilter should apply to includes and forwards Dec 13, 2018
grails-web-url-mappings precedence to default package Dec 14, 2018
grails-web configureServletContextAttributes(..) was not being called Oct 17, 2018
media Grails Orange Logos Feb 28, 2018
travis debug broken python script Jul 16, 2016
.gitignore Merge branch '3.2.x' into 3.3.x Nov 21, 2017
.travis.yml Don’t use open Jdk 11 in travis Dec 5, 2018
INSTALL ignoring test temporarily, as due to infrastructure issues it is not … Jun 19, 2012 Refer to Stack Overflow or Slack Apr 26, 2016
LICENSE Cleanup license Apr 27, 2017 Remove waffle, since it is not being used Apr 27, 2017
build.gradle Add groovy macro to the bom Dec 14, 2018 Use GORM core 7.0 M1 Dec 12, 2018
gradlew Compiles successfully Oct 23, 2017
gradlew.bat Upgrade to Gradle 3.0 Aug 23, 2016
pubring.gpg.enc Travis publishing test take 2 Mar 10, 2015
secring.gpg.enc Travis publish take 3 Mar 9, 2015
settings.gradle Remove grails-validation, use testing support snapshot Nov 20, 2018
settings.xml.enc Travis publishing test take 2 Mar 10, 2015 Add openJDK 11 Dec 5, 2018

Build Status

  • Build Status

Slack Signup


Grails is a framework used to build web applications with the Groovy programming language. The core framework is very extensible and there are numerous plugins available that provide easy integration of add-on features.

Grails is sponsored by Object Computing Inc. in St. Louis Missouri. Please contact for support inquiries.

Getting Started

You need a Java Development Kit (JDK) installed, but it is not necessary to install Groovy because it's bundled with the Grails distribution.

To install Grails, visit and download the version you would like to use. Set a GRAILS_HOME environment variable to point to the root of the extracted download and add GRAILS_HOME/bin to your executable PATH. Then in a shell, type the following:

grails create-app sampleapp
cd sampleapp
grails run-app

To build Grails, clone this GitHub repository and execute the install Gradle target:

git clone
cd grails-core
./gradlew install

If you encounter out of memory errors when trying to run the install target, try adjusting Gradle build settings. For example:

export GRADLE_OPTS="-Xmx2G -Xms2G -XX:NewSize=512m -XX:MaxNewSize=512m -XX:MaxPermSize=1G"

Performing a Release

Releases of Grails are automated by Travis CI.

To create a release perform the following steps.

First check that the tests are passing and all is well on Travis.

Next, update the Grails version in build.gradle and grails-core/src/test/groovy/grails/util/ and then push the changes to git:

$ git add build.gradle grails-core/src/test/groovy/grails/util/
$ git commit -m "Release Grails 3.0.1"
$ git tag v3.0.1
$ git push --tags
$ git push

By tagging the release Travis will perform all the necessary steps to release a new version of Grails, just wait for the build to complete.

The Travis CI build will automatically upload the tagged release to Github and be available on the Releases page.


Grails and Groovy are licensed under the terms of the Apache License, Version 2.0.

YourKit is kindly supporting Grails open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.