Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Grails Web Application Framework
Java Groovy CSS HTML Shell PostScript
Branch: master
Failed to load latest commit information.
buildSrc/src/main/groovy package POM files into GRAILS_HOME/lib
gradle Merge branch '2.5.x' into 3.0.x
grails-async Async: allow assigning a value to an unfulfilled promise
grails-bom Use fields 2.1.0 and scaffolding 3.1.1
grails-bootstrap Fixes #9186 - @Secured Spring Boot annot. breaks Render tag
grails-compat Remove redundant classes
grails-console The word Subproject isn't adding anything here
grails-core Merge branch '3.0.x'
grails-databinding The word Subproject isn't adding anything here
grails-dependencies Added README.md files
grails-docs Added README.md files
grails-encoder Added README.md files
grails-gradle-model Added README.md files
grails-gradle-plugin Merge branch '3.0.x'
grails-gsp fix failing test
grails-logging - Added details for grails logging plugin
grails-plugin-async Added README.md files
grails-plugin-codecs Make forceEncoding configurable
grails-plugin-controllers Make forceEncoding configurable
grails-plugin-converters Remove JSONObject.Null class
grails-plugin-databinding Added README.md files
grails-plugin-datasource Added README.md files
grails-plugin-domain-class Added README.md files
grails-plugin-events Added README.md files
grails-plugin-filters Added README.md files
grails-plugin-gsp Merge branch '3.0.x'
grails-plugin-i18n Added README.md files
grails-plugin-interceptors fix failing tests
grails-plugin-mimetypes Added README.md files
grails-plugin-rest When using respond, of the object is a map treat it as the model
grails-plugin-services Added README.md files
grails-plugin-testing fix failing functional test
grails-plugin-url-mappings Fix default link caching
grails-plugin-validation Added README.md files
grails-shell Merge branch '3.0.x'
grails-spring Added README.md files
grails-taglib Added README.md files
grails-test-suite-base Added README.md files
grails-test-suite-persistence Added README.md files
grails-test-suite-uber GSP setting rework fixes
grails-test-suite-web fix failing test
grails-test Upgrade to Spring 4.2 and Spring Boot 1.3 M4
grails-validation Added README.md files
grails-web-boot Added README.md files
grails-web-common Merge branch '3.0.x'
grails-web-databinding Remove JSONObject.Null class
grails-web-fileupload The word Subproject isn't adding anything here
grails-web-gsp-taglib Make forceEncoding configurable
grails-web-gsp Fixes #9186 - @Secured Spring Boot annot. breaks Render tag
grails-web-jsp Added README.md files
grails-web-mvc Added README.md files
grails-web-sitemesh Added README.md files
grails-web-taglib Added README.md files
grails-web-url-mappings Added README.md files
grails-web Make forceEncoding configurable
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 slack integration
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 Merge branch '3.0.x'
build.gradle upgrade to bintray 1.2
gradle.properties ignoring test temporarily, as due to infrastructure issues it is not …
gradlew Update gradle wrapper to 1.5-rc-1
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 grails-web-initializer subproject
settings.xml.enc Travis publishing test take 2
travis-after-failure.sh Merge branch '2.5.x'
travis-build.sh make Travis CI build compatible with builds in forks and pull requests

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.

With that done checkout the Profile Repository and tag it for the release version. The tag should begin with the letter 'v'. For example::

$ git clone git@github.com:grails/grails-profile-repository.git
$ cd grails-profile-repository
$ git tag v3.0.2
$ git push --tags

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.2"
$ git push

After pushing these changes to the repository you must wait for the build to complete. During this phase the JAR files will be uploaded to the Grails Artefactory Repository.

Once the build completes successfully, tag the release using Git:

 $ git tag v3.0.2
 $ git push --tags

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

Note: Although by default Grails uses Artefactory to resolve dependencies, it is useful to have them in Maven Central too. To ensure they go to Maven Central login to Sonatype OSS Nexus with your account details then "Close" and "Release" the staged JAR files.

At this point it is a good idea to release the documentation:

$ git clone git@github.com:grails/grails-doc.git
$ cd grails-doc
$ echo "grails.version=3.0.2" > gradle.properties
$ git add gradle.properties
$ git commit -m "Release 3.0.2 docs"
$ git tag v3.0.2
$ git push --tags

The Travis CI build for the documentation will automatically publish the documentation and make it available on the website at: http://grails.org/doc/3.0.2

Finally to update the website's download page you should edit the sitemap

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.