diff --git a/ipojo/junit4osgi/swing-runner/pom.xml b/ipojo/junit4osgi/swing-runner/pom.xml
index 409fd71..d0a045a 100644
--- a/ipojo/junit4osgi/swing-runner/pom.xml
+++ b/ipojo/junit4osgi/swing-runner/pom.xml
@@ -1,111 +1,117 @@
-<!--
-	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>
-	<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.0.0</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.2.0</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>
+<!--
+	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.0.0</version>
+	<dependencies>
+		<dependency>
+			<groupId>${pom.groupId}</groupId>
+			<artifactId>org.apache.felix.ipojo.junit4osgi</artifactId>
+			<version>1.0.0</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.2.0</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>
+
+  <scm>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.ipojo.junit4osgi.swing-gui-1.0.0</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.ipojo.junit4osgi.swing-gui-1.0.0</developerConnection>
+    <url>scm:svn:https://svn.apache.org/repos/asf/felix/releases/org.apache.felix.ipojo.junit4osgi.swing-gui-1.0.0</url>
+  </scm>
+</project>
