Merge branch 'feature/SLING-8204-rename-sling-maven-plugin'
diff --git a/.gitignore b/.gitignore
index 5b783ed..7fa4d65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-/target
+target
 .idea
 .classpath
 .metadata
diff --git a/README.md b/README.md
index b64e6df..560be52 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 [<img src="http://sling.apache.org/res/logos/sling.png"/>](http://sling.apache.org)
 
- [![Build Status](https://builds.apache.org/buildStatus/icon?job=sling-maven-sling-plugin-1.8)](https://builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8) [![Test Status](https://img.shields.io/jenkins/t/https/builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8.svg)](https://builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8/test_results_analyzer/) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.sling/maven-sling-plugin/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.sling%22%20a%3A%22maven-sling-plugin%22) [![JavaDocs](https://www.javadoc.io/badge/org.apache.sling/maven-sling-plugin.svg)](https://www.javadoc.io/doc/org.apache.sling/maven-sling-plugin) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
+ [![Build Status](https://builds.apache.org/buildStatus/icon?job=sling-maven-sling-plugin-1.8)](https://builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8) [![Test Status](https://img.shields.io/jenkins/t/https/builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8.svg)](https://builds.apache.org/view/S-Z/view/Sling/job/sling-maven-sling-plugin-1.8/test_results_analyzer/) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.sling/sling-maven-plugin/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.sling%22%20a%3A%22sling-maven-plugin%22) [![JavaDocs](https://www.javadoc.io/badge/org.apache.sling/sling-maven-plugin.svg)](https://www.javadoc.io/doc/org.apache.sling/sling-maven-plugin) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
 
-# Apache Sling Maven Sling Plugin
+# Apache Sling Maven Plugin
 
 This module is part of the [Apache Sling](https://sling.apache.org) project.
 
diff --git a/pom.xml b/pom.xml
index 8bf0180..fcd4267 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,29 +17,21 @@
   specific language governing permissions and limitations
   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">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>30</version>
+        <version>34</version>
         <relativePath />
     </parent>
 
-    <artifactId>maven-sling-plugin</artifactId>
-    <version>2.3.9-SNAPSHOT</version>
-    <packaging>maven-plugin</packaging>
+    <artifactId>sling-maven-plugin.reactor</artifactId>
+    <version>2.4.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
 
-    <name>Apache Sling Maven Sling Plugin</name>
-    <description>
-        Apache Sling Maven Plugin for Supporting Bundle Development
-    </description>
-    <url>https://sling.apache.org/components/maven-sling-plugin/</url>
-
-    <prerequisites>
-       <maven>3.0.4</maven>  <!-- still support older maven version than required in parent pom -->
-    </prerequisites>
+    <name>Apache Sling Maven Plugin Reactor</name>
 
     <scm>
         <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-maven-sling-plugin.git</connection>
@@ -48,256 +40,24 @@
         <tag>HEAD</tag>
     </scm>
 
-    <properties>
-        <maven.site.path>${project.artifactId}-archives/${project.artifactId}-LATEST</maven.site.path>
-    </properties>
+    <modules>
+        <module>sling-maven-plugin</module>
+        <module>relocate</module>
+    </modules>
 
     <build>
         <plugins>
+
+            <!-- do not deploy this reactor pom into maven repository -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-                 <executions>
-                    <execution>
-                        <id>default-descriptor</id>
-                        <phase>process-classes</phase>
-                    </execution>
-                    <execution>
-                        <id>help-goal</id>
-                        <goals>
-                            <goal>helpmojo</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-scm-publish-plugin</artifactId>
+                <artifactId>maven-deploy-plugin</artifactId>
                 <configuration>
-                    <checkoutDirectory>${user.home}/maven-sites/${maven.site.path}</checkoutDirectory>
-                    <tryUpdate>true</tryUpdate>
+                    <skip>true</skip>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>src/site/markdown/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
+
         </plugins>
     </build>
 
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-plugin-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <configuration>
-                  <!-- No javadocs -->
-                    <excludePackageNames>
-                        org.apache.sling
-                    </excludePackageNames>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.6</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>3.1</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.0.4</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.5</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.jcr.contentparser</artifactId>
-            <version>1.2.4</version>
-            <scope>compile</scope>
-            <exclusions>
-              <exclusion>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-json_1.0_spec</artifactId>
-              </exclusion>
-            </exclusions>
-        </dependency>
-        <!-- Stick with json 1.0 specs until the plugin can be updated to Java 8 - json_1.1 spec requires Java 8 (SLING-7644) -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-json_1.0_spec</artifactId>
-            <version>1.0-alpha-1</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.johnzon</groupId>
-            <artifactId>johnzon-core</artifactId>
-            <version>1.0.0</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit.vault</groupId>
-            <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.18</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.jcr</groupId>
-            <artifactId>jcr</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.osgi</artifactId>
-            <version>2.4.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>3.0.4</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>3.0.4</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-compat</artifactId>
-            <version>3.0.4</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-archiver</artifactId>
-            <version>2.6</version>
-        </dependency>
-        <dependency>
-            <groupId>net.sf.scannotation</groupId>
-            <artifactId>scannotation</artifactId>
-            <version>1.0.2</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>javassist</groupId>
-                    <artifactId>javassist</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.javassist</groupId>
-            <artifactId>javassist</artifactId>
-            <version>3.18.2-GA</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>adapter-annotations</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm-all</artifactId>
-            <version>3.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <version>3.4</version>
-            <scope>provided</scope>
-        </dependency>        
-        <dependency>
-            <groupId>org.sonatype.plexus</groupId>
-            <artifactId>plexus-build-api</artifactId>
-            <version>0.0.7</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>15.0</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    
-    <profiles>
-        <!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
-        <profile>
-            <id>only-eclipse</id>
-            <activation>
-                <property>
-                    <name>m2e.version</name>
-                </property>
-            </activation>
-            <build>
-                <pluginManagement>
-                    <plugins>
-                      <plugin>
-                        <groupId>org.eclipse.m2e</groupId>
-                        <artifactId>lifecycle-mapping</artifactId>
-                        <version>1.0.0</version>
-                        <configuration>
-                          <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                              <pluginExecution>
-                                <pluginExecutionFilter>
-                                  <groupId>
-                                    org.apache.maven.plugins
-                                  </groupId>
-                                  <artifactId>
-                                    maven-plugin-plugin
-                                  </artifactId>
-                                  <versionRange>
-                                    [3.4,)
-                                  </versionRange>
-                                  <goals>
-                                    <goal>descriptor</goal>
-                                    <goal>helpmojo</goal>
-                                  </goals>
-                                </pluginExecutionFilter>
-                                <action>
-                                  <ignore />
-                                </action>
-                              </pluginExecution>
-                            </pluginExecutions>
-                          </lifecycleMappingMetadata>
-                        </configuration>
-                      </plugin>
-                    </plugins>
-                </pluginManagement>
-            </build>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/relocate/pom.xml b/relocate/pom.xml
new file mode 100644
index 0000000..9be0948
--- /dev/null
+++ b/relocate/pom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>34</version>
+        <relativePath />
+    </parent>
+
+    <artifactId>maven-sling-plugin</artifactId>
+    <version>2.4.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>Apache Sling Maven Plugin Relocation</name>
+    <description>Please use plugin name 'sling-maven-plugin' instead.</description>
+
+    <distributionManagement>
+        <relocation>
+            <artifactId>sling-maven-plugin</artifactId>
+        </relocation>
+    </distributionManagement>
+
+</project>
diff --git a/sling-maven-plugin/pom.xml b/sling-maven-plugin/pom.xml
new file mode 100644
index 0000000..bb2b748
--- /dev/null
+++ b/sling-maven-plugin/pom.xml
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  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 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">
+
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>34</version>
+        <relativePath />
+    </parent>
+
+    <artifactId>sling-maven-plugin</artifactId>
+    <version>2.4.0-SNAPSHOT</version>
+    <packaging>maven-plugin</packaging>
+
+    <name>Apache Sling Maven Plugin</name>
+    <description>
+        Apache Sling Maven Plugin for Supporting Bundle Development
+    </description>
+    <url>https://sling.apache.org/components/sling-maven-plugin/</url>
+
+    <prerequisites>
+       <maven>3.0.4</maven>  <!-- still support older maven version than required in parent pom -->
+    </prerequisites>
+
+    <properties>
+        <maven.site.path>${project.artifactId}-archives/${project.artifactId}-LATEST</maven.site.path>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                 <executions>
+                    <execution>
+                        <id>default-descriptor</id>
+                        <phase>process-classes</phase>
+                    </execution>
+                    <execution>
+                        <id>help-goal</id>
+                        <goals>
+                            <goal>helpmojo</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-scm-publish-plugin</artifactId>
+                <configuration>
+                    <checkoutDirectory>${user.home}/maven-sites/${maven.site.path}</checkoutDirectory>
+                    <tryUpdate>true</tryUpdate>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>src/site/markdown/**</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                  <!-- No javadocs -->
+                    <excludePackageNames>
+                        org.apache.sling
+                    </excludePackageNames>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.6</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+            <version>1.0.4</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.5</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.contentparser</artifactId>
+            <version>1.2.4</version>
+            <scope>compile</scope>
+            <exclusions>
+              <exclusion>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-json_1.0_spec</artifactId>
+              </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- Stick with json 1.0 specs until the plugin can be updated to Java 8 - json_1.1 spec requires Java 8 (SLING-7644) -->
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-json_1.0_spec</artifactId>
+            <version>1.0-alpha-1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.johnzon</groupId>
+            <artifactId>johnzon-core</artifactId>
+            <version>1.0.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit.vault</groupId>
+            <artifactId>org.apache.jackrabbit.vault</artifactId>
+            <version>3.1.18</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.osgi</artifactId>
+            <version>2.4.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-plugin-api</artifactId>
+            <version>3.0.4</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-artifact</artifactId>
+            <version>3.0.4</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-compat</artifactId>
+            <version>3.0.4</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-archiver</artifactId>
+            <version>2.6</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.scannotation</groupId>
+            <artifactId>scannotation</artifactId>
+            <version>1.0.2</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javassist</groupId>
+                    <artifactId>javassist</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.javassist</groupId>
+            <artifactId>javassist</artifactId>
+            <version>3.18.2-GA</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>adapter-annotations</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>asm</groupId>
+            <artifactId>asm-all</artifactId>
+            <version>3.3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
+            <version>3.4</version>
+            <scope>provided</scope>
+        </dependency>        
+        <dependency>
+            <groupId>org.sonatype.plexus</groupId>
+            <artifactId>plexus-build-api</artifactId>
+            <version>0.0.7</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+            <version>15.0</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
+    <profiles>
+        <!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
+        <profile>
+            <id>only-eclipse</id>
+            <activation>
+                <property>
+                    <name>m2e.version</name>
+                </property>
+            </activation>
+            <build>
+                <pluginManagement>
+                    <plugins>
+                      <plugin>
+                        <groupId>org.eclipse.m2e</groupId>
+                        <artifactId>lifecycle-mapping</artifactId>
+                        <version>1.0.0</version>
+                        <configuration>
+                          <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                              <pluginExecution>
+                                <pluginExecutionFilter>
+                                  <groupId>
+                                    org.apache.maven.plugins
+                                  </groupId>
+                                  <artifactId>
+                                    maven-plugin-plugin
+                                  </artifactId>
+                                  <versionRange>
+                                    [3.4,)
+                                  </versionRange>
+                                  <goals>
+                                    <goal>descriptor</goal>
+                                    <goal>helpmojo</goal>
+                                  </goals>
+                                </pluginExecutionFilter>
+                                <action>
+                                  <ignore />
+                                </action>
+                              </pluginExecution>
+                            </pluginExecutions>
+                          </lifecycleMappingMetadata>
+                        </configuration>
+                      </plugin>
+                    </plugins>
+                </pluginManagement>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleDeployMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleDeployMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleDeployMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleDeployMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundleInstallMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundlePostMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundlePostMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundlePostMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractBundlePostMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/AbstractFsMountMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractFsMountMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/AbstractFsMountMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/AbstractFsMountMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployFileMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployFileMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployFileMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployFileMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleDeployMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallFileMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleInstallMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundlePrerequisite.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundlePrerequisite.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundlePrerequisite.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundlePrerequisite.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/BundleUninstallMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleUninstallMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/BundleUninstallMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/BundleUninstallMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/FsMountMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/FsMountMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/FsMountMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/FsMountMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/FsUnMountMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/FsUnMountMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/FsUnMountMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/FsUnMountMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/GenerateAdapterMetadataMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/JsonSupport.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/ValidationMojo.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/BundleDeploymentMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/BundleDeploymentMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/BundleDeploymentMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/BundleDeploymentMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployContext.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployContext.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployContext.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployContext.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/DeployMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/FelixPostDeployMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/FelixPostDeployMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/FelixPostDeployMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/FelixPostDeployMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractor.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractor.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractor.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractor.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/MkColMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/MkColMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/MkColMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/MkColMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/SlingPostDeployMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/SlingPostDeployMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/SlingPostDeployMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/SlingPostDeployMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/WebDavPutDeployMethod.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/WebDavPutDeployMethod.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/WebDavPutDeployMethod.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/deploy/method/WebDavPutDeployMethod.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FileVaultXmlMounter.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FileVaultXmlMounter.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FileVaultXmlMounter.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FileVaultXmlMounter.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMode.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMode.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMode.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMode.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMountHelper.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMountHelper.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMountHelper.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsMountHelper.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsResourceConfiguration.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsResourceConfiguration.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsResourceConfiguration.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/FsResourceConfiguration.java
diff --git a/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/SlingInitialContentMounter.java b/sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/SlingInitialContentMounter.java
similarity index 100%
rename from src/main/java/org/apache/sling/maven/bundlesupport/fsresource/SlingInitialContentMounter.java
rename to sling-maven-plugin/src/main/java/org/apache/sling/maven/bundlesupport/fsresource/SlingInitialContentMounter.java
diff --git a/src/main/resources/META-INF/LICENSE b/sling-maven-plugin/src/main/resources/META-INF/LICENSE
similarity index 100%
rename from src/main/resources/META-INF/LICENSE
rename to sling-maven-plugin/src/main/resources/META-INF/LICENSE
diff --git a/src/main/resources/META-INF/NOTICE b/sling-maven-plugin/src/main/resources/META-INF/NOTICE
similarity index 100%
rename from src/main/resources/META-INF/NOTICE
rename to sling-maven-plugin/src/main/resources/META-INF/NOTICE
diff --git a/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml b/sling-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
similarity index 100%
rename from src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
rename to sling-maven-plugin/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml
diff --git a/src/main/resources/META-INF/plexus/components.xml b/sling-maven-plugin/src/main/resources/META-INF/plexus/components.xml
similarity index 100%
rename from src/main/resources/META-INF/plexus/components.xml
rename to sling-maven-plugin/src/main/resources/META-INF/plexus/components.xml
diff --git a/src/site/markdown/index.md b/sling-maven-plugin/src/site/markdown/index.md
similarity index 69%
rename from src/site/markdown/index.md
rename to sling-maven-plugin/src/site/markdown/index.md
index 9a20f1c..8fba41b 100644
--- a/src/site/markdown/index.md
+++ b/sling-maven-plugin/src/site/markdown/index.md
@@ -1,6 +1,6 @@
-Maven Sling Plugin
+Sling Maven Plugin
 ==================
 
-The Maven Sling Plugin provides a number of goals which may be of help while developing bundles for Sling. To run the plugin you need at least Maven 3.x and JDK 1.7 or higher.
+The Sling Maven Plugin provides a number of goals which may be of help while developing bundles for Sling. To run the plugin you need at least Maven 3.x and JDK 1.7 or higher.
 
 See [Goals](plugin-info.html) for a list of supported goals.
diff --git a/src/site/site.xml b/sling-maven-plugin/src/site/site.xml
similarity index 100%
rename from src/site/site.xml
rename to sling-maven-plugin/src/site/site.xml
diff --git a/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java b/sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java
similarity index 100%
rename from src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java
rename to sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/JsonSupportTest.java
diff --git a/src/test/java/org/apache/sling/maven/bundlesupport/ValidationMojoTest.java b/sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/ValidationMojoTest.java
similarity index 100%
rename from src/test/java/org/apache/sling/maven/bundlesupport/ValidationMojoTest.java
rename to sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/ValidationMojoTest.java
diff --git a/src/test/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractorTest.java b/sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractorTest.java
similarity index 100%
rename from src/test/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractorTest.java
rename to sling-maven-plugin/src/test/java/org/apache/sling/maven/bundlesupport/deploy/method/IntermediateUrisExtractorTest.java