diff --git a/ipojo/composite/pom.xml b/ipojo/composite/pom.xml
index 84b495e..d8851a1 100644
--- a/ipojo/composite/pom.xml
+++ b/ipojo/composite/pom.xml
@@ -31,7 +31,7 @@
   <version>1.5.0-SNAPSHOT</version>
 
   <properties>
-    <ipojo.package.version>1.4.0</ipojo.package.version>
+    <ipojo.package.version>1.6.0</ipojo.package.version>
   </properties>
   
   <description>
diff --git a/ipojo/core/pom.xml b/ipojo/core/pom.xml
index b3d50cb..71c838b 100644
--- a/ipojo/core/pom.xml
+++ b/ipojo/core/pom.xml
@@ -31,7 +31,7 @@
   <version>1.5.0-SNAPSHOT</version>
 
   <properties>
-    <ipojo.package.version>1.4.0</ipojo.package.version>
+    <ipojo.package.version>1.6.0</ipojo.package.version>
   </properties>
   
   <description>
diff --git a/ipojo/examples/property-handler/PropertyHandler/pom.xml b/ipojo/examples/property-handler/PropertyHandler/pom.xml
index a2f5472..188f9cd 100644
--- a/ipojo/examples/property-handler/PropertyHandler/pom.xml
+++ b/ipojo/examples/property-handler/PropertyHandler/pom.xml
@@ -1,81 +1,81 @@
 <!--
-	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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>Apache Felix iPOJO Property Handler</name>
-	<artifactId>
-		org.apache.felix.ipojo.example.handler.property
-	</artifactId>
-	<groupId>ipojo.examples</groupId>
-	<version>1.3.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>1.4.3</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Private-Package>
-							org.apache.felix.ipojo.handler.properties,
-							example.handler.properties
-						</Private-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-						<configuration>
-							<ignoreAnnotations>true</ignoreAnnotations>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>Apache Felix iPOJO Property Handler</name>
+  <artifactId>
+    org.apache.felix.ipojo.example.handler.property
+  </artifactId>
+  <groupId>ipojo.examples</groupId>
+  <version>1.5.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.4.3</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Private-Package>
+              org.apache.felix.ipojo.handler.properties,
+              example.handler.properties
+            </Private-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+            <configuration>
+              <ignoreAnnotations>true</ignoreAnnotations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml b/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
index 2ac7e81..d19e91b 100644
--- a/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
+++ b/ipojo/examples/property-handler/PropertyHandlerTest/pom.xml
@@ -1,79 +1,79 @@
 <!--
-	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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>Apache Felix iPOJO Property Handler Test</name>
-	<artifactId>
-		org.apache.felix.ipojo.example.handler.property.test
-	</artifactId>
-	<groupId>ipojo.examples</groupId>
-	<version>1.3.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.annotations</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.examples</groupId>
-			<artifactId>
-				org.apache.felix.ipojo.example.handler.property
-			</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>1.4.3</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Private-Package>
-							org.apache.felix.ipojo.handler.properties.example
-						</Private-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>Apache Felix iPOJO Property Handler Test</name>
+  <artifactId>
+    org.apache.felix.ipojo.example.handler.property.test
+  </artifactId>
+  <groupId>ipojo.examples</groupId>
+  <version>1.5.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.examples</groupId>
+      <artifactId>
+        org.apache.felix.ipojo.example.handler.property
+      </artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.4.3</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Private-Package>
+              org.apache.felix.ipojo.handler.properties.example
+            </Private-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml b/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
index ac07c07..fb103ef 100644
--- a/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.client.annotation/pom.xml
@@ -3,48 +3,48 @@
   <packaging>bundle</packaging>
   <groupId>ipojo.examples</groupId>
   <artifactId>hello.client.annotation</artifactId>
-   <version>1.1.0-SNAPSHOT</version>
+   <version>1.5.0-SNAPSHOT</version>
   <name>Hello Service Client using Annotations</name>
   
   <dependencies>
     <dependency>
       <groupId>ipojo.examples</groupId>
       <artifactId>hello.service</artifactId>
-      <version>1.3.0-SNAPSHOT</version>
+      <version>1.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.felix</groupId>
       <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-      <version>1.3.0-SNAPSHOT</version>
+      <version>1.5.0-SNAPSHOT</version>
     </dependency>
   </dependencies>
   
-	<pluginRepositories>
-		<pluginRepository>
-			<id>apache.snapshots</id>
-			<name>snapshot plugins</name>
-			<url>
-				http://people.apache.org/repo/m2-snapshot-repository
-			</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>snapshot plugins</name>
+      <url>
+        http://people.apache.org/repo/m2-snapshot-repository
+      </url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
   
   <build>
     <plugins>
      <plugin>
-		<groupId>org.apache.maven.plugins</groupId>
-		<artifactId>maven-compiler-plugin</artifactId>
-		<configuration>
-		<source>1.5</source>
-		<target>1.5</target>
-		</configuration>
-	  </plugin>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-compiler-plugin</artifactId>
+    <configuration>
+    <source>1.5</source>
+    <target>1.5</target>
+    </configuration>
+    </plugin>
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
@@ -57,13 +57,13 @@
         </configuration>
       </plugin>
       <plugin>
-	      <groupId>org.apache.felix</groupId>
-	      <artifactId>maven-ipojo-plugin</artifactId>
-		  <version>1.3.0-SNAPSHOT</version>
-		  <executions>
-          	<execution>
-            	<goals>
-	              <goal>ipojo-bundle</goal>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+      <executions>
+            <execution>
+              <goals>
+                <goal>ipojo-bundle</goal>
                </goals>
           </execution>
         </executions>
diff --git a/ipojo/examples/tutorial-maven/hello.client/pom.xml b/ipojo/examples/tutorial-maven/hello.client/pom.xml
index a2828a8..3bd2d40 100644
--- a/ipojo/examples/tutorial-maven/hello.client/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.client/pom.xml
@@ -1,82 +1,82 @@
 <!--
-	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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging><!-- Use the BND Maven plug-in -->
-	<groupId>ipojo.examples</groupId>
-	<artifactId>hello.client</artifactId>
-	<version>1.3.0-SNAPSHOT</version>
-	<name>Hello Service Client</name>
-	<dependencies>
-		<dependency>
-			<groupId>ipojo.examples</groupId>
-			<artifactId>hello.service</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging><!-- Use the BND Maven plug-in -->
+  <groupId>ipojo.examples</groupId>
+  <artifactId>hello.client</artifactId>
+  <version>1.5.0-SNAPSHOT</version>
+  <name>Hello Service Client</name>
+  <dependencies>
+    <dependency>
+      <groupId>ipojo.examples</groupId>
+      <artifactId>hello.service</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
 
-	<pluginRepositories>
-		<pluginRepository>
-			<id>apache.snapshots</id>
-			<name>snapshot plugins</name>
-			<url>
-				http://people.apache.org/repo/m2-snapshot-repository
-			</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>snapshot plugins</name>
+      <url>
+        http://people.apache.org/repo/m2-snapshot-repository
+      </url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<extensions>true</extensions>
-				<version>1.4.3</version>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							ipojo.example.hello.client
-						</Private-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <version>1.4.3</version>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              ipojo.example.hello.client
+            </Private-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml b/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
index 4bca679..84eaea3 100644
--- a/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.impl.annotation/pom.xml
@@ -1,95 +1,95 @@
 <!--
-	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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<groupId>ipojo.examples</groupId>
-	<artifactId>hello.impl.annotation</artifactId>
-	<version>1.3.0-SNAPSHOT</version>
-	<name>Hello Service Provider using Annotations</name>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <groupId>ipojo.examples</groupId>
+  <artifactId>hello.impl.annotation</artifactId>
+  <version>1.5.0-SNAPSHOT</version>
+  <name>Hello Service Provider using Annotations</name>
 
-	<pluginRepositories>
-		<pluginRepository>
-			<id>apache.snapshots</id>
-			<name>snapshot plugins</name>
-			<url>
-				http://people.apache.org/repo/m2-snapshot-repository
-			</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>snapshot plugins</name>
+      <url>
+        http://people.apache.org/repo/m2-snapshot-repository
+      </url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
 
