meets
Gradle Payara plugin is available now!
Detail information is available at gradle plugin portal.
And the repository is here.
Install
Add following script to your build.gradle
, you can use Gradle Payara plugin.
All Gradle version
buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "gradle.plugin.org.mikeneck:payara-plugin:0.0.2" } } apply plugin: "org.mikeneck.payara-plugin"
New Plugin mechanism (introduced in Gradle2.1)
plugins { id "org.mikeneck.payara-plugin" version "0.0.2" }
Features
Applying this plugin, the following tasks and plugins are applied to your project.
war
plugin will be automatically applied to your project.payaraRunWar
task which assembles JavaEE app into war file and deploy it to payara-micro server.payaraStop
tasks which stops payara-micro server ran bypayaraRunWar
.
How to configure
You can configure payara-micro server, with payara{}
block.
payara { httpPort 8000 // default 8080 stopPort 3000 // default 5050 stopCommand = 'STOP-PAYARA' // default 'stop' daemon true // default false }
Available attributes are
attributes | type | description |
---|---|---|
httpPort |
int |
port number whom payara-micro use as http-listener . |
stopPort |
int |
port number for user to stop payara-micro server. |
stopCommand |
String |
command string for user to stop payara-micro server. |
daemon |
boolean |
If true payara-micro server runs in backend, and gradle task will finish in success. If false payara-micro server blocks gradle tasks execution. |
But currently daemon
mode is not implemented, so this feature is not available.
Running task
Running payara-micro server
To start payara-micro server and deploy war file created by your project...
$ gradle --daemon payaraRunWar
With this command and configuration described before, you can access Java EE application via http://localhost:8000/war-archive-name
.
Stopping payara-micro server
To stop payara-micro server, there are two way to stop it.
via http access
With the configuration above...
$ curl -X POST -d 'STOP-PAYARA' http://localhost:3000/
via payaraStop
task
or payaraStop
task can stop payara-micro server.
$ gradle --daemon payaraStop
Limittage
There are some limitation.
- The configuration
daemon
has no effect on these tasks. - Multiple wars cannot be deployed.
- Multiple payara-micro instances with hazelcast are not available.
- Redeployment of war file(like
jetty
plugin) is not available. - Deploying none war file(i.e. deploying project classes like
jettyRun
task) is not available. - Customized glassfish-config file cannot be installed.
I'm now implementing daemon
mode in the next version (0.0.3).
Bugs
There are a lot of exception stack traces. I'm not good at Payara's implementation and Glassfish's implementation, but I'll fix them one by one. I'll appreciate it if you would send Pull Request to my repository.
Motivation
There was an requesting issue to provide Gradle payara plugin in Feb 2015. But it seems nobody is trying to create the plugin, so I decided to create it.
This and That
For the first time payara-micro cannot be started in Gradle task execution context, so unexpectedly I created an pull request to payara micro.
And Payara team merged it soon.
@mike_neck Thanks it's merged try out the latest unstable when it's built by Jenkins https://t.co/UZtoZCAJhX
— Steve Millidge (@l33tj4v4) 2015, 9月 5
I respect Payara team's quick work.