diff --git a/ipojo/manipulator/pom.xml b/ipojo/manipulator/pom.xml
index b459613..49a0c1f 100644
--- a/ipojo/manipulator/pom.xml
+++ b/ipojo/manipulator/pom.xml
@@ -16,134 +16,68 @@
   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">
-  <parent>
-    <groupId>org.apache.felix</groupId>
-    <artifactId>felix-parent</artifactId>
-    <version>1.2.1</version>
-    <relativePath>../../pom/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <packaging>bundle</packaging>
-  <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-  <version>1.9.0-SNAPSHOT</version>
-  <name>Apache Felix iPOJO Manipulator</name>
-
-  <description>
-  iPOJO bytecode manipulator. This manipulator is used to instrument java classes in order to be managed by iPOJO.
-  </description>
-
-  <dependencies>
-    <dependency>
-      <groupId>asm</groupId>
-      <artifactId>asm-all</artifactId>
-      <version>3.3.1</version>
-      <exclusions>
-        <exclusion>
-          <groupId>asm</groupId>
-          <artifactId>asm-tree</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-      <dependency>
+<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">
+    <parent>
         <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-        <version>1.5.0-SNAPSHOT</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-        <version>1.8.0</version>
-      </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-all</artifactId>
-      <version>1.8.5</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>1.4.3</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Name>iPOJO Manipulator</Bundle-Name>
-            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-            <Bundle-Vendor> The Apache Software Foundation </Bundle-Vendor>
-            <Bundle-Description> iPOJO Manipulator </Bundle-Description>
-            <Export-Package> org.apache.felix.ipojo.manipulator.*
-            </Export-Package>
-            <Private-Package> org.apache.felix.ipojo.manipulation,
-              org.apache.felix.ipojo.manipulation.annotations,
-              org.apache.felix.ipojo.xml.parser, org.objectweb.asm,
-              org.objectweb.asm.commons </Private-Package>
-            <Include-Resource>
-              META-INF/LICENSE=LICENSE,
-              META-INF/LICENSE.asm=LICENSE.asm,
-              META-INF/NOTICE=NOTICE,
-              META-INF/DEPENDENCIES=DEPENDENCIES,
-              {maven-resources}
-            </Include-Resource>
-            <Import-Package>!org.objectweb.asm.tree, *</Import-Package>
-          </instructions>
-          <obrRepository>NONE</obrRepository>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludeSubProjects>false</excludeSubProjects>
-          <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes>
-          <useMavenDefaultExcludes>true</useMavenDefaultExcludes>
-          <excludes>
-            <param>doc/*</param>
-            <param>maven-eclipse.xml</param>
-            <param>.checkstyle</param>
-            <param>.externalToolBuilders/*</param>
-            <param>LICENSE.asm</param>
-            <param>DEPENDENCIES</param>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <configuration>
-          <enableRulesSummary>false</enableRulesSummary>
-          <violationSeverity>warning</violationSeverity>
-          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-        </configuration>
-      </plugin>
+        <artifactId>felix-parent</artifactId>
+        <version>1.2.1</version>
+        <relativePath>../../pom/pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.apache.felix.ipojo.manipulator-project</artifactId>
+    <version>1.9.0-SNAPSHOT</version>
+    <name>Apache Felix iPOJO Manipulator Project</name>
+    <packaging>pom</packaging>
 
-  <plugin>
-    <groupId>org.apache.maven.plugins</groupId>
-    <artifactId>maven-compiler-plugin</artifactId>
-    <configuration>
-      <source>1.5</source>
-      <target>1.5</target>
-    </configuration>
-  </plugin>
+    <description>
+        The iPOJO Manipulator project contains the iPOJO packaging process and
+        several front-ends for Ant, Maven and BND.
+    </description>
 
-    </plugins>
+    <modules>
+        <module>manipulator</module>
+        <module>ipojo-ant-task</module>
+        <module>maven-ipojo-plugin</module>
+        <module>bnd-ipojo-plugin</module>
+    </modules>
 
-    <resources>
-    <resource>
-      <directory>src/main/resources</directory>
-    </resource>
-    <resource>
-      <directory>.</directory>
-      <targetPath>META-INF</targetPath>
-      <includes>
-        <include>LICENSE*</include>
-        <include>NOTICE*</include>
-        <include>DEPENDENCIES*</include>
-      </includes>
-    </resource>
-  </resources>
-  </build>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+            <resource>
+                <directory>.</directory>
+                <targetPath>META-INF</targetPath>
+                <includes>
+                    <include>LICENSE*</include>
+                    <include>NOTICE*</include>
+                    <include>DEPENDENCIES*</include>
+                </includes>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.2-beta-1</version>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <descriptorRefs>
+                                <descriptorRef>project</descriptorRef>
+                            </descriptorRefs>
+                            <attach>false</attach>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