-	<dependencies>
-		<dependency>
-			<groupId>ipojo.examples</groupId>
-			<artifactId>hello.service</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.annotations</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>ipojo.examples</groupId>
+      <artifactId>hello.service</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							ipojo.example.hello.impl
-						</Private-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              ipojo.example.hello.impl
+            </Private-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/examples/tutorial-maven/hello.impl/pom.xml b/ipojo/examples/tutorial-maven/hello.impl/pom.xml
index 81e5575..404945e 100644
--- a/ipojo/examples/tutorial-maven/hello.impl/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.impl/pom.xml
@@ -1,65 +1,65 @@
 <project>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<groupId>ipojo.examples</groupId>
-	<artifactId>hello.impl</artifactId>
-	<version>1.3.0-SNAPSHOT</version>
-	<name>Hello Service Provider</name>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <groupId>ipojo.examples</groupId>
+  <artifactId>hello.impl</artifactId>
+  <version>1.5.0-SNAPSHOT</version>
+  <name>Hello Service Provider</name>
 
-	<pluginRepositories>
-		<pluginRepository>
-			<id>apache.snapshots</id>
-			<name>snapshot plugins</name>
-			<url>
-				http://people.apache.org/repo/m2-snapshot-repository
-			</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>snapshot plugins</name>
+      <url>
+        http://people.apache.org/repo/m2-snapshot-repository
+      </url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
 
-	<dependencies>
-		<dependency>
-			<groupId>ipojo.examples</groupId>
-			<artifactId>hello.service</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-	</dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>ipojo.examples</groupId>
+      <artifactId>hello.service</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </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-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							ipojo.example.hello.impl
-						</Private-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.4.3</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              ipojo.example.hello.impl
+            </Private-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/examples/tutorial-maven/hello.service/pom.xml b/ipojo/examples/tutorial-maven/hello.service/pom.xml
index ac18e62..29e4e6d 100644
--- a/ipojo/examples/tutorial-maven/hello.service/pom.xml
+++ b/ipojo/examples/tutorial-maven/hello.service/pom.xml
@@ -1,63 +1,63 @@
 <!--
-	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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<groupId>ipojo.examples</groupId>
-	<artifactId>hello.service</artifactId>
-	<version>1.3.0-SNAPSHOT</version>
-	<name>Hello Service</name>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <groupId>ipojo.examples</groupId>
+  <artifactId>hello.service</artifactId>
+  <version>1.5.0-SNAPSHOT</version>
+  <name>Hello Service</name>
 
-	<pluginRepositories>
-		<pluginRepository>
-			<id>apache.snapshots</id>
-			<name>snapshot plugins</name>
-			<url>
-				http://people.apache.org/repo/m2-snapshot-repository
-			</url>
-			<releases>
-				<enabled>false</enabled>
-			</releases>
-			<snapshots>
-				<enabled>true</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache.snapshots</id>
+      <name>snapshot plugins</name>
+      <url>
+        http://people.apache.org/repo/m2-snapshot-repository
+      </url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </pluginRepository>
+  </pluginRepositories>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>1.4.3</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Export-Package>
-							ipojo.example.hello
-						</Export-Package>
-					</instructions>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.4.3</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Export-Package>
+              ipojo.example.hello
+            </Export-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/handler/transaction/pom.xml b/ipojo/handler/transaction/pom.xml
index 5d0cbdc..7346a40 100644
--- a/ipojo/handler/transaction/pom.xml
+++ b/ipojo/handler/transaction/pom.xml
@@ -4,7 +4,7 @@
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.ipojo.handler.transaction
   </artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>Apache Felix iPOJO Transaction Handler</name>
 
   <build>
diff --git a/ipojo/junit4osgi/felix-command/pom.xml b/ipojo/junit4osgi/felix-command/pom.xml
index c6aa050..39d1563 100644
--- a/ipojo/junit4osgi/felix-command/pom.xml
+++ b/ipojo/junit4osgi/felix-command/pom.xml
@@ -76,7 +76,7 @@
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-ipojo-plugin</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.5.0-SNAPSHOT</version>
         <executions>
           <execution>
             <goals>
diff --git a/ipojo/junit4osgi/immediate-launcher/pom.xml b/ipojo/junit4osgi/immediate-launcher/pom.xml
index 2f23c64..4b7fd3d 100644
--- a/ipojo/junit4osgi/immediate-launcher/pom.xml
+++ b/ipojo/junit4osgi/immediate-launcher/pom.xml
@@ -76,7 +76,7 @@
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-ipojo-plugin</artifactId>
-        <version>1.3.0-SNAPSHOT</version>
+        <version>1.5.0-SNAPSHOT</version>
         <executions>
           <execution>
             <goals>
diff --git a/ipojo/junit4osgi/junit4osgi/pom.xml b/ipojo/junit4osgi/junit4osgi/pom.xml
index 36de1e1..31486c0 100644
--- a/ipojo/junit4osgi/junit4osgi/pom.xml
+++ b/ipojo/junit4osgi/junit4osgi/pom.xml
@@ -1,134 +1,134 @@
 <!--
-	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.
+  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">
-	<parent>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>felix-parent</artifactId>
-		<version>1.2.0</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>Junit4Osgi</name>
-	<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.4</source>
-					<target>1.4</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>1.4.3</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-Name>
-							Apache Felix iPOJO OSGi Junit Runner
-						</Bundle-Name>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							org.apache.felix.ipojo.junit4osgi.impl,
-							org.apache.felix.ipojo.junit4osgi.test,
-						</Private-Package>
-						<Export-Package>
-							org.apache.felix.ipojo.junit4osgi, 
-							org.apache.felix.ipojo.junit4osgi.helpers,
-							junit.*
-						</Export-Package>
-						<Import-Package>!javax.swing*, *</Import-Package>
-						<!-- <Test-Suite>
-							org.apache.felix.ipojo.junit4osgi.test.TestTestCase,
-							org.apache.felix.ipojo.junit4osgi.test.TestOSGiTestCase,
-							org.apache.felix.ipojo.junit4osgi.test.TestTestSuite,
-							org.apache.felix.ipojo.junit4osgi.test.TestOSGiTestSuite,
-						</Test-Suite>  -->
-						<Include-Resource> 
-							META-INF/LICENSE=LICENSE,
-							META-INF/LICENSE.junit=LICENSE.junit,
-							META-INF/NOTICE=NOTICE
-						</Include-Resource>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>1.3.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-						<configuration>
-							<ignoreAnnotations>true</ignoreAnnotations>
-						</configuration>
-					</execution>
-				</executions>
-			</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>
-					</excludes>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<configuration>
-					<configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-					<violationSeverity>error</violationSeverity>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>1.2.0</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>Junit4Osgi</name>
+  <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+  <version>1.1.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.4</source>
+          <target>1.4</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>1.4.3</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>
+              Apache Felix iPOJO OSGi Junit Runner
+            </Bundle-Name>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              org.apache.felix.ipojo.junit4osgi.impl,
+              org.apache.felix.ipojo.junit4osgi.test,
+            </Private-Package>
+            <Export-Package>
+              org.apache.felix.ipojo.junit4osgi, 
+              org.apache.felix.ipojo.junit4osgi.helpers,
+              junit.*
+            </Export-Package>
+            <Import-Package>!javax.swing*, *</Import-Package>
+            <!-- <Test-Suite>
+              org.apache.felix.ipojo.junit4osgi.test.TestTestCase,
+              org.apache.felix.ipojo.junit4osgi.test.TestOSGiTestCase,
+              org.apache.felix.ipojo.junit4osgi.test.TestTestSuite,
+              org.apache.felix.ipojo.junit4osgi.test.TestOSGiTestSuite,
+            </Test-Suite>  -->
+            <Include-Resource> 
+              META-INF/LICENSE=LICENSE,
+              META-INF/LICENSE.junit=LICENSE.junit,
+              META-INF/NOTICE=NOTICE
+            </Include-Resource>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+            <configuration>
+              <ignoreAnnotations>true</ignoreAnnotations>
+            </configuration>
+          </execution>
+        </executions>
+      </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>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+          <violationSeverity>error</violationSeverity>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/junit4osgi/maven-junit4osgi-plugin/pom.xml b/ipojo/junit4osgi/maven-junit4osgi-plugin/pom.xml
index a5f6ce4..1909460 100644
--- a/ipojo/junit4osgi/maven-junit4osgi-plugin/pom.xml
+++ b/ipojo/junit4osgi/maven-junit4osgi-plugin/pom.xml
@@ -1,114 +1,114 @@
 <!--
