Skip to content
The Grails Web Application Framework
Java Groovy CSS HTML Shell PostScript
Find file
Failed to load latest commit information.
buildSrc/src/main/groovy package POM files into GRAILS_HOME/lib
gradle Merge branch '3.0.x' into 3.1.x
grails-async Fixing squid:S1118 - Utility classes should not have public constructors
grails-bom Use GORM 5 release
grails-bootstrap Merge branch 'master' of github.com:grails/grails-core
grails-codecs move failing test
grails-compat Don't include abstract classes in Grails factories. Fixes #9339
grails-console fixes #9522 - grails console: No Session found for current thread
grails-core Merge branch 'master' of github.com:grails/grails-core
grails-databinding Issue #685 - Second format in DateConversionHelper should also use HH
grails-dependencies remove filters dependency
grails-docs Fixing squid:S1118 - Utility classes should not have public constructors
grails-encoder Merge pull request #9533 from DevFactory/staging/Conditions-should-no…
grails-gradle-model Profiles - profile repository support / read profiles from Maven repos
grails-gradle-plugin Allow running an application with dependent plugin classes being plac…
grails-gsp Merge pull request #9536 from DevFactory/staging/Collections-emptyLis…
grails-logging Make testing infrastructure servlet API independent. Fixes #9391
grails-plugin-async Added README.md files
grails-plugin-codecs Make 'grails-codecs' a runtime dependency to ensure it gets added to …
grails-plugin-controllers Merge branch '3.0.x' into 3.1.x
grails-plugin-converters Merge branch '3.0.x'
grails-plugin-databinding Added README.md files
grails-plugin-datasource Rework loading of Metadata. Fixes #9375
grails-plugin-domain-class Merge branch '3.0.x'
grails-plugin-events Fix functional test failures
grails-plugin-gsp Merge branch '3.0.x'
grails-plugin-i18n Added README.md files
grails-plugin-interceptors #9548: using casting instead of asType
grails-plugin-mimetypes fix failing tests
grails-plugin-rest Adds the ability to customize the behavior of save and update for res…
grails-plugin-services Allow disabling of Spring proxy-based transaction management
grails-plugin-testing Merge branch 'master' of github.com:grails/grails-core
grails-plugin-url-mappings resource tag not resolving correctly - Fixes #9584
grails-plugin-validation Fix for ConcurrentModificationException. Fixes #9579
grails-shell Since there is no reliable way to read a list of available profiles, …
grails-spring Fixing squid:S1596 - Collections.emptyList(), emptyMap() and emptySet…
grails-taglib Fixing squid:S1118 - Utility classes should not have public constructors
grails-test-suite-base Merge branch '3.0.x' into 3.1.x
grails-test-suite-persistence Remove dependency on Gson in favour of Groovy's built in JSON support
grails-test-suite-uber Merge remote-tracking branch 'origin/issue_9363' into 3.1.x
grails-test-suite-web remove filters support
grails-test Fixing squid:S1118 - Utility classes should not have public constructors
grails-validation Fixing squid:S1596 - Collections.emptyList(), emptyMap() and emptySet…
grails-web-boot Fixes #9226 - SpringBoot Profile not set when deployed as war
grails-web-common Merge branch '3.0.x'
grails-web-databinding Fixing squid:S1596 - Collections.emptyList(), emptyMap() and emptySet…
grails-web-fileupload The word Subproject isn't adding anything here
grails-web-gsp-taglib Make forceEncoding configurable
grails-web-gsp Merge branch '3.0.x'
grails-web-jsp Added README.md files
grails-web-mvc Config - No need to flatten the config anymore
grails-web-sitemesh Merge pull request #9536 from DevFactory/staging/Collections-emptyLis…
grails-web-taglib Merge pull request #9533 from DevFactory/staging/Conditions-should-no…
grails-web-url-mappings Merge branch 'master' of github.com:grails/grails-core
grails-web fix request setter method not always being available
media vector logos
travis Travis build: fix junit-errors-to-stdout.sh script
.gitignore remove references to dsl-support directory
.springBeans ignoring test temporarily, as due to infrastructure issues it is not …
.travis.yml Fix trigger dependency build
INSTALL ignoring test temporarily, as due to infrastructure issues it is not …
LICENSE Update ant to 1.9.4
NOTICE update LICENSE and README
README.md Release Grails 3.1.0.RC2
build.gradle Merge branch '3.1.x'
gradle.properties ignoring test temporarily, as due to infrastructure issues it is not …
gradlew update to Gradle 2.8
gradlew.bat ignoring test temporarily, as due to infrastructure issues it is not …
pubring.gpg.enc Travis publishing test take 2
secring.gpg.enc Travis publish take 3
settings.gradle remove filters support
settings.xml.enc Travis publishing test take 2
travis-after-failure.sh Merge branch '2.5.x'
travis-build.sh Merge branch '3.0.x' into 3.1.x
trigger-dependent-build.sh Don't trigger dependent builds for releases

README.md

Waffle.IO Board

  • Stories in Acknowledged
  • Stories in Progress

Build Status

  • Build Status

Slack Signup

  • Slack Signup

Grails

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 info@ociweb.com 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 http://grails.org/Download 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 https://github.com/grails/grails-core.git
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/GrailsUtilTests.java and then push the changes to git:

$ git add build.gradle grails-core/src/test/groovy/grails/util/GrailsUtilTests.java
$ 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.

License

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.

Something went wrong with that request. Please try again.