arquillian-gradle-plugin icon indicating copy to clipboard operation
arquillian-gradle-plugin copied to clipboard

Gradle Plugin for handling Container control and deployment lifecycle

Gradle Arquillian plugin

image:http://www.jboss.org/dms/jbossway/carousel_arquillian_logo.png[Arquillian Logo]

Gradle plugin for handling container control and deployment lifecycle.

== Usage

To use the plugin, include in your build script:

[source,groovy]

buildscript { repositories { jcenter() }

dependencies {
    classpath 'org.jboss.arquillian.gradle:arquillian-gradle-plugin:0.1'
}

}

apply plugin: 'arquillian'

== Tasks

The plugin defines the following tasks:

[options="header"] |======= |Task name |Depends on |Type |Description |arquillianStart<ContainerName> |- |ArquillianStart |Starts a container. |arquillianStop<ContainerName> |- |ArquillianStop |Stops a running container. |arquillianDeploy<ContainerName> |assemble |ArquillianDeploy |Deploys an archive to a container. |arquillianUndeploy<ContainerName> |assemble |ArquillianUndeploy |Undeploys an archive from a container. |arquillianRun<ContainerName> |assemble |ArquillianRun |Starts the container, deploys an archive to it and waits until the user presses CTRL + C to stop. |=======

== Extension properties

The plugin defines the following extension properties in the arquillian closure:

[options="header"] |======= |Property name |Type |Default value |Description |debug |Boolean |false |Configures the Arquillian container to run in debug mode. |deployable |File |WAR, EAR or JAR file depending on applied plugins |The deployable artifact. This can be a WAR, EAR or JAR file. |containers |NamedDomainObjectContainer<ArquillianContainer> |default container |The containers to be used. |=======

If no container is specified using the containers property, an embedded Jetty container is used.

=== Example

[source,groovy]

arquillian { debug = true deployable = file('my/path/arbitraryWebApp.war')

containers {
    jetty {
        version = '8'
        type = 'embedded'
        config = ['bindHttpPort': 8085, 'bindAddress': '127.0.0.1', 'jettyPlus': false]

        dependencies {
            adapter 'org.jboss.arquillian.container:arquillian-jetty-embedded-7:1.0.0.CR2'
            container 'org.eclipse.jetty:jetty-webapp:8.1.11.v20130520'
            container group: 'org.eclipse.jetty', name: 'jetty-plus', version: '8.1.11.v20130520'
        }
    }

    glassfish {
        version = '3'
        type = 'embedded'
    }
}

}