Gretty is a feature-rich Gradle plugin for running web-apps on embedded servlet containers. It supports Jetty version 11, Tomcat version 10, multiple web-apps and many more. It wraps servlet container functions as convenient Gradle tasks and configuration DSL.
A complete list of Gretty features is available in feature overview.
You are looking at Gretty's master branch which is for Gretty 4. You also might want to look at the gretty-3.x one which is for Gretty 3. It is still in development and supports older (non-Jakarta) versions of Jetty and Tomcat.
If you are new with Gretty, try getting started page.
March 30, 2021, Gretty 3.0.4 is out and available at Gradle Plugins and Bintray.
Special thanks to all contributors to this release, and especially Boris Petrov, Falco Duersch and Stefan Wolf for multiple contributions.
-
Changes in this version:
-
Gradle 7 support
-
Fix handling of httpsIdleTimeout in Tomcat (#144)
-
Fix behavior of maxPostSize in Tomcat (#144)
-
Guard remaining calls to Connector#setProperty with assertions (#144)
-
Removed calls to Jetty 9.4 deprecated method (soLingerTime) (#171)
-
Update Gradle's testing version to 6.6.1 and geckodriver to 0.27.0
-
Fix issue #104 - Bug: HotReload Exception with Composite
-
Correctly populate the
writerfield inServerStartEventImpl -
Fix issue #104 - Bug: HotReload Exception with Composite
-
Ability to add additinal files to product build.
-
Update ASM
-
Update default Tomcat versions
-
Also run the full test suite on JDK 15
-
Use a specific Gradle version for all Travis tasks
-
Update Gradle's version to 6.8.3
-
Non-blocking context initialization. Fix "redeploy" cleanup.
-
Update Groovy
-
Migrate from Travis CI to GitHub actions
-
Annotate
ServerConfigto fix Gradle deprecation warnings (#195) -
Annotate
WebAppConfig, StartBaseTask, AppAfterIntegrationTestTask, AppBeforeIntegrationTestTask, AppServiceTask, FarmStartTask, AppRedeployTask, FarmAfterIntegrationTestTask, FarmBeforeIntegrationTestTask, FarmIntegrationTestTask, JacocoHelper -
Rename annotated interfaces for tasks
-
Fix a bunch of Gradle deprecation warnings
-
Use
apiforlibs/grettydependencies -
Lazily add source and classes dirs
-
Use Gradle's
Task Configuration AvoidanceAPIs in a few places -
Add validation task to gretty plugin
-
Use java-gradle-plugin for generating the plugin properties
-
Upgrade to newest version of the publishing plugin
-
Enable stricter validation for validatePlugins
-
Replace deprecated task name in jacocoInstantiateTasks itest
-
Move common.gradle to a precompiled script plugin
-
Use different configuration for library and plugin projects
-
Move some more things out of
afterEvaluate -
Fix source- and targetCompatibility versions
-
Use publication for uploading to bintray
-
Remove the maven plugin
-
Use new API for publishing javadoc and sources
-
Add a missing
bintrayUserOrgproperty -
Fix using the wrong configuration for runner-projects
-
Use task configuration avoidance (easy instances) #141
-
Add some dependencies needed by Groovy 3
-
Spring support: avoid classloading of webapp classes at configuration time
May 7, 2020, Gretty 3.0.3 is out and available at Gradle Plugins and Bintray.
-
Changes in this version:
-
Updated ASM to 8.0.1.
-
Fixed excess logging output and set initial log level (#150).
-
Removed deprecated check for already in-use ports (#147).
-
Added support for Gradle 5.6 debugging API.
-
Fixed incorrect serialization of the initParameters in productBuild.
-
Updated Tomcat 9 version and TC9 servlet API version.
-
Set javaExec debug options properly.
-
Updated Gradle 6 testing to use Gradle 6.3.
See complete list of changes for more information.
March 29, 2020, Gretty 3.0.2 is out and available at Gradle Plugins and Bintray.
This release brings Java 14 support, deprecation fixes for Gradle 6.x and bug-fixes.
https://bintray.com/javabrett/maven/org.gretty/view
December 2, 2019, Gretty 3.0.1 is out and available at Gradle Plugins and Bintray.
This release contains further fixes for Gradle 6.0 support.
December 1, 2019, Gretty 3.0.0 is out and available at Gradle Plugins and Bintray.
This release introduces Gradle 6.0 support and retires support for JDK7, Gradle versions <5.0 and Tomcat 7.x and 8.0.x.
See complete list of changes for more information.
December 5, 2018, Gretty 2.3.1 is out and available at Gradle Plugins and Bintray.
This maintenance release addresses some issues found in Gretty 2.3.0. See complete list of changes for more information.
November 28, 2018, Gretty 2.3.0 is out and available at Gradle Plugins and Bintray.
This release adds support for Gradle 5.0, which was released this week! Please raise an issue if you find any issues running Gretty 2.3+ with Gradle 5.0.
See also: complete list of changes for more information.
May 21, 2018, Gretty(.org) 2.2.0 is out and immediately available at Gradle Plugins and Bintray.
-
Changes in this version:
-
Bumped default Tomcat 9 version to 9.0.6 (was 9.0.5).
-
Support added for Tomcat 8.5 and Tomcat support refactoring (thanks Boris Petrov). Tomcat 8.5 replaces deprecated Tomcat 8.0.
-
Bumped Spring Boot version to 1.5.9 (was 1.5.4).
-
Bumped versions of asm (6.1.1, was 6.0), Groovy (2.4.15, was 2.4.13) and Spring (4.3.16, was 4.3.9) (thanks Henrik Brautaset Aronsen).
-
Fixed incompatibility with java-library plugin (thanks Ollie Freeman).
-
Dev: various build and test improvements.
See also: complete list of changes for more information.
You can learn about all Gretty features in online documentation.
Gretty requires JDK11+ and Gradle 6.0 or newer.
- Since version 2.0.0 Gretty no longer supports JDK6.
- Since version 3.0.0 Gretty no longer supports JDK7, Gradle <5.0, Tomcat 7.x or Tomcat 8.0.x.
- Since version 4.0.0 Gretty supports only JDK 11+, Gradle 6.0+, Tomcat 10.x and Jetty 11.x
Gretty is an open-source project and is freely available in sources as well as in compiled form.
Releases of Gretty (gretty.org fork) from 2.1.0 onwards are available at Bintray. Old releases of Gretty up to and including version 2.0.0 are available at Bintray.
Copyright 2013-2020 (c) Andrey Hihlovskiy, Timur Shakurov and contributors.
All versions, present and past, of Gretty are licensed under MIT license.