-	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.
+  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">
-	<parent>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>felix-parent</artifactId>
-		<version>1.2.0</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>maven-junit4osgi-plugin</artifactId>
-	<packaging>maven-plugin</packaging>
-	<version>1.1.0-SNAPSHOT</version>
-	<name>Junit4OSGi Maven Plugin</name>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-plugin-api</artifactId>
-			<version>2.0</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.framework</artifactId>
-			<version>1.8.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-artifact</artifactId>
-			<version>2.0.7</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-project</artifactId>
-			<version>2.0.7</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-model</artifactId>
-			<version>2.0.7</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-plugin-api</artifactId>
-			<version>2.0.7</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.handler.extender</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
-		</dependency>
-	    <dependency>
-      		<groupId>net.sourceforge.cobertura</groupId>
-      		<artifactId>cobertura</artifactId>
-      		<version>1.9</version>
-    	</dependency>
-	</dependencies>
-	<build>
-		<plugins>
-			<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>
-					</excludes>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<configuration>
-					<configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>1.2.0</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>maven-junit4osgi-plugin</artifactId>
+  <packaging>maven-plugin</packaging>
+  <version>1.1.0-SNAPSHOT</version>
+  <name>Junit4OSGi Maven Plugin</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.framework</artifactId>
+      <version>1.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>2.0.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <version>2.0.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+      <version>2.0.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0.7</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.extender</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+    </dependency>
+      <dependency>
+          <groupId>net.sourceforge.cobertura</groupId>
+          <artifactId>cobertura</artifactId>
+          <version>1.9</version>
+      </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <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>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <configuration>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/ipojo/junit4osgi/swing-runner/pom.xml b/ipojo/junit4osgi/swing-runner/pom.xml
index db3e7ff..75f3df5 100644
--- a/ipojo/junit4osgi/swing-runner/pom.xml
+++ b/ipojo/junit4osgi/swing-runner/pom.xml
@@ -1,111 +1,111 @@
 <!--
-	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.
+  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">
-	<parent>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>felix-parent</artifactId>
-		<version>1.2.0</version>
-	</parent>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>Junit4Osgi-Swing-GUI</name>
-	<artifactId>org.apache.felix.ipojo.junit4osgi.swing-gui</artifactId>
-	<version>1.1.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>${pom.groupId}</groupId>
-			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-	</dependencies>
-	<build>
-	<plugins>
-		<plugin>
-			<groupId>org.apache.maven.plugins</groupId>
-			<artifactId>maven-compiler-plugin</artifactId>
-			<configuration>
-				<source>1.5</source>
-				<target>1.5</target>
-			</configuration>
-		</plugin>
-		<plugin>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>maven-bundle-plugin</artifactId>
-			<version>1.4.3</version>
-			<extensions>true</extensions>
-			<configuration>
-				<instructions>
-					<Bundle-Name>Apache Felix iPOJO OSGi Junit Runner - Swing Gui</Bundle-Name>
-					<Bundle-SymbolicName> ${pom.artifactId}</Bundle-SymbolicName>
-					<Private-Package> org.apache.felix.ipojo.junit4osgi.command
-					</Private-Package>
-					<Import-Package>org.osgi.framework;version=1.3,*
-					</Import-Package>
-				</instructions>
-			</configuration>
-		</plugin>
-		<plugin>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>maven-ipojo-plugin</artifactId>
-			<version>1.3.0-SNAPSHOT</version>
-			<executions>
-				<execution>
-					<goals>
-						<goal>ipojo-bundle</goal>
-					</goals>
-					<configuration>
-						<ignoreAnnotations>true</ignoreAnnotations>
-					</configuration>
-				</execution>
-			</executions>
-		</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>
-				</excludes>
-			</configuration>
-		</plugin>
-		<plugin>
-			<groupId>org.apache.maven.plugins</groupId>
-			<artifactId>maven-checkstyle-plugin
-			</artifactId>
-			<configuration>
-				<configLocation>
-					http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml
-				</configLocation>
-				<violationSeverity>error</violationSeverity>
-			</configuration>
-		</plugin>
-	</plugins>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>1.2.0</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>Junit4Osgi-Swing-GUI</name>
+  <artifactId>org.apache.felix.ipojo.junit4osgi.swing-gui</artifactId>
+  <version>1.1.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+  </dependencies>
+  <build>
+  <plugins>
+    <plugin>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-compiler-plugin</artifactId>
+      <configuration>
+        <source>1.5</source>
+        <target>1.5</target>
+      </configuration>
+    </plugin>
+    <plugin>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>maven-bundle-plugin</artifactId>
+      <version>1.4.3</version>
+      <extensions>true</extensions>
+      <configuration>
+        <instructions>
+          <Bundle-Name>Apache Felix iPOJO OSGi Junit Runner - Swing Gui</Bundle-Name>
+          <Bundle-SymbolicName> ${pom.artifactId}</Bundle-SymbolicName>
+          <Private-Package> org.apache.felix.ipojo.junit4osgi.command
+          </Private-Package>
+          <Import-Package>org.osgi.framework;version=1.3,*
+          </Import-Package>
+        </instructions>
+      </configuration>
+    </plugin>
+    <plugin>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>maven-ipojo-plugin</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+      <executions>
+        <execution>
+          <goals>
+            <goal>ipojo-bundle</goal>
+          </goals>
+          <configuration>
+            <ignoreAnnotations>true</ignoreAnnotations>
+          </configuration>
+        </execution>
+      </executions>
+    </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>
+        </excludes>
+      </configuration>
+    </plugin>
+    <plugin>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-checkstyle-plugin
+      </artifactId>
+      <configuration>
+        <configLocation>
+          http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml
+        </configLocation>
+        <violationSeverity>error</violationSeverity>
+      </configuration>
+    </plugin>
+  </plugins>
 </build>
 </project>
diff --git a/ipojo/pom.xml b/ipojo/pom.xml
index dbb24ee..8443778 100644
--- a/ipojo/pom.xml
+++ b/ipojo/pom.xml
@@ -28,7 +28,7 @@
   <artifactId>iPOJO</artifactId>
   <groupId>org.apache.felix</groupId>
   <name>Apache Felix iPOJO</name>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
     <modules>
diff --git a/ipojo/tests/api/pom.xml b/ipojo/tests/api/pom.xml
index 89457c1..2474bc3 100644
--- a/ipojo/tests/api/pom.xml
+++ b/ipojo/tests/api/pom.xml
@@ -4,130 +4,130 @@
   <groupId>ipojo.tests</groupId>
   <artifactId>org.apache.felix.ipojo.tests.api</artifactId>
   <packaging>jar</packaging>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>org.apache.felix.ipojo.tests.api</name>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.servicemix.tooling</groupId>
-				<artifactId>depends-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>generate-depends-file</id>
-						<goals>
-							<goal>generate-depends-file</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.servicemix.tooling</groupId>
+        <artifactId>depends-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-depends-file</id>
+            <goals>
+              <goal>generate-depends-file</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
 
-			<!--  <plugin>
-				<groupId>org.ops4j.pax.exam</groupId>
-				<artifactId>maven-paxexam-plugin</artifactId>
-				<executions>
-					<execution>
-					<id>generate-paxexam-config</id>
-					<goals>
-						<goal>generate-paxexam-config</goal>
-					</goals>
-					</execution>
-				</executions>
-				<configuration>
-				<settings>
-					<platform>felix</platform>
-				</settings>
-				</configuration>
-			</plugin> -->
-		</plugins>
-	</build>
+      <!--  <plugin>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>maven-paxexam-plugin</artifactId>
+        <executions>
+          <execution>
+          <id>generate-paxexam-config</id>
+          <goals>
+            <goal>generate-paxexam-config</goal>
+          </goals>
+          </execution>
+        </executions>
+        <configuration>
+        <settings>
+          <platform>felix</platform>
+        </settings>
+        </configuration>
+      </plugin> -->
+    </plugins>
+  </build>
 
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.api</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.composite</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.api</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.composite</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
 
-		<!-- For external handlermanagement -->
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.handler.whiteboard</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
+    <!-- For external handlermanagement -->
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.whiteboard</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
 
