diff --git a/sitedocs/css/maven-base.css b/sitedocs/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/css/maven-base.css
+++ b/sitedocs/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/css/maven-theme.css b/sitedocs/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/css/maven-theme.css
+++ b/sitedocs/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/css/print.css b/sitedocs/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/css/print.css
+++ b/sitedocs/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/index.html b/sitedocs/index.html
index e22a54b..2a14057 100644
--- a/sitedocs/index.html
+++ b/sitedocs/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-            <strong>Introduction</strong>
-          </li>
-                  <li class="none">
-                          <a href="tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho (Incubation)<a name="About_Tycho_Incubation"></a></h2><a name="About_Tycho_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+            <strong>Introduction</strong>
+          </li>
+                  <li class="none">
+                          <a href="tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho (Incubation)<a name="About_Tycho_Incubation"></a></h2><a name="About_Tycho_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/compile-mojo.html b/sitedocs/tycho-compiler-plugin/compile-mojo.html
index 2bf953c..0bd4caf 100644
--- a/sitedocs/tycho-compiler-plugin/compile-mojo.html
+++ b/sitedocs/tycho-compiler-plugin/compile-mojo.html
@@ -1,489 +1,588 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-compiler:compile</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-compiler:compile<a name="tycho-compiler:compile"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-compiler-plugin:0.15.0:compile</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Requires dependency resolution of artifacts in scope: <tt>compile</tt>.</li>
-        <li>Binds by default to the lifecycle phase: <tt>compile</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#compilerArgument">compilerArgument</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td><p>Unformatted argument string to be passed to the compiler if fork
-is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p><br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#compilerArguments">compilerArguments</a></b></td>
-            <td><tt>Map</tt></td>
-            <td><tt>-</tt></td>
-            <td><p>Arguments to be passed to the compiler (prepending a dash) if
-fork is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p><br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#compilerId">compilerId</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The compiler id of the compiler to use.<br /><b>Default value is</b>: <tt>jdt</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#compilerVersion">compilerVersion</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
-true<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#debug">debug</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Whether to include debugging information in the compiled class
-files. The default value is true.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#encoding">encoding</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -encoding argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#excludeResources">excludeResources</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of exclusion filters for non-java resource files which
-should not be copied to the output directory.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#excludes">excludes</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of exclusion filters for the compiler.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#executable">executable</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The executable of the compiler to use when fork is true.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#extraClasspathElements">extraClasspathElements</a></b></td>
-            <td><tt>MavenArtifactRef[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>Transitively add specified maven artifacts to compile classpath in
-addition to elements calculated according to OSGi rules. All
-packages from additional entries will be accessible at compile
-time. Useful when OSGi runtime classpath contains elements not
-defined using normal dependency mechanisms. For example, when
-Eclipse Equinox is started from application server with
--Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
-stopgap solution to allow refactoring of tycho-p2 code to a
-separate set of components.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#fork">fork</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Allows running the compiler in a separate process. If &quot;false&quot; it
-uses the built in compiler, while if &quot;true&quot; it will use an
-executable.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#includes">includes</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of inclusion filters for the compiler.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#maxmem">maxmem</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>maximum size, in megabytes, of the memory allocation pool, ex.
-&quot;128&quot;, &quot;128m&quot; if fork is set to true<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#meminitial">meminitial</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Initial size, in megabytes, of the memory allocation pool, ex.
-&quot;64&quot;, &quot;64m&quot; if fork is set to true<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#optimize">optimize</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Optimize compiled code using the compiler's optimization methods<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#outputFileName">outputFileName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Used to control the name of the output file when compiling a set of
-sources to a single file.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#showDeprecation">showDeprecation</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Output source locations where deprecated APIs are used<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#showWarnings">showWarnings</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Output warnings<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#source">source</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -source argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#staleMillis">staleMillis</a></b></td>
-            <td><tt>int</tt></td>
-            <td><tt>-</tt></td>
-            <td>The granularity in milliseconds of the last modification date for
-testing whether a source needs recompilation<br /><b>Default value is</b>: <tt>0</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#target">target</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -target argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useJDK">useJDK</a></b></td>
-            <td><tt>JDKUsage</tt></td>
-            <td><tt>-</tt></td>
-            <td>Which JDK to use for compilation. Default value is SYSTEM which
-means the currently running JDK. If BREE is specified, MANIFEST
-header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
-define the JDK to compile against. In this case, you need to
-provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
-configuration file. The value of BREE will be matched against the
-id of the toolchain elements in toolchains.xml. Example: 
-<div><pre>
-&lt;toolchains&gt;
-  &lt;toolchain&gt;
-     &lt;type&gt;jdk&lt;/type&gt;
-     &lt;provides&gt;
-         &lt;id&gt;J2SE-1.5&lt;/id&gt;
-     &lt;/provides&gt;
-     &lt;configuration&gt;
-        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
-     &lt;/configuration&gt;
-  &lt;/toolchain&gt;
-&lt;/toolchains&gt;
-</pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#verbose">verbose</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Whether to output messages about what the compiler is doing<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="compilerArgument">compilerArgument</a>:</b></p>
-        <div><p>Unformatted argument string to be passed to the compiler if fork
-is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="compilerArguments">compilerArguments</a>:</b></p>
-        <div><p>Arguments to be passed to the compiler (prepending a dash) if
-fork is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Map</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="compilerId">compilerId</a>:</b></p>
-        <div>The compiler id of the compiler to use.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.compilerId}</tt></li>
-          <li><b>Default</b>: <tt>jdt</tt></li>
-        </ul><hr /><p><b><a name="compilerVersion">compilerVersion</a>:</b></p>
-        <div>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
-true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.compilerVersion}</tt></li>
-        </ul><hr /><p><b><a name="debug">debug</a>:</b></p>
-        <div>Whether to include debugging information in the compiled class
-files. The default value is true.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.debug}</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="encoding">encoding</a>:</b></p>
-        <div>The -encoding argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.sourceEncoding}</tt></li>
-        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
-        <div>A list of exclusion filters for non-java resource files which
-should not be copied to the output directory.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
-        <div>A list of exclusion filters for the compiler.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="executable">executable</a>:</b></p>
-        <div>The executable of the compiler to use when fork is true.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.executable}</tt></li>
-        </ul><hr /><p><b><a name="extraClasspathElements">extraClasspathElements</a>:</b></p>
-        <div>Transitively add specified maven artifacts to compile classpath in
-addition to elements calculated according to OSGi rules. All
-packages from additional entries will be accessible at compile
-time. Useful when OSGi runtime classpath contains elements not
-defined using normal dependency mechanisms. For example, when
-Eclipse Equinox is started from application server with
--Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
-stopgap solution to allow refactoring of tycho-p2 code to a
-separate set of components.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.tycho.core.utils.MavenArtifactRef[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="fork">fork</a>:</b></p>
-        <div>Allows running the compiler in a separate process. If &quot;false&quot; it
-uses the built in compiler, while if &quot;true&quot; it will use an
-executable.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
-        <div>A list of inclusion filters for the compiler.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="maxmem">maxmem</a>:</b></p>
-        <div>maximum size, in megabytes, of the memory allocation pool, ex.
-&quot;128&quot;, &quot;128m&quot; if fork is set to true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.maxmem}</tt></li>
-        </ul><hr /><p><b><a name="meminitial">meminitial</a>:</b></p>
-        <div>Initial size, in megabytes, of the memory allocation pool, ex.
-&quot;64&quot;, &quot;64m&quot; if fork is set to true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.meminitial}</tt></li>
-        </ul><hr /><p><b><a name="optimize">optimize</a>:</b></p>
-        <div>Optimize compiled code using the compiler's optimization methods</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.optimize}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="outputFileName">outputFileName</a>:</b></p>
-        <div>Used to control the name of the output file when compiling a set of
-sources to a single file.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="showDeprecation">showDeprecation</a>:</b></p>
-        <div>Output source locations where deprecated APIs are used</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.showDeprecation}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="showWarnings">showWarnings</a>:</b></p>
-        <div>Output warnings</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.showWarnings}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="source">source</a>:</b></p>
-        <div>The -source argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.source}</tt></li>
-        </ul><hr /><p><b><a name="staleMillis">staleMillis</a>:</b></p>
-        <div>The granularity in milliseconds of the last modification date for
-testing whether a source needs recompilation</div>
-        <ul>
-          <li><b>Type</b>: <tt>int</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${lastModGranularityMs}</tt></li>
-          <li><b>Default</b>: <tt>0</tt></li>
-        </ul><hr /><p><b><a name="target">target</a>:</b></p>
-        <div>The -target argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.target}</tt></li>
-        </ul><hr /><p><b><a name="useJDK">useJDK</a>:</b></p>
-        <div>Which JDK to use for compilation. Default value is SYSTEM which
-means the currently running JDK. If BREE is specified, MANIFEST
-header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
-define the JDK to compile against. In this case, you need to
-provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
-configuration file. The value of BREE will be matched against the
-id of the toolchain elements in toolchains.xml. Example: 
-<div><pre>
-&lt;toolchains&gt;
-  &lt;toolchain&gt;
-     &lt;type&gt;jdk&lt;/type&gt;
-     &lt;provides&gt;
-         &lt;id&gt;J2SE-1.5&lt;/id&gt;
-     &lt;/provides&gt;
-     &lt;configuration&gt;
-        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
-     &lt;/configuration&gt;
-  &lt;/toolchain&gt;
-&lt;/toolchains&gt;
-</pre></div></div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.tycho.compiler.AbstractOsgiCompilerMojo.JDKUsage</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>SYSTEM</tt></li>
-        </ul><hr /><p><b><a name="verbose">verbose</a>:</b></p>
-        <div>Whether to output messages about what the compiler is doing</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.verbose}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-compiler:compile</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-compiler:compile<a name="tycho-compiler:compile"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-compiler-plugin:0.16.0:compile</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Requires dependency resolution of artifacts in scope: <tt>compile</tt>.</li>
+        <li>Binds by default to the lifecycle phase: <tt>compile</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#annotationProcessors">annotationProcessors</a></b></td>
+            <td><tt>String[]</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>Qualified class names of annotation processors to run. If
+specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
+processor discovery process</a> will be skipped. This parameter
+requires a 1.6 VM or above and is used only if the compliance is
+1.6<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#compilerArgument">compilerArgument</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td><p>Unformatted argument string to be passed to the compiler if fork
+is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p><br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#compilerArguments">compilerArguments</a></b></td>
+            <td><tt>Map</tt></td>
+            <td><tt>-</tt></td>
+            <td><p>Arguments to be passed to the compiler (prepending a dash) if
+fork is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p><br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#compilerId">compilerId</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The compiler id of the compiler to use.<br /><b>Default value is</b>: <tt>jdt</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#compilerVersion">compilerVersion</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
+true<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#debug">debug</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether to include debugging information in the compiled class
+files. The default value is true.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#encoding">encoding</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -encoding argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#excludeResources">excludeResources</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of exclusion filters for non-java resource files which
+should not be copied to the output directory.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#excludes">excludes</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of exclusion filters for the compiler.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#executable">executable</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The executable of the compiler to use when fork is true.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#extraClasspathElements">extraClasspathElements</a></b></td>
+            <td><tt>MavenArtifactRef[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>Transitively add specified maven artifacts to compile classpath in
+addition to elements calculated according to OSGi rules. All
+packages from additional entries will be accessible at compile
+time. Useful when OSGi runtime classpath contains elements not
+defined using normal dependency mechanisms. For example, when
+Eclipse Equinox is started from application server with
+-Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
+stopgap solution to allow refactoring of tycho-p2 code to a
+separate set of components.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#fork">fork</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Allows running the compiler in a separate process. If &quot;false&quot; it
+uses the built in compiler, while if &quot;true&quot; it will use an
+executable.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#generatedSourcesDirectory">generatedSourcesDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>The directory where source files generated by annotation processors
+will be created. This parameter requires a 1.6 VM or above and is
+used only if the compliance is 1.6.<br /><b>Default value is</b>: <tt>${project.build.directory}/generated-sources/annotations</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#includes">includes</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of inclusion filters for the compiler.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#maxmem">maxmem</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>maximum size, in megabytes, of the memory allocation pool, ex.
+&quot;128&quot;, &quot;128m&quot; if fork is set to true<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#meminitial">meminitial</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Initial size, in megabytes, of the memory allocation pool, ex.
+&quot;64&quot;, &quot;64m&quot; if fork is set to true<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#optimize">optimize</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Optimize compiled code using the compiler's optimization methods<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#outputFileName">outputFileName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Used to control the name of the output file when compiling a set of
+sources to a single file.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#proc">proc</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>If <tt>only</tt> is specified, the annotation processors will run
+but no compilation will be performed. If <tt>none</tt> is
+specified, annotation processors will not be discovered or run;
+compilation will proceed as if no annotation processors were found.
+By default the compiler must search the classpath for annotation
+processors, so specifying <tt>none</tt> may speed compilation if
+annotation processing is not required. This parameter requires a
+1.6 VM or above and is used only if the compliance is 1.6<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#requireJREPackageImports">requireJREPackageImports</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether a bundle is required to explicitly import non-java.*
+packages from the JDK. This is the design-time equivalent to the
+equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#showDeprecation">showDeprecation</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Output source locations where deprecated APIs are used<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#showWarnings">showWarnings</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Output warnings<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#source">source</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -source argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#staleMillis">staleMillis</a></b></td>
+            <td><tt>int</tt></td>
+            <td><tt>-</tt></td>
+            <td>The granularity in milliseconds of the last modification date for
+testing whether a source needs recompilation<br /><b>Default value is</b>: <tt>0</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#strictCompilerTarget">strictCompilerTarget</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>false</tt> (the default) issue a warning if
+effective compiler target level is incompatible with bundle minimal
+execution environment. If set to <tt>true</tt> will fail the
+build if effective compiler target and minimal BREE are
+incompatible.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#target">target</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -target argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useJDK">useJDK</a></b></td>
+            <td><tt>JDKUsage</tt></td>
+            <td><tt>-</tt></td>
+            <td>Which JDK to use for compilation. Default value is SYSTEM which
+means the currently running JDK. If BREE is specified, MANIFEST
+header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
+define the JDK to compile against. In this case, you need to
+provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
+configuration file. The value of BREE will be matched against the
+id of the toolchain elements in toolchains.xml. Example: 
+<div><pre>
+&lt;toolchains&gt;
+  &lt;toolchain&gt;
+     &lt;type&gt;jdk&lt;/type&gt;
+     &lt;provides&gt;
+         &lt;id&gt;J2SE-1.5&lt;/id&gt;
+     &lt;/provides&gt;
+     &lt;configuration&gt;
+        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
+     &lt;/configuration&gt;
+  &lt;/toolchain&gt;
+&lt;/toolchains&gt;
+</pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#verbose">verbose</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether to output messages about what the compiler is doing<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="annotationProcessors">annotationProcessors</a>:</b></p>
+        <div>Qualified class names of annotation processors to run. If
+specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
+processor discovery process</a> will be skipped. This parameter
+requires a 1.6 VM or above and is used only if the compliance is
+1.6</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerArgument">compilerArgument</a>:</b></p>
+        <div><p>Unformatted argument string to be passed to the compiler if fork
+is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerArguments">compilerArguments</a>:</b></p>
+        <div><p>Arguments to be passed to the compiler (prepending a dash) if
+fork is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Map</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerId">compilerId</a>:</b></p>
+        <div>The compiler id of the compiler to use.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.compilerId}</tt></li>
+          <li><b>Default</b>: <tt>jdt</tt></li>
+        </ul><hr /><p><b><a name="compilerVersion">compilerVersion</a>:</b></p>
+        <div>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
+true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.compilerVersion}</tt></li>
+        </ul><hr /><p><b><a name="debug">debug</a>:</b></p>
+        <div>Whether to include debugging information in the compiled class
+files. The default value is true.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.debug}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="encoding">encoding</a>:</b></p>
+        <div>The -encoding argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.sourceEncoding}</tt></li>
+        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
+        <div>A list of exclusion filters for non-java resource files which
+should not be copied to the output directory.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
+        <div>A list of exclusion filters for the compiler.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="executable">executable</a>:</b></p>
+        <div>The executable of the compiler to use when fork is true.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.executable}</tt></li>
+        </ul><hr /><p><b><a name="extraClasspathElements">extraClasspathElements</a>:</b></p>
+        <div>Transitively add specified maven artifacts to compile classpath in
+addition to elements calculated according to OSGi rules. All
+packages from additional entries will be accessible at compile
+time. Useful when OSGi runtime classpath contains elements not
+defined using normal dependency mechanisms. For example, when
+Eclipse Equinox is started from application server with
+-Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
+stopgap solution to allow refactoring of tycho-p2 code to a
+separate set of components.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.core.utils.MavenArtifactRef[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="fork">fork</a>:</b></p>
+        <div>Allows running the compiler in a separate process. If &quot;false&quot; it
+uses the built in compiler, while if &quot;true&quot; it will use an
+executable.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="generatedSourcesDirectory">generatedSourcesDirectory</a>:</b></p>
+        <div>The directory where source files generated by annotation processors
+will be created. This parameter requires a 1.6 VM or above and is
+used only if the compliance is 1.6.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.build.directory}/generated-sources/annotations</tt></li>
+        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
+        <div>A list of inclusion filters for the compiler.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="maxmem">maxmem</a>:</b></p>
+        <div>maximum size, in megabytes, of the memory allocation pool, ex.
+&quot;128&quot;, &quot;128m&quot; if fork is set to true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.maxmem}</tt></li>
+        </ul><hr /><p><b><a name="meminitial">meminitial</a>:</b></p>
+        <div>Initial size, in megabytes, of the memory allocation pool, ex.
+&quot;64&quot;, &quot;64m&quot; if fork is set to true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.meminitial}</tt></li>
+        </ul><hr /><p><b><a name="optimize">optimize</a>:</b></p>
+        <div>Optimize compiled code using the compiler's optimization methods</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.optimize}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="outputFileName">outputFileName</a>:</b></p>
+        <div>Used to control the name of the output file when compiling a set of
+sources to a single file.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="proc">proc</a>:</b></p>
+        <div>If <tt>only</tt> is specified, the annotation processors will run
+but no compilation will be performed. If <tt>none</tt> is
+specified, annotation processors will not be discovered or run;
+compilation will proceed as if no annotation processors were found.
+By default the compiler must search the classpath for annotation
+processors, so specifying <tt>none</tt> may speed compilation if
+annotation processing is not required. This parameter requires a
+1.6 VM or above and is used only if the compliance is 1.6</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="requireJREPackageImports">requireJREPackageImports</a>:</b></p>
+        <div>Whether a bundle is required to explicitly import non-java.*
+packages from the JDK. This is the design-time equivalent to the
+equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="showDeprecation">showDeprecation</a>:</b></p>
+        <div>Output source locations where deprecated APIs are used</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.showDeprecation}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="showWarnings">showWarnings</a>:</b></p>
+        <div>Output warnings</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.showWarnings}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="source">source</a>:</b></p>
+        <div>The -source argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.source}</tt></li>
+        </ul><hr /><p><b><a name="staleMillis">staleMillis</a>:</b></p>
+        <div>The granularity in milliseconds of the last modification date for
+testing whether a source needs recompilation</div>
+        <ul>
+          <li><b>Type</b>: <tt>int</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${lastModGranularityMs}</tt></li>
+          <li><b>Default</b>: <tt>0</tt></li>
+        </ul><hr /><p><b><a name="strictCompilerTarget">strictCompilerTarget</a>:</b></p>
+        <div>If set to <tt>false</tt> (the default) issue a warning if
+effective compiler target level is incompatible with bundle minimal
+execution environment. If set to <tt>true</tt> will fail the
+build if effective compiler target and minimal BREE are
+incompatible.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="target">target</a>:</b></p>
+        <div>The -target argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.target}</tt></li>
+        </ul><hr /><p><b><a name="useJDK">useJDK</a>:</b></p>
+        <div>Which JDK to use for compilation. Default value is SYSTEM which
+means the currently running JDK. If BREE is specified, MANIFEST
+header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
+define the JDK to compile against. In this case, you need to
+provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
+configuration file. The value of BREE will be matched against the
+id of the toolchain elements in toolchains.xml. Example: 
+<div><pre>
+&lt;toolchains&gt;
+  &lt;toolchain&gt;
+     &lt;type&gt;jdk&lt;/type&gt;
+     &lt;provides&gt;
+         &lt;id&gt;J2SE-1.5&lt;/id&gt;
+     &lt;/provides&gt;
+     &lt;configuration&gt;
+        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
+     &lt;/configuration&gt;
+  &lt;/toolchain&gt;
+&lt;/toolchains&gt;
+</pre></div></div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.compiler.AbstractOsgiCompilerMojo.JDKUsage</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>SYSTEM</tt></li>
+        </ul><hr /><p><b><a name="verbose">verbose</a>:</b></p>
+        <div>Whether to output messages about what the compiler is doing</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.verbose}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/css/maven-base.css b/sitedocs/tycho-compiler-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-compiler-plugin/css/maven-base.css
+++ b/sitedocs/tycho-compiler-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-compiler-plugin/css/maven-theme.css b/sitedocs/tycho-compiler-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-compiler-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-compiler-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-compiler-plugin/css/print.css b/sitedocs/tycho-compiler-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-compiler-plugin/css/print.css
+++ b/sitedocs/tycho-compiler-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-compiler-plugin/index.html b/sitedocs/tycho-compiler-plugin/index.html
index 6877a31..bbf0281 100644
--- a/sitedocs/tycho-compiler-plugin/index.html
+++ b/sitedocs/tycho-compiler-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho OSGi Compiler Plugin (Incubation)<a name="About_Tycho_OSGi_Compiler_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Compiler_Plugin_Incubation"></a><p>A plugin for compiling OSGi bundles</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho OSGi Compiler Plugin (Incubation)<a name="About_Tycho_OSGi_Compiler_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Compiler_Plugin_Incubation"></a><p>A plugin for compiling OSGi bundles</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/plugin-info.html b/sitedocs/tycho-compiler-plugin/plugin-info.html
index eeda31f..a7628fa 100644
--- a/sitedocs/tycho-compiler-plugin/plugin-info.html
+++ b/sitedocs/tycho-compiler-plugin/plugin-info.html
@@ -1,125 +1,125 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="compile-mojo.html">tycho-compiler:compile</a></td><td>No description.</td></tr><tr class="a"><td><a href="testCompile-mojo.html">tycho-compiler:testCompile</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-compiler-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-compiler-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="compile-mojo.html">tycho-compiler:compile</a></td><td>No description.</td></tr><tr class="a"><td><a href="testCompile-mojo.html">tycho-compiler:testCompile</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-compiler-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-compiler-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/project-info.html b/sitedocs/tycho-compiler-plugin/project-info.html
index 4cd86cd..3aeab67 100644
--- a/sitedocs/tycho-compiler-plugin/project-info.html
+++ b/sitedocs/tycho-compiler-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for compiling OSGi bundles</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for compiling OSGi bundles</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/project-reports.html b/sitedocs/tycho-compiler-plugin/project-reports.html
index 2aeb32f..78bac4f 100644
--- a/sitedocs/tycho-compiler-plugin/project-reports.html
+++ b/sitedocs/tycho-compiler-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-compiler-plugin/testCompile-mojo.html b/sitedocs/tycho-compiler-plugin/testCompile-mojo.html
index 138a437..4eae50c 100644
--- a/sitedocs/tycho-compiler-plugin/testCompile-mojo.html
+++ b/sitedocs/tycho-compiler-plugin/testCompile-mojo.html
@@ -1,489 +1,588 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-compiler:testCompile</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Compiler Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-compiler:testCompile<a name="tycho-compiler:testCompile"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-compiler-plugin:0.15.0:testCompile</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
-        <li>Binds by default to the lifecycle phase: <tt>test-compile</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#compilerArgument">compilerArgument</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td><p>Unformatted argument string to be passed to the compiler if fork
-is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p><br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#compilerArguments">compilerArguments</a></b></td>
-            <td><tt>Map</tt></td>
-            <td><tt>-</tt></td>
-            <td><p>Arguments to be passed to the compiler (prepending a dash) if
-fork is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p><br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#compilerId">compilerId</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The compiler id of the compiler to use.<br /><b>Default value is</b>: <tt>jdt</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#compilerVersion">compilerVersion</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
-true<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#debug">debug</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Whether to include debugging information in the compiled class
-files. The default value is true.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#encoding">encoding</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -encoding argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#excludeResources">excludeResources</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of exclusion filters for non-java resource files which
-should not be copied to the output directory.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#excludes">excludes</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of exclusion filters for the compiler.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#executable">executable</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The executable of the compiler to use when fork is true.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#extraClasspathElements">extraClasspathElements</a></b></td>
-            <td><tt>MavenArtifactRef[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>Transitively add specified maven artifacts to compile classpath in
-addition to elements calculated according to OSGi rules. All
-packages from additional entries will be accessible at compile
-time. Useful when OSGi runtime classpath contains elements not
-defined using normal dependency mechanisms. For example, when
-Eclipse Equinox is started from application server with
--Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
-stopgap solution to allow refactoring of tycho-p2 code to a
-separate set of components.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#fork">fork</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Allows running the compiler in a separate process. If &quot;false&quot; it
-uses the built in compiler, while if &quot;true&quot; it will use an
-executable.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#includes">includes</a></b></td>
-            <td><tt>Set</tt></td>
-            <td><tt>-</tt></td>
-            <td>A list of inclusion filters for the compiler.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#maxmem">maxmem</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>maximum size, in megabytes, of the memory allocation pool, ex.
-&quot;128&quot;, &quot;128m&quot; if fork is set to true<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#meminitial">meminitial</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Initial size, in megabytes, of the memory allocation pool, ex.
-&quot;64&quot;, &quot;64m&quot; if fork is set to true<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#optimize">optimize</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Optimize compiled code using the compiler's optimization methods<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#outputFileName">outputFileName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Used to control the name of the output file when compiling a set of
-sources to a single file.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#showDeprecation">showDeprecation</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Output source locations where deprecated APIs are used<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#showWarnings">showWarnings</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Output warnings<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#source">source</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -source argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#staleMillis">staleMillis</a></b></td>
-            <td><tt>int</tt></td>
-            <td><tt>-</tt></td>
-            <td>The granularity in milliseconds of the last modification date for
-testing whether a source needs recompilation<br /><b>Default value is</b>: <tt>0</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#target">target</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The -target argument for the Java compiler<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useJDK">useJDK</a></b></td>
-            <td><tt>JDKUsage</tt></td>
-            <td><tt>-</tt></td>
-            <td>Which JDK to use for compilation. Default value is SYSTEM which
-means the currently running JDK. If BREE is specified, MANIFEST
-header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
-define the JDK to compile against. In this case, you need to
-provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
-configuration file. The value of BREE will be matched against the
-id of the toolchain elements in toolchains.xml. Example: 
-<div><pre>
-&lt;toolchains&gt;
-  &lt;toolchain&gt;
-     &lt;type&gt;jdk&lt;/type&gt;
-     &lt;provides&gt;
-         &lt;id&gt;J2SE-1.5&lt;/id&gt;
-     &lt;/provides&gt;
-     &lt;configuration&gt;
-        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
-     &lt;/configuration&gt;
-  &lt;/toolchain&gt;
-&lt;/toolchains&gt;
-</pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#verbose">verbose</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Whether to output messages about what the compiler is doing<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="compilerArgument">compilerArgument</a>:</b></p>
-        <div><p>Unformatted argument string to be passed to the compiler if fork
-is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="compilerArguments">compilerArguments</a>:</b></p>
-        <div><p>Arguments to be passed to the compiler (prepending a dash) if
-fork is set to true.</p>
-<p>This is because the list of valid arguments passed to a Java
-compiler varies based on the compiler version.</p></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Map</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="compilerId">compilerId</a>:</b></p>
-        <div>The compiler id of the compiler to use.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.compilerId}</tt></li>
-          <li><b>Default</b>: <tt>jdt</tt></li>
-        </ul><hr /><p><b><a name="compilerVersion">compilerVersion</a>:</b></p>
-        <div>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
-true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.compilerVersion}</tt></li>
-        </ul><hr /><p><b><a name="debug">debug</a>:</b></p>
-        <div>Whether to include debugging information in the compiled class
-files. The default value is true.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.debug}</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="encoding">encoding</a>:</b></p>
-        <div>The -encoding argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.sourceEncoding}</tt></li>
-        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
-        <div>A list of exclusion filters for non-java resource files which
-should not be copied to the output directory.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
-        <div>A list of exclusion filters for the compiler.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="executable">executable</a>:</b></p>
-        <div>The executable of the compiler to use when fork is true.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.executable}</tt></li>
-        </ul><hr /><p><b><a name="extraClasspathElements">extraClasspathElements</a>:</b></p>
-        <div>Transitively add specified maven artifacts to compile classpath in
-addition to elements calculated according to OSGi rules. All
-packages from additional entries will be accessible at compile
-time. Useful when OSGi runtime classpath contains elements not
-defined using normal dependency mechanisms. For example, when
-Eclipse Equinox is started from application server with
--Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
-stopgap solution to allow refactoring of tycho-p2 code to a
-separate set of components.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.tycho.core.utils.MavenArtifactRef[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="fork">fork</a>:</b></p>
-        <div>Allows running the compiler in a separate process. If &quot;false&quot; it
-uses the built in compiler, while if &quot;true&quot; it will use an
-executable.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
-        <div>A list of inclusion filters for the compiler.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Set</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="maxmem">maxmem</a>:</b></p>
-        <div>maximum size, in megabytes, of the memory allocation pool, ex.
-&quot;128&quot;, &quot;128m&quot; if fork is set to true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.maxmem}</tt></li>
-        </ul><hr /><p><b><a name="meminitial">meminitial</a>:</b></p>
-        <div>Initial size, in megabytes, of the memory allocation pool, ex.
-&quot;64&quot;, &quot;64m&quot; if fork is set to true</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.meminitial}</tt></li>
-        </ul><hr /><p><b><a name="optimize">optimize</a>:</b></p>
-        <div>Optimize compiled code using the compiler's optimization methods</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.optimize}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="outputFileName">outputFileName</a>:</b></p>
-        <div>Used to control the name of the output file when compiling a set of
-sources to a single file.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="showDeprecation">showDeprecation</a>:</b></p>
-        <div>Output source locations where deprecated APIs are used</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.showDeprecation}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="showWarnings">showWarnings</a>:</b></p>
-        <div>Output warnings</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.showWarnings}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="source">source</a>:</b></p>
-        <div>The -source argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.source}</tt></li>
-        </ul><hr /><p><b><a name="staleMillis">staleMillis</a>:</b></p>
-        <div>The granularity in milliseconds of the last modification date for
-testing whether a source needs recompilation</div>
-        <ul>
-          <li><b>Type</b>: <tt>int</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${lastModGranularityMs}</tt></li>
-          <li><b>Default</b>: <tt>0</tt></li>
-        </ul><hr /><p><b><a name="target">target</a>:</b></p>
-        <div>The -target argument for the Java compiler</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.target}</tt></li>
-        </ul><hr /><p><b><a name="useJDK">useJDK</a>:</b></p>
-        <div>Which JDK to use for compilation. Default value is SYSTEM which
-means the currently running JDK. If BREE is specified, MANIFEST
-header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
-define the JDK to compile against. In this case, you need to
-provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
-configuration file. The value of BREE will be matched against the
-id of the toolchain elements in toolchains.xml. Example: 
-<div><pre>
-&lt;toolchains&gt;
-  &lt;toolchain&gt;
-     &lt;type&gt;jdk&lt;/type&gt;
-     &lt;provides&gt;
-         &lt;id&gt;J2SE-1.5&lt;/id&gt;
-     &lt;/provides&gt;
-     &lt;configuration&gt;
-        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
-     &lt;/configuration&gt;
-  &lt;/toolchain&gt;
-&lt;/toolchains&gt;
-</pre></div></div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.tycho.compiler.AbstractOsgiCompilerMojo.JDKUsage</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>SYSTEM</tt></li>
-        </ul><hr /><p><b><a name="verbose">verbose</a>:</b></p>
-        <div>Whether to output messages about what the compiler is doing</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.compiler.verbose}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-compiler:testCompile</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Compiler Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-compiler:testCompile<a name="tycho-compiler:testCompile"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-compiler-plugin:0.16.0:testCompile</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Requires dependency resolution of artifacts in scope: <tt>test</tt>.</li>
+        <li>Binds by default to the lifecycle phase: <tt>test-compile</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#annotationProcessors">annotationProcessors</a></b></td>
+            <td><tt>String[]</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>Qualified class names of annotation processors to run. If
+specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
+processor discovery process</a> will be skipped. This parameter
+requires a 1.6 VM or above and is used only if the compliance is
+1.6<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#compilerArgument">compilerArgument</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td><p>Unformatted argument string to be passed to the compiler if fork
+is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p><br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#compilerArguments">compilerArguments</a></b></td>
+            <td><tt>Map</tt></td>
+            <td><tt>-</tt></td>
+            <td><p>Arguments to be passed to the compiler (prepending a dash) if
+fork is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p><br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#compilerId">compilerId</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The compiler id of the compiler to use.<br /><b>Default value is</b>: <tt>jdt</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#compilerVersion">compilerVersion</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
+true<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#debug">debug</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether to include debugging information in the compiled class
+files. The default value is true.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#encoding">encoding</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -encoding argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#excludeResources">excludeResources</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of exclusion filters for non-java resource files which
+should not be copied to the output directory.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#excludes">excludes</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of exclusion filters for the compiler.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#executable">executable</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The executable of the compiler to use when fork is true.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#extraClasspathElements">extraClasspathElements</a></b></td>
+            <td><tt>MavenArtifactRef[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>Transitively add specified maven artifacts to compile classpath in
+addition to elements calculated according to OSGi rules. All
+packages from additional entries will be accessible at compile
+time. Useful when OSGi runtime classpath contains elements not
+defined using normal dependency mechanisms. For example, when
+Eclipse Equinox is started from application server with
+-Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
+stopgap solution to allow refactoring of tycho-p2 code to a
+separate set of components.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#fork">fork</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Allows running the compiler in a separate process. If &quot;false&quot; it
+uses the built in compiler, while if &quot;true&quot; it will use an
+executable.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#generatedSourcesDirectory">generatedSourcesDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>The directory where source files generated by annotation processors
+will be created. This parameter requires a 1.6 VM or above and is
+used only if the compliance is 1.6.<br /><b>Default value is</b>: <tt>${project.build.directory}/generated-sources/annotations</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#includes">includes</a></b></td>
+            <td><tt>Set</tt></td>
+            <td><tt>-</tt></td>
+            <td>A list of inclusion filters for the compiler.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#maxmem">maxmem</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>maximum size, in megabytes, of the memory allocation pool, ex.
+&quot;128&quot;, &quot;128m&quot; if fork is set to true<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#meminitial">meminitial</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Initial size, in megabytes, of the memory allocation pool, ex.
+&quot;64&quot;, &quot;64m&quot; if fork is set to true<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#optimize">optimize</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Optimize compiled code using the compiler's optimization methods<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#outputFileName">outputFileName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Used to control the name of the output file when compiling a set of
+sources to a single file.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#proc">proc</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>If <tt>only</tt> is specified, the annotation processors will run
+but no compilation will be performed. If <tt>none</tt> is
+specified, annotation processors will not be discovered or run;
+compilation will proceed as if no annotation processors were found.
+By default the compiler must search the classpath for annotation
+processors, so specifying <tt>none</tt> may speed compilation if
+annotation processing is not required. This parameter requires a
+1.6 VM or above and is used only if the compliance is 1.6<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#requireJREPackageImports">requireJREPackageImports</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether a bundle is required to explicitly import non-java.*
+packages from the JDK. This is the design-time equivalent to the
+equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#showDeprecation">showDeprecation</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Output source locations where deprecated APIs are used<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#showWarnings">showWarnings</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Output warnings<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#source">source</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -source argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#staleMillis">staleMillis</a></b></td>
+            <td><tt>int</tt></td>
+            <td><tt>-</tt></td>
+            <td>The granularity in milliseconds of the last modification date for
+testing whether a source needs recompilation<br /><b>Default value is</b>: <tt>0</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#strictCompilerTarget">strictCompilerTarget</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>false</tt> (the default) issue a warning if
+effective compiler target level is incompatible with bundle minimal
+execution environment. If set to <tt>true</tt> will fail the
+build if effective compiler target and minimal BREE are
+incompatible.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#target">target</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The -target argument for the Java compiler<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useJDK">useJDK</a></b></td>
+            <td><tt>JDKUsage</tt></td>
+            <td><tt>-</tt></td>
+            <td>Which JDK to use for compilation. Default value is SYSTEM which
+means the currently running JDK. If BREE is specified, MANIFEST
+header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
+define the JDK to compile against. In this case, you need to
+provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
+configuration file. The value of BREE will be matched against the
+id of the toolchain elements in toolchains.xml. Example: 
+<div><pre>
+&lt;toolchains&gt;
+  &lt;toolchain&gt;
+     &lt;type&gt;jdk&lt;/type&gt;
+     &lt;provides&gt;
+         &lt;id&gt;J2SE-1.5&lt;/id&gt;
+     &lt;/provides&gt;
+     &lt;configuration&gt;
+        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
+     &lt;/configuration&gt;
+  &lt;/toolchain&gt;
+&lt;/toolchains&gt;
+</pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#verbose">verbose</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether to output messages about what the compiler is doing<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="annotationProcessors">annotationProcessors</a>:</b></p>
+        <div>Qualified class names of annotation processors to run. If
+specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
+processor discovery process</a> will be skipped. This parameter
+requires a 1.6 VM or above and is used only if the compliance is
+1.6</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerArgument">compilerArgument</a>:</b></p>
+        <div><p>Unformatted argument string to be passed to the compiler if fork
+is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerArguments">compilerArguments</a>:</b></p>
+        <div><p>Arguments to be passed to the compiler (prepending a dash) if
+fork is set to true.</p>
+<p>This is because the list of valid arguments passed to a Java
+compiler varies based on the compiler version.</p></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Map</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="compilerId">compilerId</a>:</b></p>
+        <div>The compiler id of the compiler to use.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.compilerId}</tt></li>
+          <li><b>Default</b>: <tt>jdt</tt></li>
+        </ul><hr /><p><b><a name="compilerVersion">compilerVersion</a>:</b></p>
+        <div>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
+true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.compilerVersion}</tt></li>
+        </ul><hr /><p><b><a name="debug">debug</a>:</b></p>
+        <div>Whether to include debugging information in the compiled class
+files. The default value is true.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.debug}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="encoding">encoding</a>:</b></p>
+        <div>The -encoding argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.sourceEncoding}</tt></li>
+        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
+        <div>A list of exclusion filters for non-java resource files which
+should not be copied to the output directory.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
+        <div>A list of exclusion filters for the compiler.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="executable">executable</a>:</b></p>
+        <div>The executable of the compiler to use when fork is true.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.executable}</tt></li>
+        </ul><hr /><p><b><a name="extraClasspathElements">extraClasspathElements</a>:</b></p>
+        <div>Transitively add specified maven artifacts to compile classpath in
+addition to elements calculated according to OSGi rules. All
+packages from additional entries will be accessible at compile
+time. Useful when OSGi runtime classpath contains elements not
+defined using normal dependency mechanisms. For example, when
+Eclipse Equinox is started from application server with
+-Dosgi.parentClassloader=fwk parameter. DO NOT USE. This is a
+stopgap solution to allow refactoring of tycho-p2 code to a
+separate set of components.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.core.utils.MavenArtifactRef[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="fork">fork</a>:</b></p>
+        <div>Allows running the compiler in a separate process. If &quot;false&quot; it
+uses the built in compiler, while if &quot;true&quot; it will use an
+executable.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="generatedSourcesDirectory">generatedSourcesDirectory</a>:</b></p>
+        <div>The directory where source files generated by annotation processors
+will be created. This parameter requires a 1.6 VM or above and is
+used only if the compliance is 1.6.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.build.directory}/generated-sources/annotations</tt></li>
+        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
+        <div>A list of inclusion filters for the compiler.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Set</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="maxmem">maxmem</a>:</b></p>
+        <div>maximum size, in megabytes, of the memory allocation pool, ex.
+&quot;128&quot;, &quot;128m&quot; if fork is set to true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.maxmem}</tt></li>
+        </ul><hr /><p><b><a name="meminitial">meminitial</a>:</b></p>
+        <div>Initial size, in megabytes, of the memory allocation pool, ex.
+&quot;64&quot;, &quot;64m&quot; if fork is set to true</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.meminitial}</tt></li>
+        </ul><hr /><p><b><a name="optimize">optimize</a>:</b></p>
+        <div>Optimize compiled code using the compiler's optimization methods</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.optimize}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="outputFileName">outputFileName</a>:</b></p>
+        <div>Used to control the name of the output file when compiling a set of
+sources to a single file.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="proc">proc</a>:</b></p>
+        <div>If <tt>only</tt> is specified, the annotation processors will run
+but no compilation will be performed. If <tt>none</tt> is
+specified, annotation processors will not be discovered or run;
+compilation will proceed as if no annotation processors were found.
+By default the compiler must search the classpath for annotation
+processors, so specifying <tt>none</tt> may speed compilation if
+annotation processing is not required. This parameter requires a
+1.6 VM or above and is used only if the compliance is 1.6</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="requireJREPackageImports">requireJREPackageImports</a>:</b></p>
+        <div>Whether a bundle is required to explicitly import non-java.*
+packages from the JDK. This is the design-time equivalent to the
+equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="showDeprecation">showDeprecation</a>:</b></p>
+        <div>Output source locations where deprecated APIs are used</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.showDeprecation}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="showWarnings">showWarnings</a>:</b></p>
+        <div>Output warnings</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.showWarnings}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="source">source</a>:</b></p>
+        <div>The -source argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.source}</tt></li>
+        </ul><hr /><p><b><a name="staleMillis">staleMillis</a>:</b></p>
+        <div>The granularity in milliseconds of the last modification date for
+testing whether a source needs recompilation</div>
+        <ul>
+          <li><b>Type</b>: <tt>int</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${lastModGranularityMs}</tt></li>
+          <li><b>Default</b>: <tt>0</tt></li>
+        </ul><hr /><p><b><a name="strictCompilerTarget">strictCompilerTarget</a>:</b></p>
+        <div>If set to <tt>false</tt> (the default) issue a warning if
+effective compiler target level is incompatible with bundle minimal
+execution environment. If set to <tt>true</tt> will fail the
+build if effective compiler target and minimal BREE are
+incompatible.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="target">target</a>:</b></p>
+        <div>The -target argument for the Java compiler</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.target}</tt></li>
+        </ul><hr /><p><b><a name="useJDK">useJDK</a>:</b></p>
+        <div>Which JDK to use for compilation. Default value is SYSTEM which
+means the currently running JDK. If BREE is specified, MANIFEST
+header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
+define the JDK to compile against. In this case, you need to
+provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
+configuration file. The value of BREE will be matched against the
+id of the toolchain elements in toolchains.xml. Example: 
+<div><pre>
+&lt;toolchains&gt;
+  &lt;toolchain&gt;
+     &lt;type&gt;jdk&lt;/type&gt;
+     &lt;provides&gt;
+         &lt;id&gt;J2SE-1.5&lt;/id&gt;
+     &lt;/provides&gt;
+     &lt;configuration&gt;
+        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
+     &lt;/configuration&gt;
+  &lt;/toolchain&gt;
+&lt;/toolchains&gt;
+</pre></div></div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.compiler.AbstractOsgiCompilerMojo.JDKUsage</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>SYSTEM</tt></li>
+        </ul><hr /><p><b><a name="verbose">verbose</a>:</b></p>
+        <div>Whether to output messages about what the compiler is doing</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.compiler.verbose}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/css/maven-base.css b/sitedocs/tycho-p2/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-p2/css/maven-base.css
+++ b/sitedocs/tycho-p2/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-p2/css/maven-theme.css b/sitedocs/tycho-p2/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-p2/css/maven-theme.css
+++ b/sitedocs/tycho-p2/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-p2/css/print.css b/sitedocs/tycho-p2/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-p2/css/print.css
+++ b/sitedocs/tycho-p2/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-p2/index.html b/sitedocs/tycho-p2/index.html
index cda1b32..9a7a41b 100644
--- a/sitedocs/tycho-p2/index.html
+++ b/sitedocs/tycho-p2/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Tools Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho p2 Tools Parent (Incubation)<a name="About_Tycho_p2_Tools_Parent_Incubation"></a></h2><a name="About_Tycho_p2_Tools_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Tools Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho p2 Tools Parent (Incubation)<a name="About_Tycho_p2_Tools_Parent_Incubation"></a></h2><a name="About_Tycho_p2_Tools_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/project-info.html b/sitedocs/tycho-p2/project-info.html
index 7b720f3..9957f00 100644
--- a/sitedocs/tycho-p2/project-info.html
+++ b/sitedocs/tycho-p2/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Tools Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Tools Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/archive-products-mojo.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/archive-products-mojo.html
index cbd5405..01a98be 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/archive-products-mojo.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/archive-products-mojo.html
@@ -1,179 +1,179 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-p2-director:archive-products</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-p2-director:archive-products<a name="tycho-p2-director:archive-products"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-p2-director-plugin:0.15.0:archive-products</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#formats">formats</a></b></td>
-            <td><tt>Map</tt></td>
-            <td><tt>-</tt></td>
-            <td>Maps os to format. By default a zip file will be created. For
-example, the following configuration will create tar.gz product
-archives for Linux 
-<div><pre>
-&lt;formats&gt;
-  &lt;linux&gt;tar.gz&lt;/linux&gt;
-&lt;/formats&gt;
-</pre></div>
-
-Supported formats 
-<ul>
-<li>zip</li>
-<li>tar.gz</li>
-</ul>
-The future versions can introduce support for other file formats
-and multiple formats per-os.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#products">products</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="formats">formats</a>:</b></p>
-        <div>Maps os to format. By default a zip file will be created. For
-example, the following configuration will create tar.gz product
-archives for Linux 
-<div><pre>
-&lt;formats&gt;
-  &lt;linux&gt;tar.gz&lt;/linux&gt;
-&lt;/formats&gt;
-</pre></div>
-
-Supported formats 
-<ul>
-<li>zip</li>
-<li>tar.gz</li>
-</ul>
-The future versions can introduce support for other file formats
-and multiple formats per-os.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Map</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="products">products</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-p2-director:archive-products</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-p2-director:archive-products<a name="tycho-p2-director:archive-products"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-p2-director-plugin:0.16.0:archive-products</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#formats">formats</a></b></td>
+            <td><tt>Map</tt></td>
+            <td><tt>-</tt></td>
+            <td>Maps os to format. By default a zip file will be created. For
+example, the following configuration will create tar.gz product
+archives for Linux 
+<div><pre>
+&lt;formats&gt;
+  &lt;linux&gt;tar.gz&lt;/linux&gt;
+&lt;/formats&gt;
+</pre></div>
+
+Supported formats 
+<ul>
+<li>zip</li>
+<li>tar.gz</li>
+</ul>
+The future versions can introduce support for other file formats
+and multiple formats per-os.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#products">products</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="formats">formats</a>:</b></p>
+        <div>Maps os to format. By default a zip file will be created. For
+example, the following configuration will create tar.gz product
+archives for Linux 
+<div><pre>
+&lt;formats&gt;
+  &lt;linux&gt;tar.gz&lt;/linux&gt;
+&lt;/formats&gt;
+</pre></div>
+
+Supported formats 
+<ul>
+<li>zip</li>
+<li>tar.gz</li>
+</ul>
+The future versions can introduce support for other file formats
+and multiple formats per-os.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Map</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="products">products</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-base.css b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-base.css
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-theme.css b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/print.css b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/css/print.css
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/index.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/index.html
index 8770f9a..5af6194 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/index.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho p2 Director Plugin (Incubation)<a name="About_Tycho_p2_Director_Plugin_Incubation"></a></h2><a name="About_Tycho_p2_Director_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho p2 Director Plugin (Incubation)<a name="About_Tycho_p2_Director_Plugin_Incubation"></a></h2><a name="About_Tycho_p2_Director_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/materialize-products-mojo.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/materialize-products-mojo.html
index ae831d3..2871aee 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/materialize-products-mojo.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/materialize-products-mojo.html
@@ -1,173 +1,235 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-p2-director:materialize-products</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-p2-director:materialize-products<a name="tycho-p2-director:materialize-products"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-p2-director-plugin:0.15.0:materialize-products</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#installFeatures">installFeatures</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#products">products</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#profile">profile</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>DefaultProfile</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#profileNames">profileNames</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="installFeatures">installFeatures</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="products">products</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="profile">profile</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>DefaultProfile</tt></li>
-        </ul><hr /><p><b><a name="profileNames">profileNames</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-p2-director:materialize-products</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-p2-director:materialize-products<a name="tycho-p2-director:materialize-products"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-p2-director-plugin:0.16.0:materialize-products</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#directorRuntime">directorRuntime</a></b></td>
+            <td><tt>DirectorRuntimeType</tt></td>
+            <td><tt>-</tt></td>
+            <td>Runtime context in which the director application is executed. Can
+be 
+<ul>
+<li><tt>internal</tt> - to use the director application from
+Tycho's embedded OSGi runtime (default)</li>
+<li><tt>standalone</tt> - to create and use a stand-alone
+installation of the director application. This option is needed if
+the product to be installed includes artifacts with
+meta-requirements (e.g. to a non-standard touchpoint action).
+Requires that the <tt>source</tt> parameter is set to
+<tt>repository</tt>.</li>
+</ul><br /><b>Default value is</b>: <tt>internal</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#installFeatures">installFeatures</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#products">products</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#profile">profile</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>DefaultProfile</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#profileNames">profileNames</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#source">source</a></b></td>
+            <td><tt>InstallationSource</tt></td>
+            <td><tt>-</tt></td>
+            <td>Installation source to be used for the director calls. Can be 
+<ul>
+<li><tt>targetPlatform</tt> - to use the target platform as
+source (default)</li>
+<li><tt>repository</tt> - to use the p2 repository in
+<tt>target/repository/</tt> as source. This ensures that it is
+possible to install the product from that repository using an
+(external) director application.</li>
+</ul><br /><b>Default value is</b>: <tt>targetPlatform</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="directorRuntime">directorRuntime</a>:</b></p>
+        <div>Runtime context in which the director application is executed. Can
+be 
+<ul>
+<li><tt>internal</tt> - to use the director application from
+Tycho's embedded OSGi runtime (default)</li>
+<li><tt>standalone</tt> - to create and use a stand-alone
+installation of the director application. This option is needed if
+the product to be installed includes artifacts with
+meta-requirements (e.g. to a non-standard touchpoint action).
+Requires that the <tt>source</tt> parameter is set to
+<tt>repository</tt>.</li>
+</ul></div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.plugins.p2.director.DirectorMojo.DirectorRuntimeType</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>internal</tt></li>
+        </ul><hr /><p><b><a name="installFeatures">installFeatures</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="products">products</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="profile">profile</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>DefaultProfile</tt></li>
+        </ul><hr /><p><b><a name="profileNames">profileNames</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="source">source</a>:</b></p>
+        <div>Installation source to be used for the director calls. Can be 
+<ul>
+<li><tt>targetPlatform</tt> - to use the target platform as
+source (default)</li>
+<li><tt>repository</tt> - to use the p2 repository in
+<tt>target/repository/</tt> as source. This ensures that it is
+possible to install the product from that repository using an
+(external) director application.</li>
+</ul></div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.plugins.p2.director.DirectorMojo.InstallationSource</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>targetPlatform</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/plugin-info.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/plugin-info.html
index 66cae47..0ae4c9e 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/plugin-info.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/plugin-info.html
@@ -1,125 +1,125 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="archive-products-mojo.html">tycho-p2-director:archive-products</a></td><td>No description.</td></tr><tr class="a"><td><a href="materialize-products-mojo.html">tycho-p2-director:materialize-products</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-p2-director-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-p2-director-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="archive-products-mojo.html">tycho-p2-director:archive-products</a></td><td>No description.</td></tr><tr class="a"><td><a href="materialize-products-mojo.html">tycho-p2-director:materialize-products</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-p2-director-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-p2-director-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/project-info.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/project-info.html
index d83d966..2c5563e 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/project-info.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-director-plugin/project-reports.html b/sitedocs/tycho-p2/tycho-p2-director-plugin/project-reports.html
index e99eaf2..73514c8 100644
--- a/sitedocs/tycho-p2/tycho-p2-director-plugin/project-reports.html
+++ b/sitedocs/tycho-p2/tycho-p2-director-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Director Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Director Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/archive-repository-mojo.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/archive-repository-mojo.html
index ad4f9d4..6dc41aa 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/archive-repository-mojo.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/archive-repository-mojo.html
@@ -1,152 +1,152 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-p2-repository:archive-repository</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-p2-repository:archive-repository<a name="tycho-p2-repository:archive-repository"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.15.0:archive-repository</p>
-      <p><b>Description</b>:</p>
-      <div>Just zip the repository.</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#finalName">finalName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Name of the generated zip file (without extension).<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="finalName">finalName</a>:</b></p>
-        <div>Name of the generated zip file (without extension).</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-p2-repository:archive-repository</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-p2-repository:archive-repository<a name="tycho-p2-repository:archive-repository"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.16.0:archive-repository</p>
+      <p><b>Description</b>:</p>
+      <div>Just zip the repository.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Name of the generated zip file (without extension).<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Name of the generated zip file (without extension).</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html
index f909c9a..7c98e76 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html
@@ -1,202 +1,202 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-p2-repository:assemble-repository</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-p2-repository:assemble-repository<a name="tycho-p2-repository:assemble-repository"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.15.0:assemble-repository</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#compress">compress</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Defines whether the resulting p2 metadata should be compressed.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#createArtifactRepository">createArtifactRepository</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Defines whether the artifacts of the included products, features,
-and bundles shall be assembled into a p2 artifact repository. If
-<tt>false</tt>, only a p2 metadata repository is created.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#includeAllDependencies">includeAllDependencies</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Defines whether all transitive dependencies shall be included in
-the resulting repository. By default, only features and bundles
-directly referenced in products and categories and their &quot;include&quot;
-dependencies will be included in the result. To build a completely
-self-contained repository, set this parameter to <tt>true</tt>.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#repositoryName">repositoryName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Defines the name of the p2 repository. The default value is the
-project name.<br /><b>Default value is</b>: <tt>${project.name}</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="compress">compress</a>:</b></p>
-        <div>Defines whether the resulting p2 metadata should be compressed.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="createArtifactRepository">createArtifactRepository</a>:</b></p>
-        <div>Defines whether the artifacts of the included products, features,
-and bundles shall be assembled into a p2 artifact repository. If
-<tt>false</tt>, only a p2 metadata repository is created.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="includeAllDependencies">includeAllDependencies</a>:</b></p>
-        <div>Defines whether all transitive dependencies shall be included in
-the resulting repository. By default, only features and bundles
-directly referenced in products and categories and their &quot;include&quot;
-dependencies will be included in the result. To build a completely
-self-contained repository, set this parameter to <tt>true</tt>.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="repositoryName">repositoryName</a>:</b></p>
-        <div>Defines the name of the p2 repository. The default value is the
-project name.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>${project.name}</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-p2-repository:assemble-repository</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-p2-repository:assemble-repository<a name="tycho-p2-repository:assemble-repository"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.16.0:assemble-repository</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#compress">compress</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Defines whether the resulting p2 metadata should be compressed.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#createArtifactRepository">createArtifactRepository</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Defines whether the artifacts of the included products, features,
+and bundles shall be assembled into a p2 artifact repository. If
+<tt>false</tt>, only a p2 metadata repository is created.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#includeAllDependencies">includeAllDependencies</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Defines whether all transitive dependencies shall be included in
+the resulting repository. By default, only features and bundles
+directly referenced in products and categories and their &quot;include&quot;
+dependencies will be included in the result. To build a completely
+self-contained repository, set this parameter to <tt>true</tt>.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#repositoryName">repositoryName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Defines the name of the p2 repository. The default value is the
+project name.<br /><b>Default value is</b>: <tt>${project.name}</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="compress">compress</a>:</b></p>
+        <div>Defines whether the resulting p2 metadata should be compressed.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="createArtifactRepository">createArtifactRepository</a>:</b></p>
+        <div>Defines whether the artifacts of the included products, features,
+and bundles shall be assembled into a p2 artifact repository. If
+<tt>false</tt>, only a p2 metadata repository is created.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="includeAllDependencies">includeAllDependencies</a>:</b></p>
+        <div>Defines whether all transitive dependencies shall be included in
+the resulting repository. By default, only features and bundles
+directly referenced in products and categories and their &quot;include&quot;
+dependencies will be included in the result. To build a completely
+self-contained repository, set this parameter to <tt>true</tt>.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="repositoryName">repositoryName</a>:</b></p>
+        <div>Defines the name of the p2 repository. The default value is the
+project name.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.name}</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-base.css b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-base.css
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-theme.css b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/print.css b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/print.css
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/index.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/index.html
index 5db8752..605cfbd 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/index.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho p2 Repository Plugin (Incubation)<a name="About_Tycho_p2_Repository_Plugin_Incubation"></a></h2><a name="About_Tycho_p2_Repository_Plugin_Incubation"></a><p>A plugin for creating p2 repositories</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho p2 Repository Plugin (Incubation)<a name="About_Tycho_p2_Repository_Plugin_Incubation"></a></h2><a name="About_Tycho_p2_Repository_Plugin_Incubation"></a><p>A plugin for creating p2 repositories</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/plugin-info.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/plugin-info.html
index e46870d..388be0d 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/plugin-info.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/plugin-info.html
@@ -1,125 +1,125 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="archive-repository-mojo.html">tycho-p2-repository:archive-repository</a></td><td>Just zip the repository.</td></tr><tr class="a"><td><a href="assemble-repository-mojo.html">tycho-p2-repository:assemble-repository</a></td><td>No description.</td></tr><tr class="b"><td><a href="verify-repository-mojo.html">tycho-p2-repository:verify-repository</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="archive-repository-mojo.html">tycho-p2-repository:archive-repository</a></td><td>Just zip the repository.</td></tr><tr class="a"><td><a href="assemble-repository-mojo.html">tycho-p2-repository:assemble-repository</a></td><td>No description.</td></tr><tr class="b"><td><a href="verify-repository-mojo.html">tycho-p2-repository:verify-repository</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-info.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-info.html
index a771607..6041140 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-info.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for creating p2 repositories</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for creating p2 repositories</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-reports.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-reports.html
index 0d91c1a..412203b 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-reports.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-p2/tycho-p2-repository-plugin/verify-repository-mojo.html b/sitedocs/tycho-p2/tycho-p2-repository-plugin/verify-repository-mojo.html
index 683afba..4447592 100644
--- a/sitedocs/tycho-p2/tycho-p2-repository-plugin/verify-repository-mojo.html
+++ b/sitedocs/tycho-p2/tycho-p2-repository-plugin/verify-repository-mojo.html
@@ -1,141 +1,141 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-p2-repository:verify-repository</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho p2 Repository Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-p2-repository:verify-repository<a name="tycho-p2-repository:verify-repository"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.15.0:verify-repository</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>verify</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-p2-repository:verify-repository</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho p2 Repository Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-p2-repository:verify-repository<a name="tycho-p2-repository:verify-repository"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.16.0:verify-repository</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>verify</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/build-qualifier-aggregator-mojo.html b/sitedocs/tycho-packaging-plugin/build-qualifier-aggregator-mojo.html
new file mode 100644
index 0000000..fcb476b
--- /dev/null
+++ b/sitedocs/tycho-packaging-plugin/build-qualifier-aggregator-mojo.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>
+    tycho-packaging:build-qualifier-aggregator</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:build-qualifier-aggregator<a name="tycho-packaging:build-qualifier-aggregator"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:build-qualifier-aggregator</p>
+      <p><b>Description</b>:</p>
+      <div>This mojo calculates build timestamp as the latest timestamp of the
+project itself and timestamps of bundles and features directly
+included in the project. This is meant to work with custom
+timestamp providers and generate build qualifier based on build
+contents, i.e. the source code, and not the time the build was
+started; rebuilding the same source code will result in the same
+version qualifier. 
+<p>Timestamp of included bundles and features is determined by
+parsing their respective version qualifiers. Qualifiers that cannot
+be parsed are silently ignored, which can result in old version
+qualifier used even when aggregator project contents actually
+changed. In this case aggregator project timestamp will have to be
+increased manually, using artificial SCM commit for example.</p>
+<p>Qualifier aggregation is enabled only for projects with custom
+timestamp provider, i.e. &lt;timestampProvider&gt; is set in
+pom.xlm to a value other than &quot;default&quot;. The default build
+timestamp provider uses build start time as build timestamp, which
+should be newer or equal than timestamp of any included
+bundle/feature project, which makes qualifier aggregation
+redundant.</p></div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#baseDir">baseDir</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#execution">execution</a></b></td>
+            <td><tt>MojoExecution</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#forceContextQualifier">forceContextQualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#format">format</a></b></td>
+            <td><tt>SimpleDateFormat</tt></td>
+            <td><tt>-</tt></td>
+            <td>Specify a date format as specified by java.text.SimpleDateFormat.
+Timezone used is UTC.<br /><b>Default value is</b>: <tt>yyyyMMddHHmm</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#timestampProvider">timestampProvider</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Role hint of a custom build timestamp provider.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="baseDir">baseDir</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.basedir}</tt></li>
+        </ul><hr /><p><b><a name="execution">execution</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.plugin.MojoExecution</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${mojoExecution}</tt></li>
+        </ul><hr /><p><b><a name="forceContextQualifier">forceContextQualifier</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${forceContextQualifier}</tt></li>
+        </ul><hr /><p><b><a name="format">format</a>:</b></p>
+        <div>Specify a date format as specified by java.text.SimpleDateFormat.
+Timezone used is UTC.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.text.SimpleDateFormat</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>yyyyMMddHHmm</tt></li>
+        </ul><hr /><p><b><a name="timestampProvider">timestampProvider</a>:</b></p>
+        <div>Role hint of a custom build timestamp provider.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/build-qualifier-mojo.html b/sitedocs/tycho-packaging-plugin/build-qualifier-mojo.html
index 3f63ebe..c2baeb8 100644
--- a/sitedocs/tycho-packaging-plugin/build-qualifier-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/build-qualifier-mojo.html
@@ -1,186 +1,231 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:build-qualifier</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:build-qualifier<a name="tycho-packaging:build-qualifier"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:build-qualifier</p>
-      <p><b>Description</b>:</p>
-      <div>This mojo generates build qualifier according to the rules outlined
-in
-http://help.eclipse.org/ganymede/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm
-
-<ol style="list-style-type: decimal">
-<li>explicit -DforceContextQualifier command line parameter</li>
-<li>forceContextQualifier from
-${project.baseDir}/build.properties</li>
-<li>the tag that was used to fetch the bundle (only when using map
-file)</li>
-<li>a time stamp in the form YYYYMMDDHHMM (ie 200605121600)</li>
-</ol>
-The generated qualifier is assigned to <tt>buildQualifier</tt>
-project property. Unqualified project version is assigned to
-<tt>unqualifiedVersion</tt> project property. Unqualified
-version is calculated based on <tt>${project.version}</tt> and
-can be used for any Tycho project (eclipse-update-site,
-eclipse-application, etc) and regular maven project. Implementation
-guarantees that the same timestamp is used for all projects in
-reactor build. Different projects can use different formats to
-expand the timestamp, however (highly not recommended but
-possible).</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#baseDir">baseDir</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#forceContextQualifier">forceContextQualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#format">format</a></b></td>
-            <td><tt>SimpleDateFormat</tt></td>
-            <td><tt>-</tt></td>
-            <td>Specify a message format as specified by
-java.text.SimpleDateFormat. Timezone used is UTC.<br /><b>Default value is</b>: <tt>yyyyMMddHHmm</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="baseDir">baseDir</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>${project.basedir}</tt></li>
-        </ul><hr /><p><b><a name="forceContextQualifier">forceContextQualifier</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${forceContextQualifier}</tt></li>
-        </ul><hr /><p><b><a name="format">format</a>:</b></p>
-        <div>Specify a message format as specified by
-java.text.SimpleDateFormat. Timezone used is UTC.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.text.SimpleDateFormat</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>yyyyMMddHHmm</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:build-qualifier</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:build-qualifier<a name="tycho-packaging:build-qualifier"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:build-qualifier</p>
+      <p><b>Description</b>:</p>
+      <div>This mojo generates build qualifier according to the rules outlined
+in
+http://help.eclipse.org/ganymede/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm
+
+<ol style="list-style-type: decimal">
+<li>explicit -DforceContextQualifier command line parameter</li>
+<li>forceContextQualifier from
+${project.baseDir}/build.properties</li>
+<li>a time stamp in the form YYYYMMDDHHMM (ie 200605121600)</li>
+</ol>
+<p>The generated qualifier is assigned to
+<tt>buildQualifier</tt> project property. Unqualified project
+version is assigned to <tt>unqualifiedVersion</tt> project
+property. Unqualified version is calculated based on
+<tt>${project.version}</tt> and can be used for any Tycho
+project (eclipse-update-site, eclipse-application, etc) and regular
+maven project. Different projects can use different formats to
+expand the timestamp, however (highly not recommended but
+possible).</p>
+<p>Starting with version 0.16, it is now possible to use custom
+build timestamp generation logic. The primary usecase is to
+generate build version qualifier based on the timestamp of the last
+project commit. Here is example pom.xml snippet that enables custom
+timestamp generation logic</p>
+<div><pre>
+     ...
+     &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
+        &lt;version&gt;${tycho-version}&lt;/version&gt;
+        &lt;dependencies&gt;
+          &lt;dependency&gt;
+            &lt;groupId&gt;timestamp-provider-groupid&lt;/groupId&gt;
+            &lt;artifactId&gt;timestamp-provider-artifactid&lt;/artifactId&gt;
+            &lt;version&gt;timestamp-provider-version&lt;/version&gt;
+          &lt;/dependency&gt;
+        &lt;/dependencies&gt;
+        &lt;configuration&gt;
+          &lt;timestampProvider&gt;custom&lt;/timestampProvider&gt;
+        &lt;/configuration&gt;
+     &lt;/plugin&gt;
+     ...
+
+</pre></div></div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#baseDir">baseDir</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>${project.basedir}</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#execution">execution</a></b></td>
+            <td><tt>MojoExecution</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#forceContextQualifier">forceContextQualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#format">format</a></b></td>
+            <td><tt>SimpleDateFormat</tt></td>
+            <td><tt>-</tt></td>
+            <td>Specify a date format as specified by java.text.SimpleDateFormat.
+Timezone used is UTC.<br /><b>Default value is</b>: <tt>yyyyMMddHHmm</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#timestampProvider">timestampProvider</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Role hint of a custom build timestamp provider.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="baseDir">baseDir</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.basedir}</tt></li>
+        </ul><hr /><p><b><a name="execution">execution</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.plugin.MojoExecution</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${mojoExecution}</tt></li>
+        </ul><hr /><p><b><a name="forceContextQualifier">forceContextQualifier</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${forceContextQualifier}</tt></li>
+        </ul><hr /><p><b><a name="format">format</a>:</b></p>
+        <div>Specify a date format as specified by java.text.SimpleDateFormat.
+Timezone used is UTC.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.text.SimpleDateFormat</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>yyyyMMddHHmm</tt></li>
+        </ul><hr /><p><b><a name="timestampProvider">timestampProvider</a>:</b></p>
+        <div>Role hint of a custom build timestamp provider.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/css/maven-base.css b/sitedocs/tycho-packaging-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-packaging-plugin/css/maven-base.css
+++ b/sitedocs/tycho-packaging-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-packaging-plugin/css/maven-theme.css b/sitedocs/tycho-packaging-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-packaging-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-packaging-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-packaging-plugin/css/print.css b/sitedocs/tycho-packaging-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-packaging-plugin/css/print.css
+++ b/sitedocs/tycho-packaging-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-packaging-plugin/index.html b/sitedocs/tycho-packaging-plugin/index.html
index c510b2d..bee38cf 100644
--- a/sitedocs/tycho-packaging-plugin/index.html
+++ b/sitedocs/tycho-packaging-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho OSGi Packaging Plugin (Incubation)<a name="About_Tycho_OSGi_Packaging_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Packaging_Plugin_Incubation"></a><p>A plugin for packaging OSGi bundles</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho OSGi Packaging Plugin (Incubation)<a name="About_Tycho_OSGi_Packaging_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Packaging_Plugin_Incubation"></a><p>A plugin for packaging OSGi bundles</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/package-feature-mojo.html b/sitedocs/tycho-packaging-plugin/package-feature-mojo.html
index 0117ead..42506af 100644
--- a/sitedocs/tycho-packaging-plugin/package-feature-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/package-feature-mojo.html
@@ -1,257 +1,257 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:package-feature</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:package-feature<a name="tycho-packaging:package-feature"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:package-feature</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Requires dependency resolution of artifacts in scope: <tt>runtime</tt>.</li>
-        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
-      </ul>
-      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#finalName">finalName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Name of the generated JAR.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#archive">archive</a></b></td>
-            <td><tt>MavenArchiveConfiguration</tt></td>
-            <td><tt>-</tt></td>
-            <td>The maven archiver to use.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#basedir">basedir</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#deployableFeature">deployableFeature</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to <tt>true</tt> (the default), standard eclipse update
-site directory with feature content will be created under target
-folder.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#target">target</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="archive">archive</a>:</b></p>
-        <div>The maven archiver to use.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="basedir">basedir</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.basedir}</tt></li>
-        </ul><hr /><p><b><a name="deployableFeature">deployableFeature</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), standard eclipse update
-site directory with feature content will be created under target
-folder.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
-        <div>Name of the generated JAR.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="target">target</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
-        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:package-feature</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:package-feature<a name="tycho-packaging:package-feature"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:package-feature</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Requires dependency resolution of artifacts in scope: <tt>runtime</tt>.</li>
+        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+      </ul>
+      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Name of the generated JAR.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#archive">archive</a></b></td>
+            <td><tt>MavenArchiveConfiguration</tt></td>
+            <td><tt>-</tt></td>
+            <td>The maven archiver to use.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#basedir">basedir</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#deployableFeature">deployableFeature</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>true</tt> (the default), standard eclipse update
+site directory with feature content will be created under target
+folder.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#target">target</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="archive">archive</a>:</b></p>
+        <div>The maven archiver to use.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="basedir">basedir</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.basedir}</tt></li>
+        </ul><hr /><p><b><a name="deployableFeature">deployableFeature</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), standard eclipse update
+site directory with feature content will be created under target
+folder.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Name of the generated JAR.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>Yes</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="target">target</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
+        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/package-plugin-mojo.html b/sitedocs/tycho-packaging-plugin/package-plugin-mojo.html
index 316f0d3..98a7253 100644
--- a/sitedocs/tycho-packaging-plugin/package-plugin-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/package-plugin-mojo.html
@@ -1,215 +1,262 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:package-plugin</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:package-plugin<a name="tycho-packaging:package-plugin"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:package-plugin</p>
-      <p><b>Description</b>:</p>
-      <div>Creates a jar-based plugin and attaches it as an artifact</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#finalName">finalName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Name of the generated JAR.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#archive">archive</a></b></td>
-            <td><tt>MavenArchiveConfiguration</tt></td>
-            <td><tt>-</tt></td>
-            <td>The maven archiver to use.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="archive">archive</a>:</b></p>
-        <div>The maven archiver to use.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="buildDirectory">buildDirectory</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
-        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
-        <div>Name of the generated JAR.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:package-plugin</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:package-plugin<a name="tycho-packaging:package-plugin"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:package-plugin</p>
+      <p><b>Description</b>:</p>
+      <div>Creates a jar-based plugin and attaches it as an artifact</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#buildDirectory">buildDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Name of the generated JAR.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#archive">archive</a></b></td>
+            <td><tt>MavenArchiveConfiguration</tt></td>
+            <td><tt>-</tt></td>
+            <td>The maven archiver to use.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#sourceReferences">sourceReferences</a></b></td>
+            <td><tt>SourceReferences</tt></td>
+            <td><tt>-</tt></td>
+            <td>Whether to generate an <a class="externalLink" href="http://wiki.eclipse.org/PDE/UI/SourceReferences">Eclipse-SourceReferences</a>
+MANIFEST header. When using this parameter, property
+${tycho.scmUrl} must be set and be a valid <a class="externalLink" href="http://maven.apache.org/scm/scm-url-format.html">maven SCM
+URL</a>. Example configuration: 
+<div><pre>
+        &lt;sourceReferences&gt;
+          &lt;generate&gt;true&lt;/generate&gt;
+        &lt;/sourceReferences&gt;
+</pre></div>
+
+Note that a <tt>SourceReferencesProvider</tt> component must be
+registered for the SCM type being used. You may also override the
+generated value by configuring: 
+<div><pre>
+        &lt;sourceReferences&gt;
+          &lt;generate&gt;true&lt;/generate&gt;
+          &lt;customValue&gt;scm:myscm:customSourceReferenceValue&lt;/customValue&gt;
+        &lt;/sourceReferences&gt;
+</pre></div><br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="archive">archive</a>:</b></p>
+        <div>The maven archiver to use.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="buildDirectory">buildDirectory</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>Yes</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>Name of the generated JAR.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>Yes</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="sourceReferences">sourceReferences</a>:</b></p>
+        <div>Whether to generate an <a class="externalLink" href="http://wiki.eclipse.org/PDE/UI/SourceReferences">Eclipse-SourceReferences</a>
+MANIFEST header. When using this parameter, property
+${tycho.scmUrl} must be set and be a valid <a class="externalLink" href="http://maven.apache.org/scm/scm-url-format.html">maven SCM
+URL</a>. Example configuration: 
+<div><pre>
+        &lt;sourceReferences&gt;
+          &lt;generate&gt;true&lt;/generate&gt;
+        &lt;/sourceReferences&gt;
+</pre></div>
+
+Note that a <tt>SourceReferencesProvider</tt> component must be
+registered for the SCM type being used. You may also override the
+generated value by configuring: 
+<div><pre>
+        &lt;sourceReferences&gt;
+          &lt;generate&gt;true&lt;/generate&gt;
+          &lt;customValue&gt;scm:myscm:customSourceReferenceValue&lt;/customValue&gt;
+        &lt;/sourceReferences&gt;
+</pre></div></div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.packaging.SourceReferences</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/package-target-definition-mojo.html b/sitedocs/tycho-packaging-plugin/package-target-definition-mojo.html
new file mode 100644
index 0000000..ec8b993
--- /dev/null
+++ b/sitedocs/tycho-packaging-plugin/package-target-definition-mojo.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>
+    tycho-packaging:package-target-definition</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:package-target-definition<a name="tycho-packaging:package-target-definition"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:package-target-definition</p>
+      <p><b>Description</b>:</p>
+      <div>Registers the target definition file &lt;artifactId&gt;.target
+expected in the basedir of a project as maven artifact.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>package</tt>.</li>
+      </ul>
+      <div class="section"><h3>Parameters<a name="Parameters"></a></h3>
+        <p>(no parameters)</p>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/plugin-info.html b/sitedocs/tycho-packaging-plugin/plugin-info.html
index e0aae96..a141428 100644
--- a/sitedocs/tycho-packaging-plugin/plugin-info.html
+++ b/sitedocs/tycho-packaging-plugin/plugin-info.html
@@ -1,149 +1,191 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="build-qualifier-mojo.html">tycho-packaging:build-qualifier</a></td><td>This mojo generates build qualifier according to the rules outlined
-in
-http://help.eclipse.org/ganymede/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm
-
-<ol>
-<li>explicit -DforceContextQualifier command line parameter</li>
-<li>forceContextQualifier from
-${project.baseDir}/build.properties</li>
-<li>the tag that was used to fetch the bundle (only when using map
-file)</li>
-<li>a time stamp in the form YYYYMMDDHHMM (ie 200605121600)</li>
-</ol>
-The generated qualifier is assigned to <code>buildQualifier</code>
-project property. Unqualified project version is assigned to
-<code>unqualifiedVersion</code> project property. Unqualified
-version is calculated based on <code>${project.version}</code> and
-can be used for any Tycho project (eclipse-update-site,
-eclipse-application, etc) and regular maven project. Implementation
-guarantees that the same timestamp is used for all projects in
-reactor build. Different projects can use different formats to
-expand the timestamp, however (highly not recommended but
-possible).</td></tr><tr class="a"><td><a href="package-feature-mojo.html">tycho-packaging:package-feature</a></td><td>No description.</td></tr><tr class="b"><td><a href="package-plugin-mojo.html">tycho-packaging:package-plugin</a></td><td>Creates a jar-based plugin and attaches it as an artifact</td></tr><tr class="a"><td><a href="product-export-mojo.html">tycho-packaging:product-export</a></td><td>No description.</td></tr><tr class="b"><td><a href="update-site-mojo.html">tycho-packaging:update-site</a></td><td>No description.</td></tr><tr class="a"><td><a href="update-site-packaging-mojo.html">tycho-packaging:update-site-packaging</a></td><td>No description.</td></tr><tr class="b"><td><a href="validate-id-mojo.html">tycho-packaging:validate-id</a></td><td>Validates that project Maven and OSGi ids match.</td></tr><tr class="a"><td><a href="validate-version-mojo.html">tycho-packaging:validate-version</a></td><td>Validates project Maven and OSGi versions. For SNAPSHOT versions,
-OSGi version qualifier must be ".qualifier" and unqualified Maven
-and OSGi versions must be equal. For RELEASE versions, OSGi and
-Maven versions must be equal.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="build-qualifier-mojo.html">tycho-packaging:build-qualifier</a></td><td>This mojo generates build qualifier according to the rules outlined
+in
+http://help.eclipse.org/ganymede/topic/org.eclipse.pde.doc.user/tasks/pde_version_qualifiers.htm
+
+<ol>
+<li>explicit -DforceContextQualifier command line parameter</li>
+<li>forceContextQualifier from
+${project.baseDir}/build.properties</li>
+<li>a time stamp in the form YYYYMMDDHHMM (ie 200605121600)</li>
+</ol>
+<p>The generated qualifier is assigned to
+<code>buildQualifier</code> project property. Unqualified project
+version is assigned to <code>unqualifiedVersion</code> project
+property. Unqualified version is calculated based on
+<code>${project.version}</code> and can be used for any Tycho
+project (eclipse-update-site, eclipse-application, etc) and regular
+maven project. Different projects can use different formats to
+expand the timestamp, however (highly not recommended but
+possible).</p>
+<p>Starting with version 0.16, it is now possible to use custom
+build timestamp generation logic. The primary usecase is to
+generate build version qualifier based on the timestamp of the last
+project commit. Here is example pom.xml snippet that enables custom
+timestamp generation logic</p>
+<pre>
+     ...
+     &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
+        &lt;version&gt;${tycho-version}&lt;/version&gt;
+        &lt;dependencies&gt;
+          &lt;dependency&gt;
+            &lt;groupId&gt;timestamp-provider-groupid&lt;/groupId&gt;
+            &lt;artifactId&gt;timestamp-provider-artifactid&lt;/artifactId&gt;
+            &lt;version&gt;timestamp-provider-version&lt;/version&gt;
+          &lt;/dependency&gt;
+        &lt;/dependencies&gt;
+        &lt;configuration&gt;
+          &lt;timestampProvider&gt;custom&lt;/timestampProvider&gt;
+        &lt;/configuration&gt;
+     &lt;/plugin&gt;
+     ...
+
+</pre></td></tr><tr class="a"><td><a href="build-qualifier-aggregator-mojo.html">tycho-packaging:build-qualifier-aggregator</a></td><td>This mojo calculates build timestamp as the latest timestamp of the
+project itself and timestamps of bundles and features directly
+included in the project. This is meant to work with custom
+timestamp providers and generate build qualifier based on build
+contents, i.e. the source code, and not the time the build was
+started; rebuilding the same source code will result in the same
+version qualifier. 
+<p>Timestamp of included bundles and features is determined by
+parsing their respective version qualifiers. Qualifiers that cannot
+be parsed are silently ignored, which can result in old version
+qualifier used even when aggregator project contents actually
+changed. In this case aggregator project timestamp will have to be
+increased manually, using artificial SCM commit for example.</p>
+<p>Qualifier aggregation is enabled only for projects with custom
+timestamp provider, i.e. &lt;timestampProvider&gt; is set in
+pom.xlm to a value other than "default". The default build
+timestamp provider uses build start time as build timestamp, which
+should be newer or equal than timestamp of any included
+bundle/feature project, which makes qualifier aggregation
+redundant.</p></td></tr><tr class="b"><td><a href="package-feature-mojo.html">tycho-packaging:package-feature</a></td><td>No description.</td></tr><tr class="a"><td><a href="package-plugin-mojo.html">tycho-packaging:package-plugin</a></td><td>Creates a jar-based plugin and attaches it as an artifact</td></tr><tr class="b"><td><a href="package-target-definition-mojo.html">tycho-packaging:package-target-definition</a></td><td>Registers the target definition file &lt;artifactId&gt;.target
+expected in the basedir of a project as maven artifact.</td></tr><tr class="a"><td><a href="product-export-mojo.html">tycho-packaging:product-export</a></td><td>No description.</td></tr><tr class="b"><td><a href="update-site-mojo.html">tycho-packaging:update-site</a></td><td>No description.</td></tr><tr class="a"><td><a href="update-site-packaging-mojo.html">tycho-packaging:update-site-packaging</a></td><td>No description.</td></tr><tr class="b"><td><a href="validate-id-mojo.html">tycho-packaging:validate-id</a></td><td>Validates that project Maven and OSGi ids match.</td></tr><tr class="a"><td><a href="validate-version-mojo.html">tycho-packaging:validate-version</a></td><td>Validates project Maven and OSGi versions. For SNAPSHOT versions,
+OSGi version qualifier must be ".qualifier" and unqualified Maven
+and OSGi versions must be equal. For RELEASE versions, OSGi and
+Maven versions must be equal.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-packaging-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/product-export-mojo.html b/sitedocs/tycho-packaging-plugin/product-export-mojo.html
index 38a06d5..6957f61 100644
--- a/sitedocs/tycho-packaging-plugin/product-export-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/product-export-mojo.html
@@ -1,276 +1,276 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:product-export</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:product-export<a name="tycho-packaging:product-export"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:product-export</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#createProductArchive">createProductArchive</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#environments">environments</a></b></td>
-            <td><tt>TargetEnvironment[]</tt></td>
-            <td><tt>-</tt></td>
-            <td><b>Deprecated.</b> <br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#expandedProductFile">expandedProductFile</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>Location of generated .product file with all versions replaced with
-their expanded values.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#forcePackedDependencies">forcePackedDependencies</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td><br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#includeSources">includeSources</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#p2inf">p2inf</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#productConfigurationFile">productConfigurationFile</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>The product configuration, a .product file. This file manages all
-aspects of a product definition from its constituent plug-ins to
-configuration files to branding.<br /><b>Default value is</b>: <tt>${project.basedir}/${project.artifactId}.product</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#separateEnvironments">separateEnvironments</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If true (the default), produce separate directory structure for
-each supported runtime environment.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="createProductArchive">createProductArchive</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${tycho.product.createArchive}</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="environments">environments</a>:</b></p>
-        <div><b>Deprecated.</b> </div>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.tycho.core.TargetEnvironment[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="expandedProductFile">expandedProductFile</a>:</b></p>
-        <div>Location of generated .product file with all versions replaced with
-their expanded values.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/${project.artifactId}.product</tt></li>
-        </ul><hr /><p><b><a name="forcePackedDependencies">forcePackedDependencies</a>:</b></p>
-        <div></div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="includeSources">includeSources</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="p2inf">p2inf</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${productConfiguration}/../p2.inf</tt></li>
-        </ul><hr /><p><b><a name="productConfigurationFile">productConfigurationFile</a>:</b></p>
-        <div>The product configuration, a .product file. This file manages all
-aspects of a product definition from its constituent plug-ins to
-configuration files to branding.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${productConfiguration}</tt></li>
-          <li><b>Default</b>: <tt>${project.basedir}/${project.artifactId}.product</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="separateEnvironments">separateEnvironments</a>:</b></p>
-        <div>If true (the default), produce separate directory structure for
-each supported runtime environment.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:product-export</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:product-export<a name="tycho-packaging:product-export"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:product-export</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#createProductArchive">createProductArchive</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#environments">environments</a></b></td>
+            <td><tt>TargetEnvironment[]</tt></td>
+            <td><tt>-</tt></td>
+            <td><b>Deprecated.</b> <br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#expandedProductFile">expandedProductFile</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>Location of generated .product file with all versions replaced with
+their expanded values.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#forcePackedDependencies">forcePackedDependencies</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td><br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#includeSources">includeSources</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#p2inf">p2inf</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#productConfigurationFile">productConfigurationFile</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>The product configuration, a .product file. This file manages all
+aspects of a product definition from its constituent plug-ins to
+configuration files to branding.<br /><b>Default value is</b>: <tt>${project.basedir}/${project.artifactId}.product</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#separateEnvironments">separateEnvironments</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If true (the default), produce separate directory structure for
+each supported runtime environment.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="createProductArchive">createProductArchive</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${tycho.product.createArchive}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="environments">environments</a>:</b></p>
+        <div><b>Deprecated.</b> </div>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.core.facade.TargetEnvironment[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="expandedProductFile">expandedProductFile</a>:</b></p>
+        <div>Location of generated .product file with all versions replaced with
+their expanded values.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/${project.artifactId}.product</tt></li>
+        </ul><hr /><p><b><a name="forcePackedDependencies">forcePackedDependencies</a>:</b></p>
+        <div></div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="includeSources">includeSources</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="p2inf">p2inf</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${productConfiguration}/../p2.inf</tt></li>
+        </ul><hr /><p><b><a name="productConfigurationFile">productConfigurationFile</a>:</b></p>
+        <div>The product configuration, a .product file. This file manages all
+aspects of a product definition from its constituent plug-ins to
+configuration files to branding.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${productConfiguration}</tt></li>
+          <li><b>Default</b>: <tt>${project.basedir}/${project.artifactId}.product</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="separateEnvironments">separateEnvironments</a>:</b></p>
+        <div>If true (the default), produce separate directory structure for
+each supported runtime environment.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/project-info.html b/sitedocs/tycho-packaging-plugin/project-info.html
index a513a52..7a2a1c9 100644
--- a/sitedocs/tycho-packaging-plugin/project-info.html
+++ b/sitedocs/tycho-packaging-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for packaging OSGi bundles</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for packaging OSGi bundles</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/project-reports.html b/sitedocs/tycho-packaging-plugin/project-reports.html
index 6f448b3..a398ab2 100644
--- a/sitedocs/tycho-packaging-plugin/project-reports.html
+++ b/sitedocs/tycho-packaging-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/update-site-mojo.html b/sitedocs/tycho-packaging-plugin/update-site-mojo.html
index b4ffee2..993dda5 100644
--- a/sitedocs/tycho-packaging-plugin/update-site-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/update-site-mojo.html
@@ -1,205 +1,205 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:update-site</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:update-site<a name="tycho-packaging:update-site"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:update-site</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#basedir">basedir</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#inlineArchives">inlineArchives</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#target">target</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="basedir">basedir</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.basedir}</tt></li>
-        </ul><hr /><p><b><a name="inlineArchives">inlineArchives</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), missing build.properties
-bin.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties bin.includes will be
-reported as warnings but the build will not fail.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="target">target</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
-        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:update-site</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:update-site<a name="tycho-packaging:update-site"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:update-site</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#basedir">basedir</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#inlineArchives">inlineArchives</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#strictBinIncludes">strictBinIncludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#target">target</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="basedir">basedir</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.basedir}</tt></li>
+        </ul><hr /><p><b><a name="inlineArchives">inlineArchives</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="strictBinIncludes">strictBinIncludes</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), missing build.properties
+bin.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties bin.includes will be
+reported as warnings but the build will not fail.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="target">target</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
+        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/update-site-packaging-mojo.html b/sitedocs/tycho-packaging-plugin/update-site-packaging-mojo.html
index aef01db..4e83990 100644
--- a/sitedocs/tycho-packaging-plugin/update-site-packaging-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/update-site-packaging-mojo.html
@@ -1,164 +1,164 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:update-site-packaging</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:update-site-packaging<a name="tycho-packaging:update-site-packaging"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:update-site-packaging</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#archiveSite">archiveSite</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If true, create site assembly zip file. If false (the default), do
-not create site assembly zip file. Please note that the project's
-main artifact that will be deployed/installed to maven repository
-is a zip only containing the site.xml. However, if this parameter
-is set to true an additional result file classified as 'assembly'
-containing a full packaged update site will be created and
-installed.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#target">target</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>Generated update site location (must match update-site mojo
-configuration)<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="archiveSite">archiveSite</a>:</b></p>
-        <div>If true, create site assembly zip file. If false (the default), do
-not create site assembly zip file. Please note that the project's
-main artifact that will be deployed/installed to maven repository
-is a zip only containing the site.xml. However, if this parameter
-is set to true an additional result file classified as 'assembly'
-containing a full packaged update site will be created and
-installed.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="target">target</a>:</b></p>
-        <div>Generated update site location (must match update-site mojo
-configuration)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:update-site-packaging</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:update-site-packaging<a name="tycho-packaging:update-site-packaging"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:update-site-packaging</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#archiveSite">archiveSite</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If true, create site assembly zip file. If false (the default), do
+not create site assembly zip file. Please note that the project's
+main artifact that will be deployed/installed to maven repository
+is a zip only containing the site.xml. However, if this parameter
+is set to true an additional result file classified as 'assembly'
+containing a full packaged update site will be created and
+installed.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#target">target</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>Generated update site location (must match update-site mojo
+configuration)<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="archiveSite">archiveSite</a>:</b></p>
+        <div>If true, create site assembly zip file. If false (the default), do
+not create site assembly zip file. Please note that the project's
+main artifact that will be deployed/installed to maven repository
+is a zip only containing the site.xml. However, if this parameter
+is set to true an additional result file classified as 'assembly'
+containing a full packaged update site will be created and
+installed.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="target">target</a>:</b></p>
+        <div>Generated update site location (must match update-site mojo
+configuration)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/site</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/validate-id-mojo.html b/sitedocs/tycho-packaging-plugin/validate-id-mojo.html
index 3e992f8..d932d76 100644
--- a/sitedocs/tycho-packaging-plugin/validate-id-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/validate-id-mojo.html
@@ -1,117 +1,117 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:validate-id</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:validate-id<a name="tycho-packaging:validate-id"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:validate-id</p>
-      <p><b>Description</b>:</p>
-      <div>Validates that project Maven and OSGi ids match.</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
-      </ul>
-      <div class="section"><h3>Parameters<a name="Parameters"></a></h3>
-        <p>(no parameters)</p>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:validate-id</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:validate-id<a name="tycho-packaging:validate-id"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:validate-id</p>
+      <p><b>Description</b>:</p>
+      <div>Validates that project Maven and OSGi ids match.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
+      </ul>
+      <div class="section"><h3>Parameters<a name="Parameters"></a></h3>
+        <p>(no parameters)</p>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-packaging-plugin/validate-version-mojo.html b/sitedocs/tycho-packaging-plugin/validate-version-mojo.html
index d09aab3..252e907 100644
--- a/sitedocs/tycho-packaging-plugin/validate-version-mojo.html
+++ b/sitedocs/tycho-packaging-plugin/validate-version-mojo.html
@@ -1,148 +1,148 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-packaging:validate-version</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Packaging Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-packaging:validate-version<a name="tycho-packaging:validate-version"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-packaging-plugin:0.15.0:validate-version</p>
-      <p><b>Description</b>:</p>
-      <div>Validates project Maven and OSGi versions. For SNAPSHOT versions,
-OSGi version qualifier must be &quot;.qualifier&quot; and unqualified Maven
-and OSGi versions must be equal. For RELEASE versions, OSGi and
-Maven versions must be equal.</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#strictVersions">strictVersions</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If <tt>true</tt> (the default) will fail the build if Maven and
-OSGi project versions do not match. If <tt>false</tt> will
-issue a warning but will not fail the build if Maven and OSGi
-project versions do not match.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="strictVersions">strictVersions</a>:</b></p>
-        <div>If <tt>true</tt> (the default) will fail the build if Maven and
-OSGi project versions do not match. If <tt>false</tt> will
-issue a warning but will not fail the build if Maven and OSGi
-project versions do not match.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-packaging:validate-version</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Packaging Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-packaging:validate-version<a name="tycho-packaging:validate-version"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-packaging-plugin:0.16.0:validate-version</p>
+      <p><b>Description</b>:</p>
+      <div>Validates project Maven and OSGi versions. For SNAPSHOT versions,
+OSGi version qualifier must be &quot;.qualifier&quot; and unqualified Maven
+and OSGi versions must be equal. For RELEASE versions, OSGi and
+Maven versions must be equal.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Binds by default to the lifecycle phase: <tt>validate</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#strictVersions">strictVersions</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If <tt>true</tt> (the default) will fail the build if Maven and
+OSGi project versions do not match. If <tt>false</tt> will
+issue a warning but will not fail the build if Maven and OSGi
+project versions do not match.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="strictVersions">strictVersions</a>:</b></p>
+        <div>If <tt>true</tt> (the default) will fail the build if Maven and
+OSGi project versions do not match. If <tt>false</tt> will
+issue a warning but will not fail the build if Maven and OSGi
+project versions do not match.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/css/maven-base.css b/sitedocs/tycho-release/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-release/css/maven-base.css
+++ b/sitedocs/tycho-release/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-release/css/maven-theme.css b/sitedocs/tycho-release/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-release/css/maven-theme.css
+++ b/sitedocs/tycho-release/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-release/css/print.css b/sitedocs/tycho-release/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-release/css/print.css
+++ b/sitedocs/tycho-release/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-release/index.html b/sitedocs/tycho-release/index.html
index d411d62..a55f69f 100644
--- a/sitedocs/tycho-release/index.html
+++ b/sitedocs/tycho-release/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Release Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho Release Parent (Incubation)<a name="About_Tycho_Release_Parent_Incubation"></a></h2><a name="About_Tycho_Release_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Release Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho Release Parent (Incubation)<a name="About_Tycho_Release_Parent_Incubation"></a></h2><a name="About_Tycho_Release_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/project-info.html b/sitedocs/tycho-release/project-info.html
index f7d5615..728db78 100644
--- a/sitedocs/tycho-release/project-info.html
+++ b/sitedocs/tycho-release/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Release Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Release Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/css/maven-base.css b/sitedocs/tycho-release/tycho-versions-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/css/maven-base.css
+++ b/sitedocs/tycho-release/tycho-versions-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/css/maven-theme.css b/sitedocs/tycho-release/tycho-versions-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-release/tycho-versions-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/css/print.css b/sitedocs/tycho-release/tycho-versions-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/css/print.css
+++ b/sitedocs/tycho-release/tycho-versions-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/index.html b/sitedocs/tycho-release/tycho-versions-plugin/index.html
index bc789b7..ab8c061 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/index.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho Versions Plugin (Incubation)<a name="About_Tycho_Versions_Plugin_Incubation"></a></h2><a name="About_Tycho_Versions_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho Versions Plugin (Incubation)<a name="About_Tycho_Versions_Plugin_Incubation"></a></h2><a name="About_Tycho_Versions_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html b/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
index 1035431..744c58a 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/plugin-info.html
@@ -1,126 +1,126 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="set-version-mojo.html">tycho-versions:set-version</a></td><td>No description.</td></tr><tr class="a"><td><a href="update-pom-mojo.html">tycho-versions:update-pom</a></td><td>Update pom.xml version to match corresponding Eclipse/OSGi
-metadata.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="set-version-mojo.html">tycho-versions:set-version</a></td><td>No description.</td></tr><tr class="a"><td><a href="update-pom-mojo.html">tycho-versions:update-pom</a></td><td>Update pom.xml version to match corresponding Eclipse/OSGi
+metadata.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="b"><td>Maven</td><td>3.0</td></tr><tr class="a"><td>JDK</td><td>1.5</td></tr><tr class="b"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="a"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/project-info.html b/sitedocs/tycho-release/tycho-versions-plugin/project-info.html
index c80b25b..2badc10 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/project-info.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/project-reports.html b/sitedocs/tycho-release/tycho-versions-plugin/project-reports.html
index 7d3073f..19b48cd 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/project-reports.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/set-version-mojo.html b/sitedocs/tycho-release/tycho-versions-plugin/set-version-mojo.html
index 3fb97ad..10f9686 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/set-version-mojo.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/set-version-mojo.html
@@ -1,163 +1,163 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-versions:set-version</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-versions:set-version<a name="tycho-versions:set-version"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-versions-plugin:0.15.0:set-version</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Executes as an aggregator plugin.</li>
-        <li>Executes by direct invocation only.</li>
-      </ul>
-      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#newVersion">newVersion</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>The new version number to set.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#artifacts">artifacts</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td><br /><b>Default value is</b>: <tt>${project.artifactId}</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="artifacts">artifacts</a>:</b></p>
-        <div></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${artifacts}</tt></li>
-          <li><b>Default</b>: <tt>${project.artifactId}</tt></li>
-        </ul><hr /><p><b><a name="newVersion">newVersion</a>:</b></p>
-        <div>The new version number to set.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${newVersion}</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-versions:set-version</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-versions:set-version<a name="tycho-versions:set-version"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-versions-plugin:0.16.0:set-version</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Executes as an aggregator plugin.</li>
+        <li>Executes by direct invocation only.</li>
+      </ul>
+      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#newVersion">newVersion</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>The new version number to set.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#artifacts">artifacts</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td><br /><b>Default value is</b>: <tt>${project.artifactId}</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="artifacts">artifacts</a>:</b></p>
+        <div></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${artifacts}</tt></li>
+          <li><b>Default</b>: <tt>${project.artifactId}</tt></li>
+        </ul><hr /><p><b><a name="newVersion">newVersion</a>:</b></p>
+        <div>The new version number to set.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>Yes</tt></li>
+          <li><b>Expression</b>: <tt>${newVersion}</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-release/tycho-versions-plugin/update-pom-mojo.html b/sitedocs/tycho-release/tycho-versions-plugin/update-pom-mojo.html
index 663fb68..b618691 100644
--- a/sitedocs/tycho-release/tycho-versions-plugin/update-pom-mojo.html
+++ b/sitedocs/tycho-release/tycho-versions-plugin/update-pom-mojo.html
@@ -1,119 +1,119 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-versions:update-pom</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Versions Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-versions:update-pom<a name="tycho-versions:update-pom"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-versions-plugin:0.15.0:update-pom</p>
-      <p><b>Description</b>:</p>
-      <div>Update pom.xml version to match corresponding Eclipse/OSGi
-metadata.</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Executes as an aggregator plugin.</li>
-        <li>Executes by direct invocation only.</li>
-      </ul>
-      <div class="section"><h3>Parameters<a name="Parameters"></a></h3>
-        <p>(no parameters)</p>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-versions:update-pom</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Versions Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-versions:update-pom<a name="tycho-versions:update-pom"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-versions-plugin:0.16.0:update-pom</p>
+      <p><b>Description</b>:</p>
+      <div>Update pom.xml version to match corresponding Eclipse/OSGi
+metadata.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Executes as an aggregator plugin.</li>
+        <li>Executes by direct invocation only.</li>
+      </ul>
+      <div class="section"><h3>Parameters<a name="Parameters"></a></h3>
+        <p>(no parameters)</p>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-source-plugin/css/maven-base.css b/sitedocs/tycho-source-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-source-plugin/css/maven-base.css
+++ b/sitedocs/tycho-source-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-source-plugin/css/maven-theme.css b/sitedocs/tycho-source-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-source-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-source-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-source-plugin/css/print.css b/sitedocs/tycho-source-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-source-plugin/css/print.css
+++ b/sitedocs/tycho-source-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-source-plugin/index.html b/sitedocs/tycho-source-plugin/index.html
index 4671909..4859799 100644
--- a/sitedocs/tycho-source-plugin/index.html
+++ b/sitedocs/tycho-source-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Source Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho OSGi Source Plugin (Incubation)<a name="About_Tycho_OSGi_Source_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Source_Plugin_Incubation"></a><p>A plugin for packing source on OSGi bundles</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Source Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho OSGi Source Plugin (Incubation)<a name="About_Tycho_OSGi_Source_Plugin_Incubation"></a></h2><a name="About_Tycho_OSGi_Source_Plugin_Incubation"></a><p>A plugin for packing source on OSGi bundles</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-source-plugin/plugin-info.html b/sitedocs/tycho-source-plugin/plugin-info.html
index fc0a8b6..2242a55 100644
--- a/sitedocs/tycho-source-plugin/plugin-info.html
+++ b/sitedocs/tycho-source-plugin/plugin-info.html
@@ -1,126 +1,126 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Source Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="plugin-source-mojo.html">tycho-source:plugin-source</a></td><td>Goal to create a JAR-package containing all the source files of a
-osgi project.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Source Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="plugin-source-mojo.html">tycho-source:plugin-source</a></td><td>Goal to create a JAR-package containing all the source files of a
+osgi project.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-source-plugin/plugin-source-mojo.html b/sitedocs/tycho-source-plugin/plugin-source-mojo.html
index 5a47b5b..9dfba1e 100644
--- a/sitedocs/tycho-source-plugin/plugin-source-mojo.html
+++ b/sitedocs/tycho-source-plugin/plugin-source-mojo.html
@@ -1,381 +1,381 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-source:plugin-source</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Source Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-source:plugin-source<a name="tycho-source:plugin-source"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-source-plugin:0.15.0:plugin-source</p>
-      <p><b>Description</b>:</p>
-      <div>Goal to create a JAR-package containing all the source files of a
-osgi project.</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Since version: <tt>2.0.3</tt>.</li>
-        <li>Binds by default to the lifecycle phase: <tt>prepare-package</tt>.</li>
-      </ul>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#archive">archive</a></b></td>
-            <td><tt>MavenArchiveConfiguration</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>The archive configuration to use. See <a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/index.html">Maven
-Archiver Reference</a>.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#attach">attach</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>Specifies whether or not to attach the artifact to the project<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#excludeResources">excludeResources</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.0.4</tt></td>
-            <td>Specifies whether or not to exclude resources from the sources-jar.
-This can be convenient if your project includes large resources,
-such as images, and you don't want to include them in the
-sources-jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#excludes">excludes</a></b></td>
-            <td><tt>String[]</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>List of files to exclude. Specified as fileset patterns which are
-relative to the input directory whose contents is being packaged
-into the JAR.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#finalName">finalName</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>The filename to be used for the generated archive file. For the
-source:jar goal, &quot;-sources&quot; is appended to this filename. For the
-source:test-jar goal, &quot;-test-sources&quot; is appended.<br /><b>Default value is</b>: <tt>${project.build.finalName}</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#forceCreation">forceCreation</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>NOT SUPPORTED. Whether creating the archive should be forced. If
-set to true, the jar will always be created. If set to false, the
-jar will only be created when the sources are newer than the jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#includePom">includePom</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>Specifies whether or not to include the POM file in the
-sources-jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#includes">includes</a></b></td>
-            <td><tt>String[]</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>List of files to include. Specified as fileset patterns which are
-relative to the input directory whose contents is being packaged
-into the JAR.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>The directory where the generated archive file will be put.<br /><b>Default value is</b>: <tt>${project.build.directory}</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#qualifier">qualifier</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal. Only used when creating a source bundle.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#sourceBundle">sourceBundle</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>Whether the source jar should be an Eclipse source bundle.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#sourceBundleSuffix">sourceBundleSuffix</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>The suffix to be added to the symbolic name of the bundle to
-construct the symbolic name of the Eclipse source bundle.<br /><b>Default value is</b>: <tt>.source</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#strictSrcIncludes">strictSrcIncludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>If set to <tt>true</tt> (the default), missing build.properties
-src.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties src.includes will be
-reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>Exclude commonly excluded files such as SCM configuration. These
-are defined in the plexus FileUtils.getDefaultExcludes()<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#useDefaultManifestFile">useDefaultManifestFile</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.1</tt></td>
-            <td>Set this to <tt>true</tt> to enable the use of the
-<tt>defaultManifestFile</tt>. <br /><br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useDefaultSourceExcludes">useDefaultSourceExcludes</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>2.0.3</tt></td>
-            <td>Whether default source excludes for SCM files defined in
-AbstractScanner#DEFAULTEXCLUDES should be used.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="archive">archive</a>:</b></p>
-        <div>The archive configuration to use. See <a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/index.html">Maven
-Archiver Reference</a>.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="attach">attach</a>:</b></p>
-        <div>Specifies whether or not to attach the artifact to the project</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${attach}</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
-        <div>Specifies whether or not to exclude resources from the sources-jar.
-This can be convenient if your project includes large resources,
-such as images, and you don't want to include them in the
-sources-jar.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.0.4</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${source.excludeResources}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
-        <div>List of files to exclude. Specified as fileset patterns which are
-relative to the input directory whose contents is being packaged
-into the JAR.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
-        <div>The filename to be used for the generated archive file. For the
-source:jar goal, &quot;-sources&quot; is appended to this filename. For the
-source:test-jar goal, &quot;-test-sources&quot; is appended.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>${project.build.finalName}</tt></li>
-        </ul><hr /><p><b><a name="forceCreation">forceCreation</a>:</b></p>
-        <div>NOT SUPPORTED. Whether creating the archive should be forced. If
-set to true, the jar will always be created. If set to false, the
-jar will only be created when the sources are newer than the jar.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${source.forceCreation}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="includePom">includePom</a>:</b></p>
-        <div>Specifies whether or not to include the POM file in the
-sources-jar.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${source.includePom}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
-        <div>List of files to include. Specified as fileset patterns which are
-relative to the input directory whose contents is being packaged
-into the JAR.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
-        <div>The directory where the generated archive file will be put.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>${project.build.directory}</tt></li>
-        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
-        <div>Build qualifier. Recommended way to set this parameter is using
-build-qualifier goal. Only used when creating a source bundle.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
-        </ul><hr /><p><b><a name="sourceBundle">sourceBundle</a>:</b></p>
-        <div>Whether the source jar should be an Eclipse source bundle.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="sourceBundleSuffix">sourceBundleSuffix</a>:</b></p>
-        <div>The suffix to be added to the symbolic name of the bundle to
-construct the symbolic name of the Eclipse source bundle.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${sourceBundleSuffix}</tt></li>
-          <li><b>Default</b>: <tt>.source</tt></li>
-        </ul><hr /><p><b><a name="strictSrcIncludes">strictSrcIncludes</a>:</b></p>
-        <div>If set to <tt>true</tt> (the default), missing build.properties
-src.includes will cause build failure. If set to
-<tt>false</tt>, missing build.properties src.includes will be
-reported as warnings but the build will not fail.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
-        <div>Exclude commonly excluded files such as SCM configuration. These
-are defined in the plexus FileUtils.getDefaultExcludes()</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="useDefaultManifestFile">useDefaultManifestFile</a>:</b></p>
-        <div>Set this to <tt>true</tt> to enable the use of the
-<tt>defaultManifestFile</tt>. <br /></div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.1</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="useDefaultSourceExcludes">useDefaultSourceExcludes</a>:</b></p>
-        <div>Whether default source excludes for SCM files defined in
-AbstractScanner#DEFAULTEXCLUDES should be used.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Since</b>: <tt>2.0.3</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-source:plugin-source</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Source Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-source:plugin-source<a name="tycho-source:plugin-source"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-source-plugin:0.16.0:plugin-source</p>
+      <p><b>Description</b>:</p>
+      <div>Goal to create a JAR-package containing all the source files of a
+osgi project.</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Since version: <tt>2.0.3</tt>.</li>
+        <li>Binds by default to the lifecycle phase: <tt>prepare-package</tt>.</li>
+      </ul>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#archive">archive</a></b></td>
+            <td><tt>MavenArchiveConfiguration</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>The archive configuration to use. See <a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/index.html">Maven
+Archiver Reference</a>.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#attach">attach</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>Specifies whether or not to attach the artifact to the project<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#excludeResources">excludeResources</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.0.4</tt></td>
+            <td>Specifies whether or not to exclude resources from the sources-jar.
+This can be convenient if your project includes large resources,
+such as images, and you don't want to include them in the
+sources-jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#excludes">excludes</a></b></td>
+            <td><tt>String[]</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>List of files to exclude. Specified as fileset patterns which are
+relative to the input directory whose contents is being packaged
+into the JAR.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#finalName">finalName</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>The filename to be used for the generated archive file. For the
+source:jar goal, &quot;-sources&quot; is appended to this filename. For the
+source:test-jar goal, &quot;-test-sources&quot; is appended.<br /><b>Default value is</b>: <tt>${project.build.finalName}</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#forceCreation">forceCreation</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>NOT SUPPORTED. Whether creating the archive should be forced. If
+set to true, the jar will always be created. If set to false, the
+jar will only be created when the sources are newer than the jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#includePom">includePom</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>Specifies whether or not to include the POM file in the
+sources-jar.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#includes">includes</a></b></td>
+            <td><tt>String[]</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>List of files to include. Specified as fileset patterns which are
+relative to the input directory whose contents is being packaged
+into the JAR.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#outputDirectory">outputDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>The directory where the generated archive file will be put.<br /><b>Default value is</b>: <tt>${project.build.directory}</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#qualifier">qualifier</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal. Only used when creating a source bundle.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#sourceBundle">sourceBundle</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>Whether the source jar should be an Eclipse source bundle.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#sourceBundleSuffix">sourceBundleSuffix</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>The suffix to be added to the symbolic name of the bundle to
+construct the symbolic name of the Eclipse source bundle.<br /><b>Default value is</b>: <tt>.source</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#strictSrcIncludes">strictSrcIncludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>If set to <tt>true</tt> (the default), missing build.properties
+src.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties src.includes will be
+reported as warnings but the build will not fail.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#useDefaultExcludes">useDefaultExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>Exclude commonly excluded files such as SCM configuration. These
+are defined in the plexus FileUtils.getDefaultExcludes()<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useDefaultManifestFile">useDefaultManifestFile</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.1</tt></td>
+            <td>Set this to <tt>true</tt> to enable the use of the
+<tt>defaultManifestFile</tt>. <br /><br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#useDefaultSourceExcludes">useDefaultSourceExcludes</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>2.0.3</tt></td>
+            <td>Whether default source excludes for SCM files defined in
+AbstractScanner#DEFAULTEXCLUDES should be used.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="archive">archive</a>:</b></p>
+        <div>The archive configuration to use. See <a class="externalLink" href="http://maven.apache.org/shared/maven-archiver/index.html">Maven
+Archiver Reference</a>.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.archiver.MavenArchiveConfiguration</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="attach">attach</a>:</b></p>
+        <div>Specifies whether or not to attach the artifact to the project</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${attach}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="excludeResources">excludeResources</a>:</b></p>
+        <div>Specifies whether or not to exclude resources from the sources-jar.
+This can be convenient if your project includes large resources,
+such as images, and you don't want to include them in the
+sources-jar.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.0.4</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${source.excludeResources}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
+        <div>List of files to exclude. Specified as fileset patterns which are
+relative to the input directory whose contents is being packaged
+into the JAR.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="finalName">finalName</a>:</b></p>
+        <div>The filename to be used for the generated archive file. For the
+source:jar goal, &quot;-sources&quot; is appended to this filename. For the
+source:test-jar goal, &quot;-test-sources&quot; is appended.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.build.finalName}</tt></li>
+        </ul><hr /><p><b><a name="forceCreation">forceCreation</a>:</b></p>
+        <div>NOT SUPPORTED. Whether creating the archive should be forced. If
+set to true, the jar will always be created. If set to false, the
+jar will only be created when the sources are newer than the jar.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${source.forceCreation}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="includePom">includePom</a>:</b></p>
+        <div>Specifies whether or not to include the POM file in the
+sources-jar.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${source.includePom}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
+        <div>List of files to include. Specified as fileset patterns which are
+relative to the input directory whose contents is being packaged
+into the JAR.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="outputDirectory">outputDirectory</a>:</b></p>
+        <div>The directory where the generated archive file will be put.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.build.directory}</tt></li>
+        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
+        <div>Build qualifier. Recommended way to set this parameter is using
+build-qualifier goal. Only used when creating a source bundle.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
+        </ul><hr /><p><b><a name="sourceBundle">sourceBundle</a>:</b></p>
+        <div>Whether the source jar should be an Eclipse source bundle.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="sourceBundleSuffix">sourceBundleSuffix</a>:</b></p>
+        <div>The suffix to be added to the symbolic name of the bundle to
+construct the symbolic name of the Eclipse source bundle.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${sourceBundleSuffix}</tt></li>
+          <li><b>Default</b>: <tt>.source</tt></li>
+        </ul><hr /><p><b><a name="strictSrcIncludes">strictSrcIncludes</a>:</b></p>
+        <div>If set to <tt>true</tt> (the default), missing build.properties
+src.includes will cause build failure. If set to
+<tt>false</tt>, missing build.properties src.includes will be
+reported as warnings but the build will not fail.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="useDefaultExcludes">useDefaultExcludes</a>:</b></p>
+        <div>Exclude commonly excluded files such as SCM configuration. These
+are defined in the plexus FileUtils.getDefaultExcludes()</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="useDefaultManifestFile">useDefaultManifestFile</a>:</b></p>
+        <div>Set this to <tt>true</tt> to enable the use of the
+<tt>defaultManifestFile</tt>. <br /></div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.1</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="useDefaultSourceExcludes">useDefaultSourceExcludes</a>:</b></p>
+        <div>Whether default source excludes for SCM files defined in
+AbstractScanner#DEFAULTEXCLUDES should be used.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>2.0.3</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-source-plugin/project-info.html b/sitedocs/tycho-source-plugin/project-info.html
index c4bd914..f325093 100644
--- a/sitedocs/tycho-source-plugin/project-info.html
+++ b/sitedocs/tycho-source-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Source Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for packing source on OSGi bundles</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Source Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>A plugin for packing source on OSGi bundles</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-source-plugin/project-reports.html b/sitedocs/tycho-source-plugin/project-reports.html
index 3aaf6d7..d6c21a7 100644
--- a/sitedocs/tycho-source-plugin/project-reports.html
+++ b/sitedocs/tycho-source-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho OSGi Source Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho OSGi Source Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/css/maven-base.css b/sitedocs/tycho-surefire/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-surefire/css/maven-base.css
+++ b/sitedocs/tycho-surefire/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-surefire/css/maven-theme.css b/sitedocs/tycho-surefire/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-surefire/css/maven-theme.css
+++ b/sitedocs/tycho-surefire/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-surefire/css/print.css b/sitedocs/tycho-surefire/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-surefire/css/print.css
+++ b/sitedocs/tycho-surefire/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-surefire/index.html b/sitedocs/tycho-surefire/index.html
index fd236a7..3e0eb06 100644
--- a/sitedocs/tycho-surefire/index.html
+++ b/sitedocs/tycho-surefire/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho Surefire Parent (Incubation)<a name="About_Tycho_Surefire_Parent_Incubation"></a></h2><a name="About_Tycho_Surefire_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho Surefire Parent (Incubation)<a name="About_Tycho_Surefire_Parent_Incubation"></a></h2><a name="About_Tycho_Surefire_Parent_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/project-info.html b/sitedocs/tycho-surefire/project-info.html
index 0fe38eb..d00bb8a 100644
--- a/sitedocs/tycho-surefire/project-info.html
+++ b/sitedocs/tycho-surefire/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Parent (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Parent (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-base.css b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-base.css
index f39e42c..584ba23 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-base.css
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-base.css
@@ -1,151 +1,151 @@
-body {
-  margin: 0px;
-  padding: 0px;
-}
-img {
-  border:none;
-}
-table {
-  padding:0px;
-  width: 100%;
-  margin-left: -2px;
-  margin-right: -2px;
-}
-acronym {
-  cursor: help;
-  border-bottom: 1px dotted #feb;
-}
-table.bodyTable th, table.bodyTable td {
-  padding: 2px 4px 2px 4px;
-  vertical-align: top;
-}
-div.clear{
-  clear:both;
-  visibility: hidden;
-}
-div.clear hr{
-  display: none;
-}
-#bannerLeft, #bannerRight {
-  font-size: xx-large;
-  font-weight: bold;
-}
-#bannerLeft img, #bannerRight img {
-  margin: 0px;
-}
-.xleft, #bannerLeft img {
-  float:left;
-}
-.xright, #bannerRight {
-  float:right;
-}
-#banner {
-  padding: 0px;
-}
-#banner img {
-  border: none;
-}
-#breadcrumbs {
-  padding: 3px 10px 3px 10px;
-}
-#leftColumn {
- width: 170px;
- float:left;
- overflow: auto;
-}
-#bodyColumn {
-  margin-right: 1.5em;
-  margin-left: 197px;
-}
-#legend {
-  padding: 8px 0 8px 0;
-}
-#navcolumn {
-  padding: 8px 4px 0 8px;
-}
-#navcolumn h5 {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn ul {
-  margin: 0;
-  padding: 0;
-  font-size: small;
-}
-#navcolumn li {
-  list-style-type: none;
-  background-image: none;
-  background-repeat: no-repeat;
-  background-position: 0 0.4em;
-  padding-left: 16px;
-  list-style-position: outside;
-  line-height: 1.2em;
-  font-size: smaller;
-}
-#navcolumn li.expanded {
-  background-image: url(../images/expanded.gif);
-}
-#navcolumn li.collapsed {
-  background-image: url(../images/collapsed.gif);
-}
-#poweredBy {
-  text-align: center;
-}
-#navcolumn img {
-  margin-top: 10px;
-  margin-bottom: 3px;
-}
-#poweredBy img {
-  display:block;
-  margin: 20px 0 20px 17px;
-}
-#search img {
-    margin: 0px;
-    display: block;
-}
-#search #q, #search #btnG {
-    border: 1px solid #999;
-    margin-bottom:10px;
-}
-#search form {
-    margin: 0px;
-}
-#lastPublished {
-  font-size: x-small;
-}
-.navSection {
-  margin-bottom: 2px;
-  padding: 8px;
-}
-.navSectionHead {
-  font-weight: bold;
-  font-size: x-small;
-}
-.section {
-  padding: 4px;
-}
-#footer {
-  padding: 3px 10px 3px 10px;
-  font-size: x-small;
-}
-#breadcrumbs {
-  font-size: x-small;
-  margin: 0pt;
-}
-.source {
-  padding: 12px;
-  margin: 1em 7px 1em 7px;
-}
-.source pre {
-  margin: 0px;
-  padding: 0px;
-}
-#navcolumn img.imageLink, .imageLink {
-  padding-left: 0px;
-  padding-bottom: 0px;
-  padding-top: 0px;
-  padding-right: 2px;
-  border: 0px;
-  margin: 0px;
-}
+body {
+  margin: 0px;
+  padding: 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#bannerLeft, #bannerRight {
+  font-size: xx-large;
+  font-weight: bold;
+}
+#bannerLeft img, #bannerRight img {
+  margin: 0px;
+}
+.xleft, #bannerLeft img {
+  float:left;
+}
+.xright, #bannerRight {
+  float:right;
+}
+#banner {
+  padding: 0px;
+}
+#banner img {
+  border: none;
+}
+#breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 170px;
+ float:left;
+ overflow: auto;
+}
+#bodyColumn {
+  margin-right: 1.5em;
+  margin-left: 197px;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5 {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: outside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#poweredBy {
+  text-align: center;
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  padding: 3px 10px 3px 10px;
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
+#navcolumn img.imageLink, .imageLink {
+  padding-left: 0px;
+  padding-bottom: 0px;
+  padding-top: 0px;
+  padding-right: 2px;
+  border: 0px;
+  margin: 0px;
+}
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-theme.css b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-theme.css
index ec29c89..c982168 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-theme.css
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/maven-theme.css
@@ -1,141 +1,141 @@
-body {
-  padding: 0px 0px 10px 0px;
-}
-body, td, select, input, li{
-  font-family: Verdana, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-code{
-  font-family: Courier, monospace;
-  font-size: 13px;
-}
-a {
-  text-decoration: none;
-}
-a:link {
-  color:#36a;
-}
-a:visited  {
-  color:#47a;
-}
-a:active, a:hover {
-  color:#69c;
-}
-#legend li.externalLink {
-  background: url(../images/external.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
-  background: url(../images/external.png) right center no-repeat;
-  padding-right: 18px;
-}
-#legend li.newWindow {
-  background: url(../images/newwindow.png) left top no-repeat;
-  padding-left: 18px;
-}
-a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
-  background: url(../images/newwindow.png) right center no-repeat;
-  padding-right: 18px;
-}
-h2 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #999;
-  color: #900;
-  background-color: #ddd;
-  font-weight:900;
-  font-size: x-large;
-}
-h3 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  color: #900;
-  background-color: #eee;
-  font-weight: normal;
-  font-size: large;
-}
-h4 {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #bbb;
-  color: #900;
-  background-color: #fff;
-  font-weight: normal;
-  font-size: large;
-}
-h5 {
-  padding: 4px 4px 4px 6px;
-  color: #900;
-  font-size: normal;
-}
-p {
-  line-height: 1.3em;
-  font-size: small;
-}
-#breadcrumbs {
-  border-top: 1px solid #aaa;
-  border-bottom: 1px solid #aaa;
-  background-color: #ccc;
-}
-#leftColumn {
-  margin: 10px 0 0 5px;
-  border: 1px solid #999;
-  background-color: #eee;
-}
-#navcolumn h5 {
-  font-size: smaller;
-  border-bottom: 1px solid #aaaaaa;
-  padding-top: 2px;
-  color: #000;
-}
-
-table.bodyTable th {
-  color: white;
-  background-color: #bbb;
-  text-align: left;
-  font-weight: bold;
-}
-
-table.bodyTable th, table.bodyTable td {
-  font-size: 1em;
-}
-
-table.bodyTable tr.a {
-  background-color: #ddd;
-}
-
-table.bodyTable tr.b {
-  background-color: #eee;
-}
-
-.source {
-  border: 1px solid #999;
-}
-dl {
-  padding: 4px 4px 4px 6px;
-  border: 1px solid #aaa;
-  background-color: #ffc;
-}
-dt {
-  color: #900;
-}
-#organizationLogo img, #projectLogo img, #projectLogo span{
-  margin: 8px;
-}
-#banner {
-  border-bottom: 1px solid #fff;
-}
-.errormark, .warningmark, .donemark, .infomark {
-  background: url(../images/icon_error_sml.gif) no-repeat;
-}
-
-.warningmark {
-  background-image: url(../images/icon_warning_sml.gif);
-}
-
-.donemark {
-  background-image: url(../images/icon_success_sml.gif);
-}
-
-.infomark {
-  background-image: url(../images/icon_info_sml.gif);
-}
-
+body {
+  padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+code{
+  font-family: Courier, monospace;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+h4 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #bbb;
+  color: #900;
+  background-color: #fff;
+  font-weight: normal;
+  font-size: large;
+}
+h5 {
+  padding: 4px 4px 4px 6px;
+  color: #900;
+  font-size: normal;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+  color: #000;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: #ffc;
+}
+dt {
+  color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+  background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+  background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+  background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+  background-image: url(../images/icon_info_sml.gif);
+}
+
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/print.css b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/print.css
index f09d546..26ad7f0 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/css/print.css
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/css/print.css
@@ -1,7 +1,7 @@
-#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
-	display: none !important;
-}
-#bodyColumn, body.docs div.docs {
-	margin: 0 !important;
-	border: none !important
-}
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none !important;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/index.html b/sitedocs/tycho-surefire/tycho-surefire-plugin/index.html
index dcfa636..3dd836d 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/index.html
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/index.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>About</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>About Tycho Surefire Plugin (Incubation)<a name="About_Tycho_Surefire_Plugin_Incubation"></a></h2><a name="About_Tycho_Surefire_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>About</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>About Tycho Surefire Plugin (Incubation)<a name="About_Tycho_Surefire_Plugin_Incubation"></a></h2><a name="About_Tycho_Surefire_Plugin_Incubation"></a><p>Tycho integrates Maven with Eclipse and OSGi</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/plugin-info.html b/sitedocs/tycho-surefire/tycho-surefire-plugin/plugin-info.html
index fb84573..ce52157 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/plugin-info.html
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/plugin-info.html
@@ -1,125 +1,125 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Plugin Documentation</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="test-mojo.html">tycho-surefire:test</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
-  ...
-  &lt;build&gt;
-    &lt;!-- To define the plugin version in your parent POM --&gt;
-    &lt;pluginManagement&gt;
-      &lt;plugins&gt;
-        &lt;plugin&gt;
-          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-          &lt;artifactId&gt;tycho-surefire-plugin&lt;/artifactId&gt;
-          &lt;version&gt;0.15.0&lt;/version&gt;
-        &lt;/plugin&gt;
-        ...
-      &lt;/plugins&gt;
-    &lt;/pluginManagement&gt;
-    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
-    &lt;plugins&gt;
-      &lt;plugin&gt;
-        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
-        &lt;artifactId&gt;tycho-surefire-plugin&lt;/artifactId&gt;
-        &lt;version&gt;0.15.0&lt;/version&gt;
-      &lt;/plugin&gt;
-      ...
-    &lt;/plugins&gt;
-  &lt;/build&gt;
-  ...
-&lt;/project&gt;
-</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Plugin Documentation</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <a name="Plugin_Documentation"></a><div class="section"><h2>Plugin Documentation<a name="Plugin_Documentation"></a></h2><p>Goals available for this plugin:</p><table border="0" class="bodyTable"><tr class="a"><th>Goal</th><th>Description</th></tr><tr class="b"><td><a href="test-mojo.html">tycho-surefire:test</a></td><td>No description.</td></tr></table><a name="System_Requirements"></a><div class="section"><h3>System Requirements<a name="System_Requirements"></a></h3><p>The following specifies the minimum requirements to run this Maven plugin:</p><table border="0" class="bodyTable"><tr class="a"><td>Maven</td><td>3.0</td></tr><tr class="b"><td>JDK</td><td>1.5</td></tr><tr class="a"><td>Memory</td><td>No minimum requirement.</td></tr><tr class="b"><td>Disk Space</td><td>No minimum requirement.</td></tr></table></div><a name="Usage"></a><div class="section"><h3>Usage<a name="Usage"></a></h3><p>You should specify the version in your project's plugin configuration:</p><div class="source"><pre>&lt;project&gt;
+  ...
+  &lt;build&gt;
+    &lt;!-- To define the plugin version in your parent POM --&gt;
+    &lt;pluginManagement&gt;
+      &lt;plugins&gt;
+        &lt;plugin&gt;
+          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+          &lt;artifactId&gt;tycho-surefire-plugin&lt;/artifactId&gt;
+          &lt;version&gt;0.16.0&lt;/version&gt;
+        &lt;/plugin&gt;
+        ...
+      &lt;/plugins&gt;
+    &lt;/pluginManagement&gt;
+    &lt;!-- To use the plugin goals in your POM or parent POM --&gt;
+    &lt;plugins&gt;
+      &lt;plugin&gt;
+        &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
+        &lt;artifactId&gt;tycho-surefire-plugin&lt;/artifactId&gt;
+        &lt;version&gt;0.16.0&lt;/version&gt;
+      &lt;/plugin&gt;
+      ...
+    &lt;/plugins&gt;
+  &lt;/build&gt;
+  ...
+&lt;/project&gt;
+</pre></div><p>For more information, see <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-configuring-plugins.html">&quot;Guide to Configuring Plug-ins&quot;</a></p></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/project-info.html b/sitedocs/tycho-surefire/tycho-surefire-plugin/project-info.html
index b154ecc..237dc74 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/project-info.html
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/project-info.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Project Information</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Project Information</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Project Information<a name="Project_Information"></a></h2><p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="index.html">About</a></td><td>Tycho integrates Maven with Eclipse and OSGi</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/project-reports.html b/sitedocs/tycho-surefire/tycho-surefire-plugin/project-reports.html
index aae3de5..bd0143a 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/project-reports.html
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/project-reports.html
@@ -1,99 +1,99 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Generated Reports</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Generated Reports</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section"><h2>Generated Reports<a name="Generated_Reports"></a></h2><p>This document provides an overview of the various reports that are automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> . Each report is briefly described below.</p><div class="section"><h3>Overview<a name="Overview"></a></h3><table border="0" class="bodyTable"><tr class="a"><th>Document</th><th>Description</th></tr><tr class="b"><td><a href="plugin-info.html">Plugin Documentation</a></td><td>This report provides goals and parameters documentation of a plugin.</td></tr></table></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html b/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html
index 49447dd..1807804 100644
--- a/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html
+++ b/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html
@@ -1,575 +1,665 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia at Jun 4, 2012 -->
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     <title>
-    tycho-surefire:test</title>
-    <style type="text/css" media="all">
-      @import url("./css/maven-base.css");
-      @import url("./css/maven-theme.css");
-      @import url("./css/site.css");
-    </style>
-    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20120604" />
-    <meta http-equiv="Content-Language" content="en" />
-        
-        </head>
-  <body class="composite">
-    <div id="banner">
-                    <div id="bannerLeft">
-                Tycho Surefire Plugin (Incubation)
-                </div>
-                    <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="breadcrumbs">
-            
-        
-                <div class="xleft">
-        <span id="publishDate">Last Published: 2012-06-04</span>
-                  &nbsp;| <span id="projectVersion">Version: 0.15.0</span>
-                      </div>
-            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
-              
-        
-      </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-    <div id="leftColumn">
-      <div id="navcolumn">
-             
-        
-                                <h5>Tycho</h5>
-                  <ul>
-                  <li class="none">
-                          <a href="../../index.html" title="Introduction">Introduction</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
-            </li>
-                  <li class="none">
-                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
-            </li>
-          </ul>
-                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
-        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
-      </a>
-                   
-        
-            </div>
-    </div>
-    <div id="bodyColumn">
-      <div id="contentBox">
-        
-  
-    <div class="section"><h2>tycho-surefire:test<a name="tycho-surefire:test"></a></h2>
-      <p><b>Full name</b>:</p>
-      <p>org.eclipse.tycho:tycho-surefire-plugin:0.15.0:test</p>
-      <p><b>Description</b>:</p>
-      <div>(no description)</div>
-      <p><b>Attributes</b>:</p>
-      <ul>
-        <li>Requires a Maven project to be executed.</li>
-        <li>Requires dependency resolution of artifacts in scope: <tt>runtime</tt>.</li>
-        <li>Binds by default to the lifecycle phase: <tt>integration-test</tt>.</li>
-      </ul>
-      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#testClassesDirectory">testClassesDirectory</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>The directory containing generated test classes of the project
-being tested.<br /></td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
-        <table class="bodyTable" border="0">
-          <tr class="a">
-            <th>Name</th>
-            <th>Type</th>
-            <th>Since</th>
-            <th>Description</th>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#appArgLine">appArgLine</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Arbitrary applications arguments to set on the command line.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#application">application</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Eclipse application to be run. If not specified, default
-application org.eclipse.ui.ide.workbench will be used. Application
-runnable will be invoked from test harness, not directly from
-Eclipse.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#argLine">argLine</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Arbitrary JVM options to set on the command line.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#bundleStartLevel">bundleStartLevel</a></b></td>
-            <td><tt>BundleStartLevel[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>Bundle start level and auto start configuration used by the test
-runtime.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#debugPort">debugPort</a></b></td>
-            <td><tt>int</tt></td>
-            <td><tt>-</tt></td>
-            <td>Set this parameter to suspend the test JVM waiting for a client to
-open a remote debug session on the specified port.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#dependencies">dependencies</a></b></td>
-            <td><tt>Dependency[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>Additional test target platform dependencies.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#devProperties">devProperties</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#environmentVariables">environmentVariables</a></b></td>
-            <td><tt>Map</tt></td>
-            <td><tt>-</tt></td>
-            <td>Additional environments to set for the forked test JVM.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#excludes">excludes</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>List of patterns (separated by commas) used to specify the tests
-that should be excluded in testing. When not specified and whent
-the <tt>test</tt> parameter is not specified, the default
-excludes will be <tt>**/Abstract*Test.java
-**/Abstract*TestCase.java **/*$*</tt><br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#explodedBundles">explodedBundles</a></b></td>
-            <td><tt>String[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>List of bundles that must be expanded in order to execute the tests<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#failIfNoTests">failIfNoTests</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>If set to &quot;false&quot; the test execution will not fail in case there
-are no tests found.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#forkedProcessTimeoutInSeconds">forkedProcessTimeoutInSeconds</a></b></td>
-            <td><tt>int</tt></td>
-            <td><tt>-</tt></td>
-            <td>Kill the forked test process after a certain number of seconds. If
-set to 0, wait forever for the process, never timing out.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#frameworkExtensions">frameworkExtensions</a></b></td>
-            <td><tt>Dependency[]</tt></td>
-            <td><tt>-</tt></td>
-            <td>List of framework extension bundles to add.<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#includes">includes</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>List of patterns (separated by commas) used to specify the tests
-that should be included in testing. When not specified and whent
-the <tt>test</tt> parameter is not specified, the default
-includes will be <tt>**/Test*.java **/*Test.java
-**/*TestCase.java</tt><br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#pluginArtifacts">pluginArtifacts</a></b></td>
-            <td><tt>List</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#product">product</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Eclipse product to be run, i.e. -product parameter passed to test
-Eclipse runtime.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#redirectTestOutputToFile">redirectTestOutputToFile</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Set this to &quot;true&quot; to redirect the unit test standard output to a
-file (found in reportsDirectory/testName-output.txt).<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#reportsDirectory">reportsDirectory</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>Base directory where all reports are written to.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#showEclipseLog">showEclipseLog</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Enables -debug -consolelog for the test OSGi runtime<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#skip">skip</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#skipExec">skipExec</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td><b>Deprecated.</b> Use skipTests instead.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#skipTests">skipTests</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#surefireProperties">surefireProperties</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#systemProperties">systemProperties</a></b></td>
-            <td><tt>Map</tt></td>
-            <td><tt>-</tt></td>
-            <td>Additional system properties to set for the forked test JVM.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#test">test</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Specify this parameter if you want to use the test pattern matching
-notation, Ant pattern matching, to select tests to run. The Ant
-pattern will be used to create an include pattern formatted like
-<tt>**/${test}.java</tt> When used, the <tt>includes</tt>
-and <tt>excludes</tt> patterns parameters are ignored<br /></td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#testClass">testClass</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>See testSuite<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#testFailureIgnore">testFailureIgnore</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Set this to true to ignore a failure during testing. Its use is NOT
-RECOMMENDED, but quite convenient on occasion.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#testSuite">testSuite</a></b></td>
-            <td><tt>String</tt></td>
-            <td><tt>-</tt></td>
-            <td>Bundle-SymbolicName of the test suite, a special bundle that knows
-how to locate and execute all relevant tests. testSuite and
-testClass identify single test class to run. All other tests will
-be ignored if both testSuite and testClass are provided. It is an
-error if provide one of the two parameters but not the other.<br /></td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#useUIHarness">useUIHarness</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Run tests using UI (true) or headless (false) test harness.<br /><b>Default value is</b>: <tt>false</tt>.</td>
-          </tr>
-          <tr class="a">
-            <td><b><a href="#useUIThread">useUIThread</a></b></td>
-            <td><tt>boolean</tt></td>
-            <td><tt>-</tt></td>
-            <td>Run tests in UI (true) or background (false) thread. Only applies
-to UI test harness.<br /><b>Default value is</b>: <tt>true</tt>.</td>
-          </tr>
-          <tr class="b">
-            <td><b><a href="#work">work</a></b></td>
-            <td><tt>File</tt></td>
-            <td><tt>-</tt></td>
-            <td>(no description)<br /><b>Default value is</b>: <tt>${project.build.directory}/work</tt>.</td>
-          </tr>
-        </table>
-      </div>
-      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
-        <p><b><a name="appArgLine">appArgLine</a>:</b></p>
-        <div>Arbitrary applications arguments to set on the command line.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="application">application</a>:</b></p>
-        <div>Eclipse application to be run. If not specified, default
-application org.eclipse.ui.ide.workbench will be used. Application
-runnable will be invoked from test harness, not directly from
-Eclipse.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="argLine">argLine</a>:</b></p>
-        <div>Arbitrary JVM options to set on the command line.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${tycho.testArgLine}</tt></li>
-        </ul><hr /><p><b><a name="bundleStartLevel">bundleStartLevel</a>:</b></p>
-        <div>Bundle start level and auto start configuration used by the test
-runtime.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.eclipse.sisu.equinox.launching.BundleStartLevel[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="debugPort">debugPort</a>:</b></p>
-        <div>Set this parameter to suspend the test JVM waiting for a client to
-open a remote debug session on the specified port.</div>
-        <ul>
-          <li><b>Type</b>: <tt>int</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${debugPort}</tt></li>
-        </ul><hr /><p><b><a name="dependencies">dependencies</a>:</b></p>
-        <div>Additional test target platform dependencies.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.apache.maven.model.Dependency[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="devProperties">devProperties</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/dev.properties</tt></li>
-        </ul><hr /><p><b><a name="environmentVariables">environmentVariables</a>:</b></p>
-        <div>Additional environments to set for the forked test JVM.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Map</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
-        <div>List of patterns (separated by commas) used to specify the tests
-that should be excluded in testing. When not specified and whent
-the <tt>test</tt> parameter is not specified, the default
-excludes will be <tt>**/Abstract*Test.java
-**/Abstract*TestCase.java **/*$*</tt></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="explodedBundles">explodedBundles</a>:</b></p>
-        <div>List of bundles that must be expanded in order to execute the tests</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="failIfNoTests">failIfNoTests</a>:</b></p>
-        <div>If set to &quot;false&quot; the test execution will not fail in case there
-are no tests found.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${failIfNoTests}</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="forkedProcessTimeoutInSeconds">forkedProcessTimeoutInSeconds</a>:</b></p>
-        <div>Kill the forked test process after a certain number of seconds. If
-set to 0, wait forever for the process, never timing out.</div>
-        <ul>
-          <li><b>Type</b>: <tt>int</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${surefire.timeout}</tt></li>
-        </ul><hr /><p><b><a name="frameworkExtensions">frameworkExtensions</a>:</b></p>
-        <div>List of framework extension bundles to add.</div>
-        <ul>
-          <li><b>Type</b>: <tt>org.apache.maven.model.Dependency[]</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
-        <div>List of patterns (separated by commas) used to specify the tests
-that should be included in testing. When not specified and whent
-the <tt>test</tt> parameter is not specified, the default
-includes will be <tt>**/Test*.java **/*Test.java
-**/*TestCase.java</tt></div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="pluginArtifacts">pluginArtifacts</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.List</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${plugin.artifacts}</tt></li>
-        </ul><hr /><p><b><a name="product">product</a>:</b></p>
-        <div>Eclipse product to be run, i.e. -product parameter passed to test
-Eclipse runtime.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="redirectTestOutputToFile">redirectTestOutputToFile</a>:</b></p>
-        <div>Set this to &quot;true&quot; to redirect the unit test standard output to a
-file (found in reportsDirectory/testName-output.txt).</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.test.redirectTestOutputToFile}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="reportsDirectory">reportsDirectory</a>:</b></p>
-        <div>Base directory where all reports are written to.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/surefire-reports</tt></li>
-        </ul><hr /><p><b><a name="showEclipseLog">showEclipseLog</a>:</b></p>
-        <div>Enables -debug -consolelog for the test OSGi runtime</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${tycho.showEclipseLog}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="skip">skip</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.test.skip}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="skipExec">skipExec</a>:</b></p>
-        <div><b>Deprecated.</b> Use skipTests instead.</div>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.test.skipExec}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="skipTests">skipTests</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${skipTests}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="surefireProperties">surefireProperties</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.directory}/surefire.properties</tt></li>
-        </ul><hr /><p><b><a name="systemProperties">systemProperties</a>:</b></p>
-        <div>Additional system properties to set for the forked test JVM.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.util.Map</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-        </ul><hr /><p><b><a name="test">test</a>:</b></p>
-        <div>Specify this parameter if you want to use the test pattern matching
-notation, Ant pattern matching, to select tests to run. The Ant
-pattern will be used to create an include pattern formatted like
-<tt>**/${test}.java</tt> When used, the <tt>includes</tt>
-and <tt>excludes</tt> patterns parameters are ignored</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${test}</tt></li>
-        </ul><hr /><p><b><a name="testClass">testClass</a>:</b></p>
-        <div>See testSuite</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${testClass}</tt></li>
-        </ul><hr /><p><b><a name="testClassesDirectory">testClassesDirectory</a>:</b></p>
-        <div>The directory containing generated test classes of the project
-being tested.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>Yes</tt></li>
-          <li><b>Expression</b>: <tt>${project.build.outputDirectory}</tt></li>
-        </ul><hr /><p><b><a name="testFailureIgnore">testFailureIgnore</a>:</b></p>
-        <div>Set this to true to ignore a failure during testing. Its use is NOT
-RECOMMENDED, but quite convenient on occasion.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${maven.test.failure.ignore}</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="testSuite">testSuite</a>:</b></p>
-        <div>Bundle-SymbolicName of the test suite, a special bundle that knows
-how to locate and execute all relevant tests. testSuite and
-testClass identify single test class to run. All other tests will
-be ignored if both testSuite and testClass are provided. It is an
-error if provide one of the two parameters but not the other.</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.lang.String</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Expression</b>: <tt>${testSuite}</tt></li>
-        </ul><hr /><p><b><a name="useUIHarness">useUIHarness</a>:</b></p>
-        <div>Run tests using UI (true) or headless (false) test harness.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>false</tt></li>
-        </ul><hr /><p><b><a name="useUIThread">useUIThread</a>:</b></p>
-        <div>Run tests in UI (true) or background (false) thread. Only applies
-to UI test harness.</div>
-        <ul>
-          <li><b>Type</b>: <tt>boolean</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>true</tt></li>
-        </ul><hr /><p><b><a name="work">work</a>:</b></p>
-        <div>(no description)</div>
-        <ul>
-          <li><b>Type</b>: <tt>java.io.File</tt></li>
-          <li><b>Required</b>: <tt>No</tt></li>
-          <li><b>Default</b>: <tt>${project.build.directory}/work</tt></li>
-        </ul>
-      </div>
-    </div>
-  
-
-      </div>
-    </div>
-    <div class="clear">
-      <hr/>
-    </div>
-    <div id="footer">
-      <div class="xright">
-              Copyright &#169;                    2008-2012
-                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
-            All Rights Reserved.      
-        
-                  </div>
-      <div class="clear">
-        <hr/>
-      </div>
-    </div>
-  </body>
-</html>
+    tycho-surefire:test</title>
+    <style type="text/css" media="all">
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+    </style>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20121015" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+        </head>
+  <body class="composite">
+    <div id="banner">
+                    <div id="bannerLeft">
+                Tycho Surefire Plugin (Incubation)
+                </div>
+                    <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+        
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2012-10-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
+                      </div>
+            <div class="xright">                    <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">This content is PRELIMINARY API and still subject to change</a>
+              
+        
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+        
+                                <h5>Tycho</h5>
+                  <ul>
+                  <li class="none">
+                          <a href="../../index.html" title="Introduction">Introduction</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
+            </li>
+                  <li class="none">
+                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
+            </li>
+          </ul>
+                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
+      </a>
+                   
+        
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        
+  
+    <div class="section"><h2>tycho-surefire:test<a name="tycho-surefire:test"></a></h2>
+      <p><b>Full name</b>:</p>
+      <p>org.eclipse.tycho:tycho-surefire-plugin:0.16.0:test</p>
+      <p><b>Description</b>:</p>
+      <div>(no description)</div>
+      <p><b>Attributes</b>:</p>
+      <ul>
+        <li>Requires a Maven project to be executed.</li>
+        <li>Requires dependency resolution of artifacts in scope: <tt>runtime</tt>.</li>
+        <li>Binds by default to the lifecycle phase: <tt>integration-test</tt>.</li>
+      </ul>
+      <div class="section"><h3>Required Parameters<a name="Required_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#testClassesDirectory">testClassesDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>The directory containing generated test classes of the project
+being tested.<br /></td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
+        <table class="bodyTable" border="0">
+          <tr class="a">
+            <th>Name</th>
+            <th>Type</th>
+            <th>Since</th>
+            <th>Description</th>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#appArgLine">appArgLine</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Arbitrary applications arguments to set on the command line.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#application">application</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Eclipse application to be run. If not specified, default
+application org.eclipse.ui.ide.workbench will be used. Application
+runnable will be invoked from test harness, not directly from
+Eclipse.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#argLine">argLine</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Arbitrary JVM options to set on the command line.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#bundleStartLevel">bundleStartLevel</a></b></td>
+            <td><tt>BundleStartLevel[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>Bundle start level and auto start configuration used by the test
+runtime.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#debugPort">debugPort</a></b></td>
+            <td><tt>int</tt></td>
+            <td><tt>-</tt></td>
+            <td>Set this parameter to suspend the test JVM waiting for a client to
+open a remote debug session on the specified port.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#dependencies">dependencies</a></b></td>
+            <td><tt>Dependency[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>Additional test target platform dependencies.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#environmentVariables">environmentVariables</a></b></td>
+            <td><tt>Map</tt></td>
+            <td><tt>-</tt></td>
+            <td>Additional environments to set for the forked test JVM.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#excludes">excludes</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>List of patterns (separated by commas) used to specify the tests
+that should be excluded in testing. When not specified and whent
+the <tt>test</tt> parameter is not specified, the default
+excludes will be <tt>**/Abstract*Test.java
+**/Abstract*TestCase.java **/*$*</tt><br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#explodedBundles">explodedBundles</a></b></td>
+            <td><tt>String[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>List of bundles that must be expanded in order to execute the tests<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#failIfNoTests">failIfNoTests</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>If set to &quot;false&quot; the test execution will not fail in case there
+are no tests found.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#forkedProcessTimeoutInSeconds">forkedProcessTimeoutInSeconds</a></b></td>
+            <td><tt>int</tt></td>
+            <td><tt>-</tt></td>
+            <td>Kill the forked test process after a certain number of seconds. If
+set to 0, wait forever for the process, never timing out.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#frameworkExtensions">frameworkExtensions</a></b></td>
+            <td><tt>Dependency[]</tt></td>
+            <td><tt>-</tt></td>
+            <td>List of framework extension bundles to add.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#includes">includes</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>List of patterns (separated by commas) used to specify the tests
+that should be included in testing. When not specified and whent
+the <tt>test</tt> parameter is not specified, the default
+includes will be <tt>**/Test*.java **/*Test.java
+**/*TestCase.java</tt><br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#parallel">parallel</a></b></td>
+            <td><tt>ParallelMode</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>(JUnit 4.7 provider) Supports values &quot;classes&quot;/&quot;methods&quot;/&quot;both&quot; to
+run in separate threads, as controlled by threadCount.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#perCoreThreadCount">perCoreThreadCount</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>(JUnit 4.7 provider) Indicates that threadCount is per cpu core.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#pluginArtifacts">pluginArtifacts</a></b></td>
+            <td><tt>List</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#product">product</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Eclipse product to be run, i.e. -product parameter passed to test
+Eclipse runtime.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#providerHint">providerHint</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>Normally tycho will automatically determine the test framework
+provider based on the test project's classpath. Use this to force
+using a test framework provider implementation with the given role
+hint. Tycho comes with providers &quot;junit3&quot;,&quot;junit4&quot;,&quot;junit47&quot;. Note
+that when specifying a providerHint, you have to make sure the
+provider is actually available in the dependencies of
+tycho-surefire-plugin.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#providerProperties">providerProperties</a></b></td>
+            <td><tt>Properties</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>Use this to specify surefire provider-specific properties.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#redirectTestOutputToFile">redirectTestOutputToFile</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Set this to &quot;true&quot; to redirect the unit test standard output to a
+file (found in reportsDirectory/testName-output.txt).<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#reportsDirectory">reportsDirectory</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>Base directory where all reports are written to.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#showEclipseLog">showEclipseLog</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Enables -debug -consolelog for the test OSGi runtime<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#skip">skip</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#skipExec">skipExec</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td><b>Deprecated.</b> Use skipTests instead.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#skipTests">skipTests</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#surefireProperties">surefireProperties</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#systemProperties">systemProperties</a></b></td>
+            <td><tt>Map</tt></td>
+            <td><tt>-</tt></td>
+            <td>Additional system properties to set for the forked test JVM.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#test">test</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Specify this parameter if you want to use the test pattern matching
+notation, Ant pattern matching, to select tests to run. The Ant
+pattern will be used to create an include pattern formatted like
+<tt>**/${test}.java</tt> When used, the <tt>includes</tt>
+and <tt>excludes</tt> patterns parameters are ignored<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#testClass">testClass</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>See testSuite<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#testFailureIgnore">testFailureIgnore</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Set this to true to ignore a failure during testing. Its use is NOT
+RECOMMENDED, but quite convenient on occasion.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#testSuite">testSuite</a></b></td>
+            <td><tt>String</tt></td>
+            <td><tt>-</tt></td>
+            <td>Bundle-SymbolicName of the test suite, a special bundle that knows
+how to locate and execute all relevant tests. testSuite and
+testClass identify single test class to run. All other tests will
+be ignored if both testSuite and testClass are provided. It is an
+error if provide one of the two parameters but not the other.<br /></td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#threadCount">threadCount</a></b></td>
+            <td><tt>int</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>(JUnit 4.7 provider) The attribute thread-count allows you to
+specify how many threads should be allocated for this execution.
+Only makes sense to use in conjunction with the parallel parameter.<br /></td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useUIHarness">useUIHarness</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Run tests using UI (true) or headless (false) test harness.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#useUIThread">useUIThread</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>-</tt></td>
+            <td>Run tests in UI (true) or background (false) thread. Only applies
+to UI test harness.<br /><b>Default value is</b>: <tt>true</tt>.</td>
+          </tr>
+          <tr class="b">
+            <td><b><a href="#useUnlimitedThreads">useUnlimitedThreads</a></b></td>
+            <td><tt>boolean</tt></td>
+            <td><tt>0.16.0</tt></td>
+            <td>(JUnit 4.7 provider) Indicates that the thread pool will be
+unlimited. The parallel parameter and the actual number of
+classes/methods will decide. Setting this to &quot;true&quot; effectively
+disables perCoreThreadCount and threadCount.<br /><b>Default value is</b>: <tt>false</tt>.</td>
+          </tr>
+          <tr class="a">
+            <td><b><a href="#work">work</a></b></td>
+            <td><tt>File</tt></td>
+            <td><tt>-</tt></td>
+            <td>(no description)<br /><b>Default value is</b>: <tt>${project.build.directory}/work</tt>.</td>
+          </tr>
+        </table>
+      </div>
+      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
+        <p><b><a name="appArgLine">appArgLine</a>:</b></p>
+        <div>Arbitrary applications arguments to set on the command line.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="application">application</a>:</b></p>
+        <div>Eclipse application to be run. If not specified, default
+application org.eclipse.ui.ide.workbench will be used. Application
+runnable will be invoked from test harness, not directly from
+Eclipse.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="argLine">argLine</a>:</b></p>
+        <div>Arbitrary JVM options to set on the command line.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${tycho.testArgLine}</tt></li>
+        </ul><hr /><p><b><a name="bundleStartLevel">bundleStartLevel</a>:</b></p>
+        <div>Bundle start level and auto start configuration used by the test
+runtime.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.sisu.equinox.launching.BundleStartLevel[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="debugPort">debugPort</a>:</b></p>
+        <div>Set this parameter to suspend the test JVM waiting for a client to
+open a remote debug session on the specified port.</div>
+        <ul>
+          <li><b>Type</b>: <tt>int</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${debugPort}</tt></li>
+        </ul><hr /><p><b><a name="dependencies">dependencies</a>:</b></p>
+        <div>Additional test target platform dependencies.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.model.Dependency[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="environmentVariables">environmentVariables</a>:</b></p>
+        <div>Additional environments to set for the forked test JVM.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Map</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="excludes">excludes</a>:</b></p>
+        <div>List of patterns (separated by commas) used to specify the tests
+that should be excluded in testing. When not specified and whent
+the <tt>test</tt> parameter is not specified, the default
+excludes will be <tt>**/Abstract*Test.java
+**/Abstract*TestCase.java **/*$*</tt></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="explodedBundles">explodedBundles</a>:</b></p>
+        <div>List of bundles that must be expanded in order to execute the tests</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="failIfNoTests">failIfNoTests</a>:</b></p>
+        <div>If set to &quot;false&quot; the test execution will not fail in case there
+are no tests found.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${failIfNoTests}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="forkedProcessTimeoutInSeconds">forkedProcessTimeoutInSeconds</a>:</b></p>
+        <div>Kill the forked test process after a certain number of seconds. If
+set to 0, wait forever for the process, never timing out.</div>
+        <ul>
+          <li><b>Type</b>: <tt>int</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${surefire.timeout}</tt></li>
+        </ul><hr /><p><b><a name="frameworkExtensions">frameworkExtensions</a>:</b></p>
+        <div>List of framework extension bundles to add.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.apache.maven.model.Dependency[]</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="includes">includes</a>:</b></p>
+        <div>List of patterns (separated by commas) used to specify the tests
+that should be included in testing. When not specified and whent
+the <tt>test</tt> parameter is not specified, the default
+includes will be <tt>**/Test*.java **/*Test.java
+**/*TestCase.java</tt></div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="parallel">parallel</a>:</b></p>
+        <div>(JUnit 4.7 provider) Supports values &quot;classes&quot;/&quot;methods&quot;/&quot;both&quot; to
+run in separate threads, as controlled by threadCount.</div>
+        <ul>
+          <li><b>Type</b>: <tt>org.eclipse.tycho.surefire.ParallelMode</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${parallel}</tt></li>
+        </ul><hr /><p><b><a name="perCoreThreadCount">perCoreThreadCount</a>:</b></p>
+        <div>(JUnit 4.7 provider) Indicates that threadCount is per cpu core.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${perCoreThreadCount}</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="pluginArtifacts">pluginArtifacts</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.List</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${plugin.artifacts}</tt></li>
+        </ul><hr /><p><b><a name="product">product</a>:</b></p>
+        <div>Eclipse product to be run, i.e. -product parameter passed to test
+Eclipse runtime.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="providerHint">providerHint</a>:</b></p>
+        <div>Normally tycho will automatically determine the test framework
+provider based on the test project's classpath. Use this to force
+using a test framework provider implementation with the given role
+hint. Tycho comes with providers &quot;junit3&quot;,&quot;junit4&quot;,&quot;junit47&quot;. Note
+that when specifying a providerHint, you have to make sure the
+provider is actually available in the dependencies of
+tycho-surefire-plugin.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="providerProperties">providerProperties</a>:</b></p>
+        <div>Use this to specify surefire provider-specific properties.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Properties</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="redirectTestOutputToFile">redirectTestOutputToFile</a>:</b></p>
+        <div>Set this to &quot;true&quot; to redirect the unit test standard output to a
+file (found in reportsDirectory/testName-output.txt).</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.test.redirectTestOutputToFile}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="reportsDirectory">reportsDirectory</a>:</b></p>
+        <div>Base directory where all reports are written to.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/surefire-reports</tt></li>
+        </ul><hr /><p><b><a name="showEclipseLog">showEclipseLog</a>:</b></p>
+        <div>Enables -debug -consolelog for the test OSGi runtime</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${tycho.showEclipseLog}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="skip">skip</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.test.skip}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="skipExec">skipExec</a>:</b></p>
+        <div><b>Deprecated.</b> Use skipTests instead.</div>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.test.skipExec}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="skipTests">skipTests</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${skipTests}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="surefireProperties">surefireProperties</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.directory}/surefire.properties</tt></li>
+        </ul><hr /><p><b><a name="systemProperties">systemProperties</a>:</b></p>
+        <div>Additional system properties to set for the forked test JVM.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.util.Map</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+        </ul><hr /><p><b><a name="test">test</a>:</b></p>
+        <div>Specify this parameter if you want to use the test pattern matching
+notation, Ant pattern matching, to select tests to run. The Ant
+pattern will be used to create an include pattern formatted like
+<tt>**/${test}.java</tt> When used, the <tt>includes</tt>
+and <tt>excludes</tt> patterns parameters are ignored</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${test}</tt></li>
+        </ul><hr /><p><b><a name="testClass">testClass</a>:</b></p>
+        <div>See testSuite</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${testClass}</tt></li>
+        </ul><hr /><p><b><a name="testClassesDirectory">testClassesDirectory</a>:</b></p>
+        <div>The directory containing generated test classes of the project
+being tested.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>Yes</tt></li>
+          <li><b>Expression</b>: <tt>${project.build.outputDirectory}</tt></li>
+        </ul><hr /><p><b><a name="testFailureIgnore">testFailureIgnore</a>:</b></p>
+        <div>Set this to true to ignore a failure during testing. Its use is NOT
+RECOMMENDED, but quite convenient on occasion.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${maven.test.failure.ignore}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="testSuite">testSuite</a>:</b></p>
+        <div>Bundle-SymbolicName of the test suite, a special bundle that knows
+how to locate and execute all relevant tests. testSuite and
+testClass identify single test class to run. All other tests will
+be ignored if both testSuite and testClass are provided. It is an
+error if provide one of the two parameters but not the other.</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.lang.String</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${testSuite}</tt></li>
+        </ul><hr /><p><b><a name="threadCount">threadCount</a>:</b></p>
+        <div>(JUnit 4.7 provider) The attribute thread-count allows you to
+specify how many threads should be allocated for this execution.
+Only makes sense to use in conjunction with the parallel parameter.</div>
+        <ul>
+          <li><b>Type</b>: <tt>int</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${threadCount}</tt></li>
+        </ul><hr /><p><b><a name="useUIHarness">useUIHarness</a>:</b></p>
+        <div>Run tests using UI (true) or headless (false) test harness.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="useUIThread">useUIThread</a>:</b></p>
+        <div>Run tests in UI (true) or background (false) thread. Only applies
+to UI test harness.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>true</tt></li>
+        </ul><hr /><p><b><a name="useUnlimitedThreads">useUnlimitedThreads</a>:</b></p>
+        <div>(JUnit 4.7 provider) Indicates that the thread pool will be
+unlimited. The parallel parameter and the actual number of
+classes/methods will decide. Setting this to &quot;true&quot; effectively
+disables perCoreThreadCount and threadCount.</div>
+        <ul>
+          <li><b>Type</b>: <tt>boolean</tt></li>
+          <li><b>Since</b>: <tt>0.16.0</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Expression</b>: <tt>${useUnlimitedThreads}</tt></li>
+          <li><b>Default</b>: <tt>false</tt></li>
+        </ul><hr /><p><b><a name="work">work</a>:</b></p>
+        <div>(no description)</div>
+        <ul>
+          <li><b>Type</b>: <tt>java.io.File</tt></li>
+          <li><b>Required</b>: <tt>No</tt></li>
+          <li><b>Default</b>: <tt>${project.build.directory}/work</tt></li>
+        </ul>
+      </div>
+    </div>
+  
+
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">
+              Copyright &#169;                    2008-2012
+                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
+            All Rights Reserved.      
+        
+                  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>
