Added deploySite.sh script for later deployment of the site.
Enhanced the documentation added first example usage for maven-jlink-plugin
to the site.


git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1807059 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/deploySite.sh b/deploySite.sh
new file mode 100755
index 0000000..f6c265d
--- /dev/null
+++ b/deploySite.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+mvn -Preporting site site:stage $@
+mvn scm-publish:publish-scm $@
diff --git a/pom.xml b/pom.xml
index 6997f82..a76de0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,8 @@
 -->

 

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

+>

   <modelVersion>4.0.0</modelVersion>

 

   <parent>

@@ -45,10 +46,10 @@
 

   <scm>

     <connection>scm:svn:http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-jlink-plugin/</connection>

-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-jlink-plugin/

-    </developerConnection>

+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/plugins/trunk/maven-jlink-plugin/</developerConnection>

     <url>http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jlink-plugin/</url>

   </scm>

+

   <issueManagement>

     <system>jira</system>

     <url>https://issues.apache.org/jira/browse/MJLINK</url>

@@ -92,7 +93,7 @@
       <groupId>org.codehaus.plexus</groupId>

       <artifactId>plexus-archiver</artifactId>

       <version>3.5</version>

-    </dependency> 

+    </dependency>

     <dependency>

       <groupId>org.apache.commons</groupId>

       <artifactId>commons-lang3</artifactId>

diff --git a/src/site/apt/usage.apt.vm b/src/site/apt/usage.apt.vm
index da798de..6acebf0 100644
--- a/src/site/apt/usage.apt.vm
+++ b/src/site/apt/usage.apt.vm
@@ -27,13 +27,14 @@
 
 * Introduction
 
-  The Maven JLink Pluing will be used to create a Java Run-Time Image.
+  The Maven JLink plugin is used to create {{{http://openjdk.java.net/jeps/220}Modular Run-Time Images}} with
+  JDK 9.
   
-* Configuring the JLink Plugin
+* Configuration of the Maven JLink Plugin
 
-  The configuration of the JLink Plugin is a bit different from the configuration
-  of any other plugin. The configuration should look like this:
-
+  To use the Maven JLink Plugin you have to configure it as an <<<extensions>>> which means
+  the configuration in your pom file looks like this:
+  
 +-----
 <project>
   [...]
@@ -54,5 +55,187 @@
 +-----
 
   The configuration elements contains the configuration for the plugin like
-  other Maven plugins.
+  any other Maven plugins.
+
   
+* Usage of the Maven JLink Plugin
+
+  Usually you will use the Maven JLink Plugin to create a Run Time Image from one or more modules within 
+  a multi module build. In other words it is not possible to create a Run Time Image from a single Maven
+  Project within the same single Maven Project.
+  Let us assume you have a multi module structure which contains two modules <<mod-1>> and <<mod-2>> 
+  which you like to put into the resulting Run Time Image.
+
+  The parent of the multi module looks similar like this:  
+  
++-----
+<project ...>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.corporate.maven</groupId>
+    <artifactId>maven-parent</artifactId>
+    <version>2.3.1</version>
+  </parent>
+  <groupId>com.corporate.project</groupId>
+  <artifactId>parent</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+   [...]
+  <modules>
+    <module>mod-1</module>
+    <module>mod-2</module>
+  </modules>  
+   [...]
+</project>
++-----
+
+  A directory structure of such a project looks like this:
+  
++-----
+.
+├── mod-1
+│   └── src
+└── mod-2
+    └── src
++-----
+
+  The <<mod-1>> module looks similar like this:
+  
++-----
+<project ...>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.corporate.project</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mod-1</artifactId>
+   [...]
+</project>
++-----
+
+  The <<mod-2>> module looks similar like this:
+  
++-----
+<project ...>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.corporate.project</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>mod-2</artifactId>
+   [...]
+</project>
++-----
+
+  If you like to create a Java Run Time Image of your modules the way is to create a 
+  separate module <<mod-jlink>> which contains the configuration to create the Run 
+  Time Image which looks similar like this:
+
++-----
+<project ...>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.corporate.project</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <packaging>jlink</packaging>
+  <artifactId>mod-jlink</artifactId>
+   [...]
+</project>
++-----
+
+  The directory structure now looks like this:
+  
++-----
+.
+├── mod-1
+│   └── src
+├── mod-2
+│   └── src
+└── mod-jlink
+    └── src
++-----
+
+  Before you can do this you have to add the configuration to the parent like shown 
+  in {{{Configuration_of_the_Maven_JLink_Plugin}Configuration of the Maven JLink Plugin}}.
+
+  Now you need to define which modules will be linked into the resulting Java Run Time Image which simply
+  being done by defining the modules as dependencies to your <<mod-jlink>> module like this:
+  
++-----
+<project ...>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>com.corporate.project</groupId>
+    <artifactId>parent</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <packaging>jlink</packaging>
+  <artifactId>mod-jlink</artifactId>
+ <dependencies>
+    <dependency>
+      <groupId>com.corporate.project</groupId>
+      <artifactId>mod-1</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.corporate.project</groupId>
+      <artifactId>mod-2</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>  
+   [...]
+</project>
++-----
+  
+  
+  After you have added the appropriate configuration you can simply create the Java Run Time Image by
+  calling from the root of your directory structure:
+  
++----
+mvn clean package
++----
+
+  There will be some output lines like this:
+
++----
+[INFO]
+[INFO] --- maven-jlink-plugin:${project.version}:jlink (default-jlink) @ mod-jlink ---
+[INFO] Toolchain in maven-jlink-plugin: jlink [ /.../jdk1.9.0_ea+181.jdk/Contents/Home/bin/jlink ]
+[INFO] The following dependencies will be linked into the runtime image:
+[INFO]  -> com.corporate.project:mod-1:jar:1.0-SNAPSHOT
+[INFO]  -> com.corporate.project:mod-2:jar:1.0-SNAPSHOT
+[INFO] Building zip: /.../mod-jlink/target/mod-jlink-1.0-SNAPSHOT.zip
+[INFO]
++----
+
+  If you like to install the resulting Java Run Time Image you can of course use:
+  
++----
+mvn clean install
++----
+  
+  or if you like to deploy the resulting artifacts to a remote repository you have to use:
+  
++----
+mvn clean deploy
++----
+  
+  At the moment the resulting Java Run Time Image is packaged into a <<zip>> archive which 
+  used to transport the whole structure which is created by <<jlink>> to a repository.
+
+  The basic structure of the resulting Java Run Time Image looks like this:
+  
++---
+jlink/
+├── bin
+├── conf
+├── include
+├── legal
+├── lib
+└── release
++---
+