gradle appRun
appRun task starts web-app inplace, in interactive mode.
The web-app gets compiled (if it’s not up-to-date).
Embedded servlet-container starts in separate java process against compiled classes and their dependencies and listens for HTTP-requests on port (default 8080).
Gretty waits for the user keypress.
When user presses any key (in the same terminal), servlet-container process shuts down.
Gretty waits for servlet-container process to complete.
Gradle script continues normal execution of tasks.
Note that this task does not depend on "war" task, nor does it use WAR-file.
The object called appRun is actually an instance of AppStartTask class, created and configured for you by Gretty. You can instantiate or even extend this class on your own:
apply plugin: 'org.akhikhl.gretty'
import org.akhikhl.gretty.AppStartTask
task('MyRun', type: AppStartTask) {
// ...
}
class VerySpecialRun extends AppStartTask {
// ...
}
task('MyRun2', type: VerySpecialRun) {
// ...
}
If you are going to instantiate or extend this task class yourself, make sure you’ve learned it’s properties and methods.