diff --git a/src/en/guide/reference.adoc b/src/en/guide/reference.adoc index 98d224b4a8..f0d29b4575 100644 --- a/src/en/guide/reference.adoc +++ b/src/en/guide/reference.adoc @@ -9,6 +9,11 @@ include::ref/Command Line/create-app.adoc[] +[[ref-command-line-assemble]] +==== assemble + +include::ref/Command Line/assemble.adoc[] + [[ref-command-line-create-controller]] ==== create-controller diff --git a/src/en/ref/Command Line/assemble.adoc b/src/en/ref/Command Line/assemble.adoc new file mode 100644 index 0000000000..6e1c312c96 --- /dev/null +++ b/src/en/ref/Command Line/assemble.adoc @@ -0,0 +1,54 @@ + +== assemble + + + +=== Purpose + + +The `assemble` command creates a Web Application Archive (WAR) file which can be deployed on any Java EE compliant application server. + + +=== Examples + + +[source,groovy] +---- +./gradlew assemble +./gradlew test assemble +./gradlew -Dgrails.env=staging assemble +---- + + +=== Description + + +Usage: +[source,groovy] +---- +./gradlew <>* assemble <>* +---- + + +By default the `assemble` command creates a web application archive (WAR) file using the application name and version number. The `assemble` command is different from most commands since it runs in the production environment by default instead of development, but like any script the environment can be specified using the standard convention: + +[source,groovy] +---- +./gradlew test assemble +./gradlew dev assemble +./gradlew prod assemble +---- + +Additionally, it is highlighted that upon execution, two files will be generated in the build/libs directory. One file with a 'plain' suffix is designed for be deployed on any Java EE compliant application server, while the other file is a WAR file that houses an embedded server, which can be run with the command java -jar .war. + + +You can also specify a custom environment: + +[source,groovy] +---- +./gradlew -Dgrails.env=UAT assemble +---- + +Once the WAR has been created you can deploy it to your container using its standard WAR deployment process. + +NOTE: Grails 2.x `war` command allowed you to supply the argument `nojars` - which packaged the WAR with no jar files. In Grails 3.x, this argument is no longer available. Instead, you may use Gradle capabilities to generate a WAR without jar files. One option would be to set your dependencies as `providedCompile` and `providedRuntime`. Those two configurations have the same scope as the respective compile and runtime configurations, except that they are not added to the WAR archive. Check https://docs.gradle.org/current/userguide/war_plugin.html[Gradle WAR Plugin] documentation for more information. \ No newline at end of file