-	<!--
-		Pax Exam API:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		During runtime Pax Exam will discover the OSGi container to use by
-		searching metadata available into classpath. Pax Exam comes with a
-		default container that uses [Pax Runner] for implementing the
-		container requirements:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-container-default
-		</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		If your test code is based on JUnit you will have to have the Junit
-		support artifact:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-junit</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<dependency>
-		<groupId>junit</groupId>
-		<artifactId>junit</artifactId>
-		<version>4.5</version>
-		<type>jar</type>
-		<scope>test</scope>
-	</dependency>
-	</dependencies>
+  <!--
+    Pax Exam API:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    During runtime Pax Exam will discover the OSGi container to use by
+    searching metadata available into classpath. Pax Exam comes with a
+    default container that uses [Pax Runner] for implementing the
+    container requirements:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-container-default
+    </artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    If your test code is based on JUnit you will have to have the Junit
+    support artifact:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-junit</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <dependency>
+    <groupId>junit</groupId>
+    <artifactId>junit</artifactId>
+    <version>4.5</version>
+    <type>jar</type>
+    <scope>test</scope>
+  </dependency>
+  </dependencies>
 
-	<repositories>
-		<repository>
-			<id>ops4j.releases</id>
-			<name>OPS4J Release</name>
-			<url> http://repository.ops4j.org/maven2/</url>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</repository>
-	</repositories>
+  <repositories>
+    <repository>
+      <id>ops4j.releases</id>
+      <name>OPS4J Release</name>
+      <url> http://repository.ops4j.org/maven2/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
 </project>
diff --git a/ipojo/tests/bundleAsiPOJO/bundleAsiPOJO/pom.xml b/ipojo/tests/bundleAsiPOJO/bundleAsiPOJO/pom.xml
index 3a34f2e..e3e164f 100644
--- a/ipojo/tests/bundleAsiPOJO/bundleAsiPOJO/pom.xml
+++ b/ipojo/tests/bundleAsiPOJO/bundleAsiPOJO/pom.xml
@@ -4,45 +4,45 @@
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
   <packaging>jar</packaging>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>BundleAsiPOJO</name>
 
-	<dependencies>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-  			<groupId>org.ops4j.pax.swissbox</groupId>
-  			<artifactId>pax-swissbox-tinybundles</artifactId>
-  			<version>1.0.0</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>xerces</groupId>
-			<artifactId>xercesImpl</artifactId>
-			<version>2.4.0</version>
-		</dependency>
-	</dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+        <groupId>org.ops4j.pax.swissbox</groupId>
+        <artifactId>pax-swissbox-tinybundles</artifactId>
+        <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.4.0</version>
+    </dependency>
+  </dependencies>
 
    <build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 
 <repositories>	
   <repository>
diff --git a/ipojo/tests/bundleAsiPOJO/pom.xml b/ipojo/tests/bundleAsiPOJO/pom.xml
index 7b4384b..9418c56 100644
--- a/ipojo/tests/bundleAsiPOJO/pom.xml
+++ b/ipojo/tests/bundleAsiPOJO/pom.xml
@@ -20,31 +20,31 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>ipojo.tests</groupId>
   <artifactId>BundleAsiPOJO</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>Apache Felix iPOJO TinyBundles Extension</name>
   <packaging>pom</packaging>
   
    <profiles>
-	<profile>
-		<id>java5</id>
-		<activation>
-			<jdk>1.5</jdk>
-		</activation>
-		<modules>
-			<module>bundleAsiPOJO</module>
-    		<module>tests</module>
-		</modules>
-	</profile>
-	<profile>
-		<id>java6</id>
-		<activation>
-			<jdk>1.6</jdk>
-		</activation>
-		<modules>
-			<module>bundleAsiPOJO</module>
-    		<module>tests</module>
-		</modules>
-	</profile>
+  <profile>
+    <id>java5</id>
+    <activation>
+      <jdk>1.5</jdk>
+    </activation>
+    <modules>
+      <module>bundleAsiPOJO</module>
+      <module>tests</module>
+    </modules>
+  </profile>
+  <profile>
+    <id>java6</id>
+    <activation>
+      <jdk>1.6</jdk>
+    </activation>
+    <modules>
+      <module>bundleAsiPOJO</module>
+      <module>tests</module>
+    </modules>
+  </profile>
   </profiles>
   
-</project>
\ No newline at end of file
+</project>
diff --git a/ipojo/tests/bundleAsiPOJO/tests/pom.xml b/ipojo/tests/bundleAsiPOJO/tests/pom.xml
index c7bbb9f..bcb9ddd 100644
--- a/ipojo/tests/bundleAsiPOJO/tests/pom.xml
+++ b/ipojo/tests/bundleAsiPOJO/tests/pom.xml
@@ -4,126 +4,126 @@
   <groupId>ipojo.tests</groupId>
   <artifactId>org.apache.felix.ipojo.tinybundle.bundleAsiPOJO.test</artifactId>
   <packaging>jar</packaging>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>bundleAsiPOJO Tests</name>
   <build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.servicemix.tooling</groupId>
-				<artifactId>depends-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>generate-depends-file</id>
-						<goals>
-							<goal>generate-depends-file</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.servicemix.tooling</groupId>
+        <artifactId>depends-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-depends-file</id>
+            <goals>
+              <goal>generate-depends-file</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
 
-			<!--  <plugin>
-				<groupId>org.ops4j.pax.exam</groupId>
-				<artifactId>maven-paxexam-plugin</artifactId>
-				<executions>
-					<execution>
-					<id>generate-paxexam-config</id>
-					<goals>
-						<goal>generate-paxexam-config</goal>
-					</goals>
-					</execution>
-				</executions>
-				<configuration>
-				<settings>
-					<platform>felix</platform>
-				</settings>
-				</configuration>
-			</plugin> -->
-		</plugins>
-	</build>
+      <!--  <plugin>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>maven-paxexam-plugin</artifactId>
+        <executions>
+          <execution>
+          <id>generate-paxexam-config</id>
+          <goals>
+            <goal>generate-paxexam-config</goal>
+          </goals>
+          </execution>
+        </executions>
+        <configuration>
+        <settings>
+          <platform>felix</platform>
+        </settings>
+        </configuration>
+      </plugin> -->
+    </plugins>
+  </build>
 
-	<dependencies>
+  <dependencies>
 
-	<!--
-		Pax Exam API:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		During runtime Pax Exam will discover the OSGi container to use by
-		searching metadata available into classpath. Pax Exam comes with a
-		default container that uses [Pax Runner] for implementing the
-		container requirements:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-container-default
-		</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		If your test code is based on JUnit you will have to have the Junit
-		support artifact:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-junit</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<dependency>
-		<groupId>junit</groupId>
-		<artifactId>junit</artifactId>
-		<version>4.5</version>
-		<type>jar</type>
-		<scope>test</scope>
-	</dependency>
+  <!--
+    Pax Exam API:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    During runtime Pax Exam will discover the OSGi container to use by
+    searching metadata available into classpath. Pax Exam comes with a
+    default container that uses [Pax Runner] for implementing the
+    container requirements:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-container-default
+    </artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    If your test code is based on JUnit you will have to have the Junit
+    support artifact:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-junit</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <dependency>
+    <groupId>junit</groupId>
+    <artifactId>junit</artifactId>
+    <version>4.5</version>
+    <type>jar</type>
+    <scope>test</scope>
+  </dependency>
 
 
-	<!-- TinyBundle -->
-	<dependency>
-		<groupId>org.ops4j.pax.swissbox</groupId>
-		<artifactId>pax-swissbox-tinybundles</artifactId>
-		<version>1.0.0</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
-		<version>${pom.version}</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.ipojo.annotations</artifactId>
-		<version>${pom.version}</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.ipojo</artifactId>
-		<version>${pom.version}</version>
-	</dependency>
+  <!-- TinyBundle -->
+  <dependency>
+    <groupId>org.ops4j.pax.swissbox</groupId>
+    <artifactId>pax-swissbox-tinybundles</artifactId>
+    <version>1.0.0</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
+    <version>${pom.version}</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+    <version>${pom.version}</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo</artifactId>
+    <version>${pom.version}</version>
+  </dependency>
 
-	</dependencies>
+  </dependencies>
 
-	<repositories>
-		<repository>
-			<id>ops4j.releases</id>
-			<name>OPS4J Release</name>
-			<url> http://repository.ops4j.org/maven2/</url>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</repository>
-	</repositories>
+  <repositories>
+    <repository>
+      <id>ops4j.releases</id>
+      <name>OPS4J Release</name>
+      <url> http://repository.ops4j.org/maven2/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
 </project>
diff --git a/ipojo/tests/composite/composite-runtime/pom.xml b/ipojo/tests/composite/composite-runtime/pom.xml
index 2e01dc2..adb77ca 100644
--- a/ipojo/tests/composite/composite-runtime/pom.xml
+++ b/ipojo/tests/composite/composite-runtime/pom.xml
@@ -1,99 +1,99 @@
 <!--
