diff --git a/webapp-maven-plugin/README.md b/webapp-maven-plugin/README.md
index 777af69ce..4f76043f3 100644
--- a/webapp-maven-plugin/README.md
+++ b/webapp-maven-plugin/README.md
@@ -1,8 +1,9 @@
# Azure Web Apps Maven Plugin
-The Azure Web Apps plugin provides seamless integration of Azure Web Apps into Maven, and makes it easier for developers to deploy container images to Azure Web Apps on Linux.
+The Azure Web Apps plugin provides seamless integration of Azure Web Apps into Maven,
+and makes it easier for developers to deploy to Web App and [Web App on Linux](https://docs.microsoft.com/azure/app-service-web/app-service-linux-intro) in Azure.
-**Note**: This plugin is still in preview, as is [Azure Web Apps on Linux](https://docs.microsoft.com/azure/app-service-web/app-service-linux-intro). For now, only Linux-based Web Apps are supported, although additional features are planned.
+**Note**: This plugin is still in preview; feedback and feature requests are warmly welcome.
## Prerequisites
@@ -17,7 +18,7 @@ The Azure Web Apps plugin has only one goal: `webapp:deploy`, which is bounded t
Goal | Description
--- | ---
-`webapp:deploy` | Deploy a docker container image to an Azure Web App based on your configuration.
If the specified Web App does not exist, it will be created.
+`webapp:deploy` | Deploy artifacts or docker container image to an Azure Web App based on your configuration.
If the specified Web App does not exist, it will be created.
## Usage
@@ -54,8 +55,12 @@ Property | Required | Description
`` | true | Specifies the name of your Web App.
`` | false | Specifies the region where your Web App will be hosted; the default value is **westus**.
This setting will be used only when you are creating a new Web App; if the Web App already exists, this setting will be ignored.
`` | false | Specifies the pricing tier for your Web App; the default value is **S1**.
This setting will be used only when you are creating a new Web App; if the Web App already exists, this setting will be ignored.
-`` | true | Specifies the docker container image to deploy to your Web App.
Docker hubs and private container registries are both supported; see the [Container Setting](#container-setting) section of this README for details.
+`` | false | Specifies the JVM version for your Web App.
This setting is only applicable for normal Web App (Windows based); see the [Java Runtime](#java-runtime) section of this README for details.
+`` | false | Specified the Web Container for your Web App.
This setting is only applicable for normal Web App (Windows based); see the [Web Container](#web-container) section of this README for details.
+`` | false | Specifies the docker container image to deploy to your Web App.
Docker hubs and private container registries are both supported; see the [Container Setting](#container-setting) section of this README for details.
`` | false | Specifies the application settings for your Web App, which are defined in name-value pairs like following example:
``
`xxxx`
`xxxx`
``
+`` | false | Specifies the deployment approach you want to use. Only `ftp` is supported right now.
+`` | false | Specifies the artifacts to be deployed to your Web App; see the [Deploy via FTP](#deploy-via-ftp) section for more details.
`` | false | Specifies whether to throw an exception when there are fatal errors during execution; the default value is **true**.
This setting helps prevent deployment failures from failing your entire Maven build.
`` | false | Specifies whether to allow this plugin to send telemetry data; the default value is **true**.
@@ -151,8 +156,112 @@ to create an authentication file.
You are all set. No extra configuration are required.
+### Web App (Windows based)
+
+For Windows-based Web App, only Java runtime stack is supported in our plugin. You can use `` and `` to configure your Web App.
+
+
+#### Java Runtime
+Use values from the following table to configure the JVM you want to use in your Web App.
+
+Supported Value | Description
+---|---
+`1.7` | Java 7, Newest minor version
+`1.7.0_51` | Java 7, Update 51
+`1.7.0_71` | Java 7, Update 71
+`1.8` | Java 8, Newest minor version
+`1.8.0_25` | Java 8, Update 25
+`1.8.0_60` | Java 8, Update 60
+`1.8.0_73` | Java 8, Update 73
+`1.8.0_111` | Java 8, Update 111
+`1.8.0_92` | Azul's Zulu OpenJDK 8, Update 92
+`1.8.0_102` | Azul's Zulu OpenJDK 8, Update 102
+
+It is recommended to ignore the minor version number like the following example, so that the latest supported JVM will be used in your Web App.
+
+ ```xml
+
+ com.microsoft.azure
+ webapp-maven-plugin
+
+ 1.8
+ ...
+
+
+ ```
+
+
+#### Web Container
+
+Use values from the following table to configure the Web Container in your Web App.
+
+Supported Value | Description
+---|---
+`tomcat 7.0` | Newest Tomcat 7.0
+`tomcat 7.0.50` | Tomcat 7.0.50
+`tomcat 7.0.62` | Tomcat 7.0.62
+`tomcat 8.0` | Newest Tomcat 8.0
+`tomcat 8.0.23` | Tomcat 8.0.23
+`tomcat 8.5` | Newest Tomcat 8.5
+`tomcat 8.5.6` | Tomcat 8.5.6
+`jetty 9.1` | Newest Jetty 9.1
+`jetty 9.1.0.20131115` | Jetty 9.1.0.v20131115
+`jetty 9.3` | Newest Jetty 9.3
+`jetty 9.3.13.20161014` | Jetty 9.3.13.v20161014
+
+It is recommended to ignore the minor version number like the following example, so that the latest supported web container will be used in your Web App.
+
+ ```xml
+
+ com.microsoft.azure
+ webapp-maven-plugin
+
+ tomcat 8.5
+ ...
+
+
+ ```
+
+
+#### Deploy via FTP
+You can deploy your **WAR** file and other artifacts to Web App via FTP. The following example shows all configuration elements.
+
+ ```xml
+
+ com.microsoft.azure
+ webapp-maven-plugin
+
+ ftp
+
+
+ ${project.basedir}/target
+ /
+
+ *.war
+
+
+ *.xml
+
+
+
+ ...
+
+
+ ```
+
+ Detailed explanation of the `` element is listed in the following table.
+
+ Property | Description
+ ---|---
+ `directory` | Specifies the absolute path where the resources are stored.
+ `targetPath` | Specifies the target path where the resources will be deployed to.
This is a relative path to the `/site/wwwroot/webapps` folder in your Web App server.
+ `includes` | A list of patterns to include, e.g. `**/*.xml`.
+ `excludes` | A list of patterns to exclude, e.g. `**/*.xml`.
+
+### Web App on Linux
+
-### Container Setting
+#### Container Setting
In the `` element of your `pom.xml` file, you can specify which docker container image to deploy to your Web App. Typically, this image should be from a private container registry which is built from your app, but you can also use images from a docker hub.