diff --git a/bundleplugin/pom.xml b/bundleplugin/pom.xml
index 6eaff06..cae4835 100644
--- a/bundleplugin/pom.xml
+++ b/bundleplugin/pom.xml
@@ -17,7 +17,7 @@
  under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- 
+
  <parent>
    <artifactId>felix-parent</artifactId>
    <groupId>org.apache.felix</groupId>
@@ -30,7 +30,7 @@
  <artifactId>maven-bundle-plugin</artifactId>
  <version>2.3.5-SNAPSHOT</version>
  <packaging>maven-plugin</packaging>
- 
+
  <name>Maven Bundle Plugin</name>
  <description>
   Provides a maven plugin that supports creating an OSGi bundle
@@ -51,7 +51,7 @@
    </plugin>
   </plugins>
  </build>
- 
+
  <dependencies>
   <dependency>
     <groupId>biz.aQute</groupId>
@@ -96,14 +96,28 @@
   </dependency>
  </dependencies>
 
- <reporting> 
-  <plugins> 
-   <plugin> 
-    <groupId>org.apache.maven.plugins</groupId> 
-    <artifactId>maven-plugin-plugin</artifactId> 
-    <version>2.8</version> 
-   </plugin> 
-  </plugins> 
+ <reporting>
+  <plugins>
+   <plugin>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-plugin-plugin</artifactId>
+    <version>2.8</version>
+   </plugin>
+   <plugin>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-changes-plugin</artifactId>
+    <version>2.4</version>
+    <configuration>
+     <component>12311143</component>
+     <versionPrefix>maven-bundle-plugin-</versionPrefix>
+     <statusIds>Resolved,Closed</statusIds>
+     <maxEntries>1000</maxEntries>
+     <issueManagementSystems>
+      <issueManagementSystem>JIRA</issueManagementSystem>
+     </issueManagementSystems>
+    </configuration>
+   </plugin>
+  </plugins>
  </reporting>
 
 </project>
diff --git a/bundleplugin/src/site/apt/index.apt b/bundleplugin/src/site/apt/index.apt
new file mode 100644
index 0000000..05f8941
--- /dev/null
+++ b/bundleplugin/src/site/apt/index.apt
@@ -0,0 +1,65 @@
+ ------
+ Introduction
+ ------
+ Stuart McCulloch
+ ------
+ 2011-06-28
+ ------
+
+ ~~ Licensed to the Apache Software Foundation (ASF) under one
+ ~~ or more contributor license agreements.  See the NOTICE file
+ ~~ distributed with this work for additional information
+ ~~ regarding copyright ownership.  The ASF licenses this file
+ ~~ to you under the Apache License, Version 2.0 (the
+ ~~ "License"); you may not use this file except in compliance
+ ~~ with the License.  You may obtain a copy of the License at
+ ~~
+ ~~   http://www.apache.org/licenses/LICENSE-2.0
+ ~~
+ ~~ Unless required by applicable law or agreed to in writing,
+ ~~ software distributed under the License is distributed on an
+ ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~~ KIND, either express or implied.  See the License for the
+ ~~ specific language governing permissions and limitations
+ ~~ under the License.
+
+ ~~ NOTE: For help with the syntax of this file, see:
+ ~~ http://maven.apache.org/doxia/references/apt-format.html
+
+Maven Bundle Plugin
+
+  Plugin introduction, description, and other relevant information.
+
+* Goals Overview
+
+  General Information about the goals.
+
+  * {{{goal.html}prefix:goal}} short description for this plugin goal.
+
+* Usage
+
+  General instructions on how to use the Maven Bundle Plugin can be found on the {{{usage.html}usage page}}. Some more
+  specific use cases are described in the examples given below. Last but not least, users occasionally contribute
+  additional examples, tips or errata to the
+  {{{https://cwiki.apache.org/confluence/x/aX}plugin's wiki page}}.
+
+  In case you still have questions regarding the plugin's usage, please have a look at the {{{faq.html}FAQ}} and feel
+  free to contact the {{{mail-lists.html}user mailing list}}. The posts to the mailing list are archived and could
+  already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching
+  the {{{mail-lists.html}mail archive}}.
+
+  If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our
+  {{{issue-tracking.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
+  concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason,
+  entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated.
+  Of course, patches are welcome, too. Contributors can check out the project from our
+  {{{source-repository.html}source repository}} and will find supplementary information in the
+  {{{http://felix.apache.org/site/development.html}Apache Felix developers guide}}. 
+
+* Examples
+
+  To provide you with better understanding on some usages of the Maven Bundle Plugin,
+  you can take a look into the following examples:
+
+  * {{{examples/short-description.html}Example Description}}
+
diff --git a/bundleplugin/src/site/fml/faq.fml b/bundleplugin/src/site/fml/faq.fml
new file mode 100644
index 0000000..972d1e0
--- /dev/null
+++ b/bundleplugin/src/site/fml/faq.fml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<faqs id="FAQ" title="Frequently Asked Questions">
+  <part id="General">
+    <faq id="question">
+      <question>Question?</question>
+      <answer>
+        <p>
+          Answer
+        </p>
+      </answer>
+    </faq>
+  </part>
+</faqs>
diff --git a/bundleplugin/src/site/site.xml b/bundleplugin/src/site/site.xml
new file mode 100644
index 0000000..eee25ec
--- /dev/null
+++ b/bundleplugin/src/site/site.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <body>
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+      <item name="Goals" href="plugin-info.html"/>
+      <item name="Usage" href="usage.html"/>
+      <item name="FAQ" href="faq.html"/>
+      <item name="Release Notes" href="jira-report.html"/>
+    </menu>
+
+    <menu name="Examples">
+      <item name="TODO" href="examples/todo.html"/>
+    </menu>
+
+    <menu ref="reports"/>
+  </body>
+</project>