-	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
+  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
+  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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>iPOJO Composite Test Suite</name>
-	<artifactId>tests.composite</artifactId>
-	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.composite</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.osgi.core</artifactId>
-			<version>1.0.1</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
-		</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>
-						<Export-Package>
-							org.apache.felix.ipojo.test.composite.service, org.apache.felix.ipojo.test.composite.component, org.apache.felix.ipojo.test.composite.util
-						</Export-Package>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							org.apache.felix.ipojo.test.composite.*
-						</Private-Package>
-						<Test-Suite>
-							org.apache.felix.ipojo.test.composite.CompositeTestSuite
-						</Test-Suite>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>${pom.version}</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-						<configuration>
-							<ignoreAnnotations>true</ignoreAnnotations>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>iPOJO Composite Test Suite</name>
+  <artifactId>tests.composite</artifactId>
+  <groupId>ipojo.tests</groupId>
+  <version>1.5.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.composite</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+    </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>
+            <Export-Package>
+              org.apache.felix.ipojo.test.composite.service, org.apache.felix.ipojo.test.composite.component, org.apache.felix.ipojo.test.composite.util
+            </Export-Package>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              org.apache.felix.ipojo.test.composite.*
+            </Private-Package>
+            <Test-Suite>
+              org.apache.felix.ipojo.test.composite.CompositeTestSuite
+            </Test-Suite>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>${pom.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+            <configuration>
+              <ignoreAnnotations>true</ignoreAnnotations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/tests/composite/import-export/pom.xml b/ipojo/tests/composite/import-export/pom.xml
index 01083fd..973522c 100644
--- a/ipojo/tests/composite/import-export/pom.xml
+++ b/ipojo/tests/composite/import-export/pom.xml
@@ -1,101 +1,101 @@
 <!--
-	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
+  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
+  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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>iPOJO Composite (Service Import/Export) Test Suite</name>
-	<artifactId>tests.composite.service.import-export</artifactId>
-	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.composite</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.osgi.core</artifactId>
-			<version>1.0.1</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.composite</artifactId>
-			<version>${pom.version}</version>
-		</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-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							org.apache.felix.ipojo.test.composite.exporter, org.apache.felix.ipojo.test.composite.importer
-						</Private-Package>
-						<Test-Suite>
-							org.apache.felix.ipojo.test.composite.importer.ImportTestSuite, org.apache.felix.ipojo.test.composite.exporter.ExportTestSuite
-						</Test-Suite>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>${pom.version}</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-						<configuration>
-							<ignoreAnnotations>true</ignoreAnnotations>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>iPOJO Composite (Service Import/Export) Test Suite</name>
+  <artifactId>tests.composite.service.import-export</artifactId>
+  <groupId>ipojo.tests</groupId>
+  <version>1.5.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.composite</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.composite</artifactId>
+      <version>${pom.version}</version>
+    </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-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              org.apache.felix.ipojo.test.composite.exporter, org.apache.felix.ipojo.test.composite.importer
+            </Private-Package>
+            <Test-Suite>
+              org.apache.felix.ipojo.test.composite.importer.ImportTestSuite, org.apache.felix.ipojo.test.composite.exporter.ExportTestSuite
+            </Test-Suite>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>${pom.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+            <configuration>
+              <ignoreAnnotations>true</ignoreAnnotations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/tests/composite/service-instance/pom.xml b/ipojo/tests/composite/service-instance/pom.xml
index dd6b2fd..ce77ca8 100644
--- a/ipojo/tests/composite/service-instance/pom.xml
+++ b/ipojo/tests/composite/service-instance/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Composite (Service Instance) Test Suite</name>
 	<artifactId>tests.composite.service.instance</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/composite/service-providing/pom.xml b/ipojo/tests/composite/service-providing/pom.xml
index e4e6113..7851282 100644
--- a/ipojo/tests/composite/service-providing/pom.xml
+++ b/ipojo/tests/composite/service-providing/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Composite (Service Providing) Test Suite</name>
 	<artifactId>tests.composite.service.providing</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/annotations/pom.xml b/ipojo/tests/core/annotations/pom.xml
index 9b18961..d1a05d4 100644
--- a/ipojo/tests/core/annotations/pom.xml
+++ b/ipojo/tests/core/annotations/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Annotations Test Suite</name>
 	<artifactId>tests.core.annotations</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/bad-configurations/pom.xml b/ipojo/tests/core/bad-configurations/pom.xml
index 65b93c5..19e46af 100644
--- a/ipojo/tests/core/bad-configurations/pom.xml
+++ b/ipojo/tests/core/bad-configurations/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Bad Configurations Test Suite</name>
 	<artifactId>tests.core.bad.configurations</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/configadmin/pom.xml b/ipojo/tests/core/configadmin/pom.xml
index 82ffdde..70ea65f 100644
--- a/ipojo/tests/core/configadmin/pom.xml
+++ b/ipojo/tests/core/configadmin/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Configuration Admin Management Test Suite</name>
 	<artifactId>tests.core.configadmin</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/configuration/pom.xml b/ipojo/tests/core/configuration/pom.xml
index f3ce81d..a082b59 100644
--- a/ipojo/tests/core/configuration/pom.xml
+++ b/ipojo/tests/core/configuration/pom.xml
@@ -1,121 +1,121 @@
 <!--
-	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
+  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
+  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.
+  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>
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>bundle</packaging>
-	<name>iPOJO Configuration Management Test Suite</name>
-	<artifactId>tests.core.configuration</artifactId>
-	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.osgi.core</artifactId>
-			<version>1.0.1</version>
-		</dependency>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
-			<version>1.1.0-SNAPSHOT</version>
-		</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>
-						<Export-Package>
-							org.apache.felix.ipojo.test.scenarios.configuration.service
-						</Export-Package>
-						<Bundle-SymbolicName>
-							${pom.artifactId}
-						</Bundle-SymbolicName>
-						<Private-Package>
-							org.apache.felix.ipojo.test*
-						</Private-Package>
-						<Test-Suite>
-							org.apache.felix.ipojo.test.scenarios.configuration.ConfigurationTestSuite
-						</Test-Suite>
-					</instructions>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-ipojo-plugin</artifactId>
-				<version>${pom.version}</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>ipojo-bundle</goal>
-						</goals>
-						<configuration>
-							<ignoreAnnotations>true</ignoreAnnotations>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.4</source>
-					<target>1.4</target>
-				</configuration>
-			</plugin>
-			<!-- Test -->
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-junit4osgi-plugin
-				</artifactId>
-				<version>1.1.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>test</goal>
-						</goals>
-						<configuration>
-							<configuration>
-							<org.osgi.http.port>8083</org.osgi.http.port>
-							</configuration>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>iPOJO Configuration Management Test Suite</name>
+  <artifactId>tests.core.configuration</artifactId>
+  <groupId>ipojo.tests</groupId>
+  <version>1.5.0-SNAPSHOT</version>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+      <version>1.1.0-SNAPSHOT</version>
+    </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>
+            <Export-Package>
+              org.apache.felix.ipojo.test.scenarios.configuration.service
+            </Export-Package>
+            <Bundle-SymbolicName>
+              ${pom.artifactId}
+            </Bundle-SymbolicName>
+            <Private-Package>
+              org.apache.felix.ipojo.test*
+            </Private-Package>
+            <Test-Suite>
+              org.apache.felix.ipojo.test.scenarios.configuration.ConfigurationTestSuite
+            </Test-Suite>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>${pom.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+            <configuration>
+              <ignoreAnnotations>true</ignoreAnnotations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.4</source>
+          <target>1.4</target>
+        </configuration>
+      </plugin>
+      <!-- Test -->
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-junit4osgi-plugin
+        </artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <configuration>
+              <org.osgi.http.port>8083</org.osgi.http.port>
+              </configuration>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/tests/core/external-handlers/pom.xml b/ipojo/tests/core/external-handlers/pom.xml
index 1b39e96..34d1476 100644
--- a/ipojo/tests/core/external-handlers/pom.xml
+++ b/ipojo/tests/core/external-handlers/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO External Handler Mechanism Test Suite</name>
 	<artifactId>tests.core.external.handlers</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/factories/pom.xml b/ipojo/tests/core/factories/pom.xml
index b419cec..b12d27d 100644
--- a/ipojo/tests/core/factories/pom.xml
+++ b/ipojo/tests/core/factories/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Factories Test Suite</name>
 	<artifactId>tests.core.factories</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/factory-version/pom.xml b/ipojo/tests/core/factory-version/pom.xml
index c8e4928..f6a496d 100644
--- a/ipojo/tests/core/factory-version/pom.xml
+++ b/ipojo/tests/core/factory-version/pom.xml
@@ -3,120 +3,120 @@
   <groupId>ipojo.tests</groupId>
   <artifactId>tests.core.factory-version</artifactId>
   <name>iPOJO Factory Version Test Suite</name>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <description>Test the factory version attribute</description>
 
   <build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.servicemix.tooling</groupId>
-				<artifactId>depends-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>generate-depends-file</id>
-						<goals>
-							<goal>generate-depends-file</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.servicemix.tooling</groupId>
+        <artifactId>depends-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-depends-file</id>
+            <goals>
+              <goal>generate-depends-file</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
 
-			<!--  <plugin>
-				<groupId>org.ops4j.pax.exam</groupId>
-				<artifactId>maven-paxexam-plugin</artifactId>
-				<executions>
-					<execution>
-					<id>generate-paxexam-config</id>
-					<goals>
-						<goal>generate-paxexam-config</goal>
-					</goals>
-					</execution>
-				</executions>
-				<configuration>
-				<settings>
-					<platform>felix</platform>
-				</settings>
-				</configuration>
-			</plugin> -->
-		</plugins>
-	</build>
+      <!--  <plugin>
+        <groupId>org.ops4j.pax.exam</groupId>
+        <artifactId>maven-paxexam-plugin</artifactId>
+        <executions>
+          <execution>
+          <id>generate-paxexam-config</id>
+          <goals>
+            <goal>generate-paxexam-config</goal>
+          </goals>
+          </execution>
+        </executions>
+        <configuration>
+        <settings>
+          <platform>felix</platform>
+        </settings>
+        </configuration>
+      </plugin> -->
+    </plugins>
+  </build>
 
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo</artifactId>
-			<version>${pom.version}</version>
-		</dependency>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
 
-	<!--
-		Pax Exam API:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		During runtime Pax Exam will discover the OSGi container to use by
-		searching metadata available into classpath. Pax Exam comes with a
-		default container that uses [Pax Runner] for implementing the
-		container requirements:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-container-default
-		</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		If your test code is based on JUnit you will have to have the Junit
-		support artifact:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-junit</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<dependency>
-		<groupId>junit</groupId>
-		<artifactId>junit</artifactId>
-		<version>4.5</version>
-		<type>jar</type>
-		<scope>test</scope>
-	</dependency>
-	<!--  Tinybundles -->
-	<dependency>
-		<groupId>org.ops4j.pax.swissbox</groupId>
-		<artifactId>pax-swissbox-tinybundles</artifactId>
-		<version>1.0.0</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
-		<version>${pom.version}</version>
-	</dependency>
-	</dependencies>
+  <!--
+    Pax Exam API:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    During runtime Pax Exam will discover the OSGi container to use by
+    searching metadata available into classpath. Pax Exam comes with a
+    default container that uses [Pax Runner] for implementing the
+    container requirements:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-container-default
+    </artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    If your test code is based on JUnit you will have to have the Junit
+    support artifact:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-junit</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <dependency>
+    <groupId>junit</groupId>
+    <artifactId>junit</artifactId>
+    <version>4.5</version>
+    <type>jar</type>
+    <scope>test</scope>
+  </dependency>
+  <!--  Tinybundles -->
+  <dependency>
+    <groupId>org.ops4j.pax.swissbox</groupId>
+    <artifactId>pax-swissbox-tinybundles</artifactId>
+    <version>1.0.0</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
+    <version>${pom.version}</version>
+  </dependency>
+  </dependencies>
 
-	<repositories>
-		<repository>
-			<id>ops4j.releases</id>
-			<name>OPS4J Release</name>
-			<url> http://repository.ops4j.org/maven2/</url>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</repository>
-	</repositories>
+  <repositories>
+    <repository>
+      <id>ops4j.releases</id>
+      <name>OPS4J Release</name>
+      <url> http://repository.ops4j.org/maven2/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/ipojo/tests/core/handler/pom.xml b/ipojo/tests/core/handler/pom.xml
index b73f024..c4185b6 100644
--- a/ipojo/tests/core/handler/pom.xml
+++ b/ipojo/tests/core/handler/pom.xml
@@ -3,7 +3,7 @@
   <groupId>ipojo.tests</groupId>
   <artifactId>tests.core.handler</artifactId>
   <name>iPOJO Handler Mechanism Test Suite</name>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <description>Test the handler mechanism</description>
 
   <build>
diff --git a/ipojo/tests/core/lifecycle-callback/pom.xml b/ipojo/tests/core/lifecycle-callback/pom.xml
index fe7f317..85613ac 100644
--- a/ipojo/tests/core/lifecycle-callback/pom.xml
+++ b/ipojo/tests/core/lifecycle-callback/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Lifecycle callback Test Suite</name>
 	<artifactId>tests.core.lifecycle.callback</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/lifecycle-controller/pom.xml b/ipojo/tests/core/lifecycle-controller/pom.xml
index d8a9579..06fe019 100644
--- a/ipojo/tests/core/lifecycle-controller/pom.xml
+++ b/ipojo/tests/core/lifecycle-controller/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Lifecycle controller Test Suite</name>
 	<artifactId>tests.core.lifecycle.controller</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-dependency-bindingpolicy/pom.xml b/ipojo/tests/core/service-dependency-bindingpolicy/pom.xml
index a116aac..d0cab32 100644
--- a/ipojo/tests/core/service-dependency-bindingpolicy/pom.xml
+++ b/ipojo/tests/core/service-dependency-bindingpolicy/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Dependency (Binding Policy) Test Suite</name>
 	<artifactId>tests.core.service.dependency.bindingpolicy</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-dependency-comparator/pom.xml b/ipojo/tests/core/service-dependency-comparator/pom.xml
index c9bae36..a48dce8 100644
--- a/ipojo/tests/core/service-dependency-comparator/pom.xml
+++ b/ipojo/tests/core/service-dependency-comparator/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Dependency Comparator Test Suite</name>
 	<artifactId>tests.core.service.dependency.comparator</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-dependency-filter/pom.xml b/ipojo/tests/core/service-dependency-filter/pom.xml
index 510bffa..46a28ba 100644
--- a/ipojo/tests/core/service-dependency-filter/pom.xml
+++ b/ipojo/tests/core/service-dependency-filter/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Dependency (Filter) Test Suite</name>
 	<artifactId>tests.core.service.dependency.filter</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-dependency/pom.xml b/ipojo/tests/core/service-dependency/pom.xml
index 8d3a0b1..ba4df5c 100644
--- a/ipojo/tests/core/service-dependency/pom.xml
+++ b/ipojo/tests/core/service-dependency/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Dependency Test Suite</name>
 	<artifactId>tests.core.service.dependency</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-providing-strategies/pom.xml b/ipojo/tests/core/service-providing-strategies/pom.xml
index 6d55e7e..926ce62 100755
--- a/ipojo/tests/core/service-providing-strategies/pom.xml
+++ b/ipojo/tests/core/service-providing-strategies/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Providing Strategy Test Suite</name>
 	<artifactId>tests.core.ps.strategy</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/core/service-providing/pom.xml b/ipojo/tests/core/service-providing/pom.xml
index c47a44a..2e6ed9c 100644
--- a/ipojo/tests/core/service-providing/pom.xml
+++ b/ipojo/tests/core/service-providing/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Service Providing Test Suite</name>
 	<artifactId>tests.core.ps</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/handler/eventadmin/pom.xml b/ipojo/tests/handler/eventadmin/pom.xml
index 2e651aa..b2f4409 100644
--- a/ipojo/tests/handler/eventadmin/pom.xml
+++ b/ipojo/tests/handler/eventadmin/pom.xml
@@ -3,7 +3,7 @@
 	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">
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<modelVersion>4.0.0</modelVersion>
 	<packaging>bundle</packaging>
 	<name>iPOJO Event Admin Handler Test Suite</name>
diff --git a/ipojo/tests/handler/temporal/pom.xml b/ipojo/tests/handler/temporal/pom.xml
index fa2db02..aa38b8e 100644
--- a/ipojo/tests/handler/temporal/pom.xml
+++ b/ipojo/tests/handler/temporal/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Temporal Dependency Test Suite</name>
 	<artifactId>tests.temporal</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/handler/transaction/pom.xml b/ipojo/tests/handler/transaction/pom.xml
index fb2227d..12405f9 100644
--- a/ipojo/tests/handler/transaction/pom.xml
+++ b/ipojo/tests/handler/transaction/pom.xml
@@ -4,135 +4,135 @@
   <groupId>ipojo.tests</groupId>
   <artifactId>tests.transactions</artifactId>
   <packaging>jar</packaging>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>iPOJO Transaction Handler Test Suite</name>
   <dependencies>
     <dependency>
-  		<groupId>org.apache.felix</groupId>
-  		<artifactId>org.apache.felix.ipojo</artifactId>
-  		<version>${pom.version}</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.felix</groupId>
-  		<artifactId>org.apache.felix.ipojo.metadata</artifactId>
-  		<version>${pom.version}</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.felix</groupId>
-  		<artifactId>org.apache.felix.ipojo.annotations</artifactId>
-  		<version>${pom.version}</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.apache.felix</groupId>
-  		<artifactId>org.apache.felix.transaction</artifactId>
-  		<version>0.9.0-SNAPSHOT</version>
-  	</dependency>
-  	  	<dependency>
-  		<groupId>org.apache.felix</groupId>
-  		<artifactId>org.apache.felix.ipojo.handler.transaction</artifactId>
-  		<version>${pom.version}</version>
-  	</dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.transaction</artifactId>
+      <version>0.9.0-SNAPSHOT</version>
+    </dependency>
+        <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.transaction</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
   <!--
-		Pax Exam API:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		During runtime Pax Exam will discover the OSGi container to use by
-		searching metadata available into classpath. Pax Exam comes with a
-		default container that uses [Pax Runner] for implementing the
-		container requirements:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-container-default
-		</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<!--
-		If your test code is based on JUnit you will have to have the Junit
-		support artifact:
-	-->
-	<dependency>
-		<groupId>org.ops4j.pax.exam</groupId>
-		<artifactId>pax-exam-junit</artifactId>
-		<version>0.6.0</version>
-	</dependency>
-	<dependency>
-		<groupId>junit</groupId>
-		<artifactId>junit</artifactId>
-		<version>4.5</version>
-		<type>jar</type>
-		<scope>test</scope>
-	</dependency>
+    Pax Exam API:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    During runtime Pax Exam will discover the OSGi container to use by
+    searching metadata available into classpath. Pax Exam comes with a
+    default container that uses [Pax Runner] for implementing the
+    container requirements:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-container-default
+    </artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <!--
+    If your test code is based on JUnit you will have to have the Junit
+    support artifact:
+  -->
+  <dependency>
+    <groupId>org.ops4j.pax.exam</groupId>
+    <artifactId>pax-exam-junit</artifactId>
+    <version>0.6.0</version>
+  </dependency>
+  <dependency>
+    <groupId>junit</groupId>
+    <artifactId>junit</artifactId>
+    <version>4.5</version>
+    <type>jar</type>
+    <scope>test</scope>
+  </dependency>
 
-	<dependency>
-		<groupId>org.ops4j.pax.swissbox</groupId>
-		<artifactId>pax-swissbox-tinybundles</artifactId>
-		<version>1.0.0</version>
-	</dependency>
-	<dependency>
-		<groupId>org.apache.felix</groupId>
-		<artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
-		<version>${pom.version}</version>
-	</dependency>
-	 <dependency>
-			<groupId>xerces</groupId>
-			<artifactId>xercesImpl</artifactId>
-			<version>2.4.0</version>
-		</dependency>
-	 <dependency>
-	 	<groupId>org.ops4j.pax.logging</groupId>
-	 	<artifactId>pax-logging-api</artifactId>
-	 	<version>1.3.0</version>
-	 </dependency>
-	 <dependency>
-	 	<groupId>org.ops4j.pax.logging</groupId>
-	 	<artifactId>pax-logging-service</artifactId>
-	 	<version>1.3.0</version>
-	 </dependency>
+  <dependency>
+    <groupId>org.ops4j.pax.swissbox</groupId>
+    <artifactId>pax-swissbox-tinybundles</artifactId>
+    <version>1.0.0</version>
+  </dependency>
+  <dependency>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
+    <version>${pom.version}</version>
+  </dependency>
+   <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.4.0</version>
+    </dependency>
+   <dependency>
+     <groupId>org.ops4j.pax.logging</groupId>
+     <artifactId>pax-logging-api</artifactId>
+     <version>1.3.0</version>
+   </dependency>
+   <dependency>
+     <groupId>org.ops4j.pax.logging</groupId>
+     <artifactId>pax-logging-service</artifactId>
+     <version>1.3.0</version>
+   </dependency>
 
-	</dependencies>
+  </dependencies>
 
-	<repositories>
-		<repository>
-			<id>ops4j.releases</id>
-			<name>OPS4J Release</name>
-			<url> http://repository.ops4j.org/maven2/</url>
-			<releases>
-				<enabled>true</enabled>
-			</releases>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</repository>
-	</repositories>
+  <repositories>
+    <repository>
+      <id>ops4j.releases</id>
+      <name>OPS4J Release</name>
+      <url> http://repository.ops4j.org/maven2/</url>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
 
-		<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<configuration>
-					<source>1.5</source>
-					<target>1.5</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.servicemix.tooling</groupId>
-				<artifactId>depends-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>generate-depends-file</id>
-						<goals>
-							<goal>generate-depends-file</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			</plugins>
-			</build>
+    <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.servicemix.tooling</groupId>
+        <artifactId>depends-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>generate-depends-file</id>
+            <goals>
+              <goal>generate-depends-file</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      </plugins>
+      </build>
 </project>
diff --git a/ipojo/tests/handler/whiteboard/pom.xml b/ipojo/tests/handler/whiteboard/pom.xml
index 6eb3c9e..ad5bfde 100644
--- a/ipojo/tests/handler/whiteboard/pom.xml
+++ b/ipojo/tests/handler/whiteboard/pom.xml
@@ -1,6 +1,6 @@
 <project>
   <groupId>ipojo.tests</groupId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <modelVersion>4.0.0</modelVersion>
   <packaging>bundle</packaging>
   <name>iPOJO White Board Pattern Handler Test Suite</name>
diff --git a/ipojo/tests/integration-tests/pom.xml b/ipojo/tests/integration-tests/pom.xml
index f9b59a8..0e99360 100644
--- a/ipojo/tests/integration-tests/pom.xml
+++ b/ipojo/tests/integration-tests/pom.xml
@@ -1,293 +1,293 @@
 <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>
-	<groupId>ipojo.tests</groupId>
-	<artifactId>org.apache.felix.ipojo.integration-tests</artifactId>
-	<name>iPOJO Integration Tests</name>
-	<version>1.3.0-SNAPSHOT</version>
-	
-	<properties>
-     <ipojo.version>1.3.0-SNAPSHOT</ipojo.version>
-  	</properties>
-	
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-junit4osgi-plugin 
-				</artifactId>
-				<version>1.1.0-SNAPSHOT</version>
-				<executions>
-					<execution>
-						<goals>
-							<goal>test</goal>
-						</goals>
-						<configuration>
-							<hideOutputs>true</hideOutputs>
-							<configuration>
-							<org.osgi.http.port>8083</org.osgi.http.port>
-							</configuration>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-	<reporting>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-report-plugin 
-				</artifactId>
-				<version>2.4.3</version>
-				<configuration>
-					<showSucess>true</showSucess>
-					<reportsDirectories>
-						<param>target/junit4osgi-reports</param>
-					</reportsDirectories>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>cobertura-maven-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</reporting>
-	
-	<dependencies>
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>ipojo.tests</groupId>
+  <artifactId>org.apache.felix.ipojo.integration-tests</artifactId>
+  <name>iPOJO Integration Tests</name>
+  <version>1.5.0-SNAPSHOT</version>
+  
+  <properties>
+     <ipojo.version>1.5.0-SNAPSHOT</ipojo.version>
+    </properties>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-junit4osgi-plugin 
+        </artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>test</goal>
+            </goals>
+            <configuration>
+              <hideOutputs>true</hideOutputs>
+              <configuration>
+              <org.osgi.http.port>8083</org.osgi.http.port>
+              </configuration>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-report-plugin 
+        </artifactId>
+        <version>2.4.3</version>
+        <configuration>
+          <showSucess>true</showSucess>
+          <reportsDirectories>
+            <param>target/junit4osgi-reports</param>
+          </reportsDirectories>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+  
+  <dependencies>
    <!-- Manipulation -->
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.manipulation.metadata 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.manipulation</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.manipulation.primitives 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.manipulation.creation 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.manipulation.java5 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-  	
-  	<!--  Core -->
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.annotations</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.bad.configurations 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.configuration 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.external.handlers 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.factories</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.lifecycle.callback 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.lifecycle.controller 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.ps</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.lifecycle.controller 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.service.dependency 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.service.dependency.bindingpolicy 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.service.dependency.comparator 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.service.dependency.filter 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency> 
-		<dependency>
-			<artifactId>tests.core.ps.strategy</artifactId>
-			<groupId>ipojo.tests</groupId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.manipulation.metadata 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.manipulation</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.manipulation.primitives 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.manipulation.creation 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.manipulation.java5 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
     
-   		<!-- Composite -->
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.composite </artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.composite.service.import-export 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.composite.service.instance 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.composite.service.providing 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
+    <!--  Core -->
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.annotations</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.bad.configurations 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.configuration 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.external.handlers 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.factories</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.lifecycle.callback 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.lifecycle.controller 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.ps</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.lifecycle.controller 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.service.dependency 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.service.dependency.bindingpolicy 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.service.dependency.comparator 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.service.dependency.filter 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency> 
+    <dependency>
+      <artifactId>tests.core.ps.strategy</artifactId>
+      <groupId>ipojo.tests</groupId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    
+    
+       <!-- Composite -->
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.composite </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.composite.service.import-export 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.composite.service.instance 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.composite.service.providing 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
 
-	<!--  External handlers -->
-	
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.eventadmin.handler 
-			</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.temporal </artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.whiteboard </artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-	<!--  Utility bundles -->
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.configadmin</artifactId>
-			<version>1.0.10</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.handler.whiteboard</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.handler.temporal</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.handler.eventadmin</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.eventadmin</artifactId>
-			<version>1.0.0</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>org.apache.felix.ipojo.composite</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-	
-	<profiles>
-		<profile>
-		<id>configadmin</id>
-		<dependencies>
-		<dependency>
-			<groupId>ipojo.tests</groupId>
-			<artifactId>tests.core.configadmin</artifactId>
-			<version>${ipojo.version}</version>
-			<scope>test</scope>
-		</dependency>
-		</dependencies>
-		</profile>
-	</profiles>
-</project>
\ No newline at end of file
+  <!--  External handlers -->
+  
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.eventadmin.handler 
+      </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.temporal </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.whiteboard </artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+  <!--  Utility bundles -->
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.configadmin</artifactId>
+      <version>1.0.10</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.whiteboard</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.temporal</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.handler.eventadmin</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.eventadmin</artifactId>
+      <version>1.0.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.composite</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  
+  <profiles>
+    <profile>
+    <id>configadmin</id>
+    <dependencies>
+    <dependency>
+      <groupId>ipojo.tests</groupId>
+      <artifactId>tests.core.configadmin</artifactId>
+      <version>${ipojo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    </dependencies>
+    </profile>
+  </profiles>
+</project>
diff --git a/ipojo/tests/manipulator/creation/pom.xml b/ipojo/tests/manipulator/creation/pom.xml
index 263f171..f67eec5 100644
--- a/ipojo/tests/manipulator/creation/pom.xml
+++ b/ipojo/tests/manipulator/creation/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Creation Manipulation Test Suite</name>
 	<artifactId>tests.manipulation.creation</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/manipulator/manipulation/pom.xml b/ipojo/tests/manipulator/manipulation/pom.xml
index 40f92ec..1fd6648 100644
--- a/ipojo/tests/manipulator/manipulation/pom.xml
+++ b/ipojo/tests/manipulator/manipulation/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Manipulation Test Suite</name>
 	<artifactId>tests.manipulation</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/manipulator/manipulator-java5/pom.xml b/ipojo/tests/manipulator/manipulator-java5/pom.xml
index c2a8f45..dfb5ada 100644
--- a/ipojo/tests/manipulator/manipulator-java5/pom.xml
+++ b/ipojo/tests/manipulator/manipulator-java5/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Manipulation Test Suite For Java 5</name>
 	<artifactId>tests.manipulation.java5</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/manipulator/metadata/pom.xml b/ipojo/tests/manipulator/metadata/pom.xml
index ef1e5a2..f0c3289 100644
--- a/ipojo/tests/manipulator/metadata/pom.xml
+++ b/ipojo/tests/manipulator/metadata/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Manipulation Metadata Test Suite</name>
 	<artifactId>tests.manipulation.metadata</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/manipulator/primitives/pom.xml b/ipojo/tests/manipulator/primitives/pom.xml
index b20af18..ba9df90 100644
--- a/ipojo/tests/manipulator/primitives/pom.xml
+++ b/ipojo/tests/manipulator/primitives/pom.xml
@@ -22,7 +22,7 @@
 	<name>iPOJO Primitive Manipulation Test Suite</name>
 	<artifactId>tests.manipulation.primitives</artifactId>
 	<groupId>ipojo.tests</groupId>
-	<version>1.3.0-SNAPSHOT</version>
+	<version>1.5.0-SNAPSHOT</version>
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
diff --git a/ipojo/tests/online-manipulator/pom.xml b/ipojo/tests/online-manipulator/pom.xml
index 3303d1f..a76c456 100644
--- a/ipojo/tests/online-manipulator/pom.xml
+++ b/ipojo/tests/online-manipulator/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.felix</groupId>
   <artifactId>org.apache.felix.ipojo.online.manipulator.test</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>Online Manipulator Test</name>
   <packaging>jar</packaging>
     <build>
diff --git a/ipojo/tests/pom.xml b/ipojo/tests/pom.xml
index bd9e0bf..b4a24db 100644
--- a/ipojo/tests/pom.xml
+++ b/ipojo/tests/pom.xml
@@ -20,15 +20,15 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>ipojo.tests</groupId>
   <artifactId>ipojo.tests</artifactId>
-  <version>1.3.0-SNAPSHOT</version>
+  <version>1.5.0-SNAPSHOT</version>
   <name>Apache Felix iPOJO Tests</name>
   <packaging>pom</packaging>
   
   <modules>
-    <module>manipulator/manipulation</module>
-    <module>manipulator/metadata</module>
-    <module>manipulator/primitives</module>
-    <module>manipulator/creation</module>
+  <module>manipulator/manipulation</module>
+  <module>manipulator/metadata</module>
+  <module>manipulator/primitives</module>
+  <module>manipulator/creation</module>
   <module>core/factories</module>
   <module>core/lifecycle-controller</module>
   <module>core/service-providing</module>
@@ -52,41 +52,43 @@
   <module>core/configadmin</module>
   <module>api</module>
   <module>online-manipulator</module>
-   </modules>
-   
-   <profiles>
-  <profile>
-    <id>java5</id>
-    <activation>
-      <jdk>1.5</jdk>
-    </activation>
-    <modules>
-      <module>bundleAsiPOJO</module>
-      <module>core/annotations</module>
-      <module>manipulator/manipulator-java5</module>
-      <module>handler/transaction</module>
-    </modules>
-  </profile>
-  <profile>
-    <id>java6</id>
-    <activation>
-      <jdk>1.6</jdk>
-    </activation>
-    <modules>
-      <module>bundleAsiPOJO</module>
-      <module>core/annotations</module>
-      <module>manipulator/manipulator-java5</module>
-      <module>handler/transaction</module>
-    </modules>
-  </profile>
-  
-  <profile>
-    <id>integration-tests</id>
-    <modules>
-      <module>integration-tests</module>
-    </modules>
-  </profile>
-  
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>java5</id>
+      <activation>
+        <jdk>1.5</jdk>
+      </activation>
+      <modules>
+        <module>bundleAsiPOJO</module>
+        <module>core/annotations</module>
+        <module>manipulator/manipulator-java5
+        </module>
+        <module>handler/transaction</module>
+      </modules>
+    </profile>
+    <profile>
+      <id>java6</id>
+      <activation>
+        <jdk>1.6</jdk>
+      </activation>
+      <modules>
+        <module>bundleAsiPOJO</module>
+        <module>core/annotations</module>
+        <module>manipulator/manipulator-java5
+        </module>
+        <module>handler/transaction</module>
+      </modules>
+    </profile>
+
+    <profile>
+      <id>integration-tests</id>
+      <modules>
+        <module>integration-tests</module>
+      </modules>
+    </profile>
+
   </profiles>
   
 </project>
