diff --git a/assembly/jsf12/pom.xml b/assembly/jsf12/pom.xml
index 55c4416..7c62d94 100644
--- a/assembly/jsf12/pom.xml
+++ b/assembly/jsf12/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-assembly-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <build>
diff --git a/assembly/jsf20/pom.xml b/assembly/jsf20/pom.xml
index 8a0e759..8726e15 100644
--- a/assembly/jsf20/pom.xml
+++ b/assembly/jsf20/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-assembly-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <build>
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 9ccf19e..099d8e8 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
     
     <modules>
diff --git a/component-support-modules/pom.xml b/component-support-modules/pom.xml
index c84bb4f..ba66b17 100644
--- a/component-support-modules/pom.xml
+++ b/component-support-modules/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>component-support-modules-project</artifactId>
 
     <name>MyFaces Extensions-CDI Component-Support-Modules</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/component-support-modules/trinidad-support/pom.xml b/component-support-modules/trinidad-support/pom.xml
index ce7d108..76ac3ee 100644
--- a/component-support-modules/trinidad-support/pom.xml
+++ b/component-support-modules/trinidad-support/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>myfaces-extcdi-trinidad12-support</artifactId>
 
     <name>MyFaces Extensions-CDI Trinidad Support Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules.component-support</groupId>
         <artifactId>component-support-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/core/api/pom.xml b/core/api/pom.xml
index a77cb1a..fcddc92 100644
--- a/core/api/pom.xml
+++ b/core/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
         <artifactId>core-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <build>
diff --git a/core/impl/pom.xml b/core/impl/pom.xml
index e2d0013..601e4c6 100644
--- a/core/impl/pom.xml
+++ b/core/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
         <artifactId>core-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/core/pom.xml b/core/pom.xml
index 4817332..66b0d1e 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -24,14 +24,14 @@
 
     <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
     <artifactId>core-project</artifactId>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <name>MyFaces Extensions-CDI Core</name>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/dist/jsf12/pom.xml b/dist/jsf12/pom.xml
index 4aa7cdb..0cb30de 100644
--- a/dist/jsf12/pom.xml
+++ b/dist/jsf12/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>myfaces-extcdi-dist-jsf12</artifactId>
 
     <name>MyFaces Extensions-CDI Distribution for JSF 1.2</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>dist-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
     
     <dependencies>
diff --git a/dist/jsf20/pom.xml b/dist/jsf20/pom.xml
index ec11c21..9076894 100644
--- a/dist/jsf20/pom.xml
+++ b/dist/jsf20/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>myfaces-extcdi-dist-jsf20</artifactId>
 
     <name>MyFaces Extensions-CDI Distribution for JSF 2.0</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>dist-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
     
     <dependencies>
diff --git a/dist/pom.xml b/dist/pom.xml
index 516fabc..c497842 100644
--- a/dist/pom.xml
+++ b/dist/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>dist-project</artifactId>
 
     <name>MyFaces Extensions-CDI Distribution Project</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/examples/jsf-examples/hello_myfaces-codi_jsf20/pom.xml b/examples/jsf-examples/hello_myfaces-codi_jsf20/pom.xml
index a689e84..8bc24da 100644
--- a/examples/jsf-examples/hello_myfaces-codi_jsf20/pom.xml
+++ b/examples/jsf-examples/hello_myfaces-codi_jsf20/pom.xml
@@ -1,486 +1,484 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" 
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>war</packaging>
-
-    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-    <artifactId>hello-myfaces-codi-jsf20-example</artifactId>
-    
-    <name>MyFaces Extensions-CDI Hello-CODI for JSF 2.0 Example</name>
-    <version>0.9.3-SNAPSHOT</version>
-    
-    <parent>
-        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-        <artifactId>jsf-examples-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
-    </parent>
-
-    <properties>
-        <cargo.context>cargo-test</cargo.context>
-        <cargo.port>8787</cargo.port> <!-- use port 8787 in order to prevent port-already-in-use on hudson -->
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
-            <artifactId>myfaces-extcdi-core-api</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
-            <artifactId>myfaces-extcdi-core-impl</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-            <artifactId>myfaces-extcdi-jsf20-module-api</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-            <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-            <artifactId>myfaces-extcdi-message-module-api</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-            <artifactId>myfaces-extcdi-message-module-impl</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-
-        <!-- alternative to the single modules -->
-        <!--dependency>
-            <groupId>org.apache.myfaces.extensions.cdi</groupId>
-            <artifactId>myfaces-extcdi-dist-jsf20</artifactId>
-            <scope>compile</scope>
-        </dependency-->
-
-        <!-- CDI (OpenWebBeans) -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-atinject_1.0_spec</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jcdi_1.0_spec</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-impl</artifactId>
-            <version>${owb.version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-spi</artifactId>
-            <version>${owb.version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-jsf</artifactId>
-            <version>${owb.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-resource</artifactId>
-            <version>${owb.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-web</artifactId>
-            <version>${owb.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-
-        <!-- required for tomcat -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jta_1.1_spec</artifactId>
-            <version>1.1.1</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-interceptor_1.1_spec</artifactId>
-            <scope>compile</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-validation_1.0_spec</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>dom4j</groupId>
-            <artifactId>dom4j</artifactId>
-            <version>1.6.1</version>
-        </dependency>
-
-        <!-- test dependencies -->
-        <dependency>
-            <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-            <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>
-            <version>0.9.2</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>2.5</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>javax.el</groupId>
-            <artifactId>el-api</artifactId>
-            <version>1.0</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-    
-    <build>
-        <plugins>
-            <plugin>
-                <inherited>true</inherited>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- override settings -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.7.1</version>
-                <configuration>
-                    <parallel>methods</parallel>
-                    <threadCount>10</threadCount>
-                    <properties>
-                        <property>
-                            <name>junit</name>
-                            <value>true</value>
-                        </property>
-                    </properties>
-                    <excludes>
-                        <!-- we only have cargo test cases -->
-                        <exclude>**/*Test*.java</exclude>
-                        <exclude>**/Abstract*.java</exclude>
-                        <exclude>**/*$*.java</exclude>
-                    </excludes>
-                </configuration>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven.surefire</groupId>
-                        <artifactId>surefire-junit47</artifactId>
-                        <version>2.7.1</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-
-        </plugins>
-    </build>
-    
-    <profiles>
-        <profile>
-            <id>myfaces</id>
-            <activation>
-                <property>
-                    <name>!jsf</name>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.apache.myfaces.core</groupId>
-                    <artifactId>myfaces-api</artifactId>
-                    <version>${myfaces2.version.current}</version>
-                    <scope>compile</scope>
-                </dependency>
-                <dependency>
-                    <groupId>org.apache.myfaces.core</groupId>
-                    <artifactId>myfaces-impl</artifactId>
-                    <version>${myfaces2.version.current}</version>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-        
-        <profile>
-            <id>mojarra</id>
-            <activation>
-                <property>
-                    <name>jsf</name>
-                    <value>mojarra</value>
-                </property>
-            </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>com.sun.faces</groupId>
-                    <artifactId>jsf-api</artifactId>
-                    <version>${mojarra2.version}</version>
-                    <scope>compile</scope>
-                </dependency>
-                <dependency>
-                    <groupId>com.sun.faces</groupId>
-                    <artifactId>jsf-impl</artifactId>
-                    <version>${mojarra2.version}</version>
-                    <scope>runtime</scope>
-                </dependency>
-            </dependencies>
-            <repositories>
-                <repository>
-                    <id>maven2-repository.dev.java.net 2</id>
-                    <name>Java.net Repository for Maven 2</name>
-                    <url>http://download.java.net/maven/2</url>
-                </repository>
-            </repositories>
-        </profile>
-
-        <profile>
-            <id>jettyConfig</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <!--This plugin allows to run the example using mvn jetty:run -->
-                        <groupId>org.mortbay.jetty</groupId>
-                        <artifactId>maven-jetty-plugin</artifactId>
-                        <version>6.1.8</version>
-                        <configuration>
-                            <scanIntervalSeconds>10</scanIntervalSeconds>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>cargo-examples</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <!--This plugin allows to run the example using mvn jetty:run -->
-                        <groupId>org.mortbay.jetty</groupId>
-                        <artifactId>jetty-maven-plugin</artifactId>
-                        <version>${maven.jetty.plugin.version}</version>
-                        <configuration>
-                            <scanIntervalSeconds>10</scanIntervalSeconds>
-                            <webAppConfig>
-                                <contextPath>/${cargo.context}</contextPath>
-                            </webAppConfig>
-                            <connectors>
-                                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
-                                    <port>${cargo.port}</port>
-                                    <maxIdleTime>60000</maxIdleTime>
-                                </connector>
-                            </connectors>
-                        </configuration>
-                    </plugin>
-
-                    <!-- cargo test -->
-                    <plugin>
-                        <groupId>org.codehaus.cargo</groupId>
-                        <artifactId>cargo-maven2-plugin</artifactId>
-                        <version>1.0.4</version>
-                        <configuration>
-                            <container>
-                                <containerId>jetty7x</containerId>
-                                <type>embedded</type>
-                            </container>
-
-                            <!-- do NOT wait for Ctrl + C to stop -->
-                            <!-- NOTE: set this to true to enable manual testing -->
-                            <wait>false</wait>
-
-                            <configuration>
-                                <properties>
-                                    <cargo.servlet.port>${cargo.port}</cargo.servlet.port>
-                                </properties>
-
-                                <deployables>
-                                    <deployable>
-                                        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-                                        <artifactId>hello-myfaces-codi-jsf20-example</artifactId>
-                                        <type>war</type>
-                                        <properties>
-                                            <context>${cargo.context}</context>
-                                        </properties>
-                                    </deployable>
-                                </deployables>
-                            </configuration>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <id>start-container</id>
-                                <phase>pre-integration-test</phase>
-                                <goals>
-                                    <goal>start</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>stop-container</id>
-                                <phase>post-integration-test</phase>
-                                <goals>
-                                    <goal>stop</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-
-                    <plugin>
-                       <groupId>org.apache.maven.plugins</groupId>
-                       <artifactId>maven-failsafe-plugin</artifactId>
-                       <version>2.7.2</version>
-                       <executions>
-                           <execution>
-                               <id>htmlunit-integration-tests</id>
-                               <phase>integration-test</phase>
-                               <goals>
-                                   <goal>integration-test</goal>
-                               </goals>
-                               <configuration>
-                                   <includes>
-                                       <include>
-                                           **/*TestCase.java
-                                       </include>
-                                   </includes>
-                                   <skip>false</skip>
-                                   <testNGArtifactName>none:none</testNGArtifactName>
-                                   <systemPropertyVariables>
-                                       <!-- pass properties to JUnit -->
-                                       <cargo.context>${cargo.context}</cargo.context>
-                                       <cargo.port>${cargo.port}</cargo.port>
-                                   </systemPropertyVariables>
-                               </configuration>
-                           </execution>
-                           <execution>
-                               <id>verify</id>
-                               <goals>
-                                   <goal>verify</goal>
-                               </goals>
-                           </execution>
-                       </executions>
-                    </plugin>
-                </plugins>
-            </build>
-
-            <dependencies>
-                <!-- test dependencies -->
-                <dependency>
-                    <groupId>junit</groupId>
-                    <artifactId>junit</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>net.sourceforge.htmlunit</groupId>
-                    <artifactId>htmlunit</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                    <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.openwebbeans.test</groupId>
-                    <artifactId>cditest</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.openwebbeans.test</groupId>
-                    <artifactId>cditest-owb</artifactId>
-                    <scope>test</scope>
-                </dependency>
-
-                <dependency>
-                    <groupId>org.apache.myfaces.test</groupId>
-                    <artifactId>myfaces-test12</artifactId>
-                    <scope>test</scope>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-		    <!-- just for starting jetty for debugging the junit tests:
-		    mvn clean jetty:run-exploded -Pdebug-cargo-examples -Dmaven.test.skip=true
-		    in the ide enable the cargo-examples and test-infrastructure maven-profile -> start jetty -> run test-case
-		    (tested with intellij 9)
-		    -->
-            <id>debug-cargo-examples</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.mortbay.jetty</groupId>
-                        <artifactId>jetty-maven-plugin</artifactId>
-                        <version>${maven.jetty.plugin.version}</version>
-                        <configuration>
-                            <scanIntervalSeconds>10</scanIntervalSeconds>
-                            <webAppConfig>
-                                <contextPath>/${cargo.context}</contextPath>
-                            </webAppConfig>
-                            <connectors>
-                                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
-                                    <port>${cargo.port}</port>
-                                    <maxIdleTime>60000</maxIdleTime>
-                                </connector>
-                            </connectors>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-    
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>war</packaging>
+
+    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+    <artifactId>hello-myfaces-codi-jsf20-example</artifactId>
+    
+    <name>MyFaces Extensions-CDI Hello-CODI for JSF 2.0 Example</name>
+    <version>0.9.3</version>
+    
+    <parent>
+        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+        <artifactId>jsf-examples-project</artifactId>
+        <version>0.9.3</version>
+    </parent>
+
+    <properties>
+        <cargo.context>cargo-test</cargo.context>
+        <cargo.port>8787</cargo.port> <!-- use port 8787 in order to prevent port-already-in-use on hudson -->
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
+            <artifactId>myfaces-extcdi-core-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
+            <artifactId>myfaces-extcdi-core-impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
+            <artifactId>myfaces-extcdi-jsf20-module-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
+            <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
+            <artifactId>myfaces-extcdi-message-module-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
+            <artifactId>myfaces-extcdi-message-module-impl</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- alternative to the single modules -->
+        <!--dependency>
+            <groupId>org.apache.myfaces.extensions.cdi</groupId>
+            <artifactId>myfaces-extcdi-dist-jsf20</artifactId>
+            <scope>compile</scope>
+        </dependency-->
+
+        <!-- CDI (OpenWebBeans) -->
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-atinject_1.0_spec</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jcdi_1.0_spec</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-impl</artifactId>
+            <version>${owb.version}</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-spi</artifactId>
+            <version>${owb.version}</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-jsf</artifactId>
+            <version>${owb.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-resource</artifactId>
+            <version>${owb.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.openwebbeans</groupId>
+            <artifactId>openwebbeans-web</artifactId>
+            <version>${owb.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- required for tomcat -->
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-jta_1.1_spec</artifactId>
+            <version>1.1.1</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-interceptor_1.1_spec</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-validation_1.0_spec</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>dom4j</groupId>
+            <artifactId>dom4j</artifactId>
+            <version>1.6.1</version>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
+            <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>
+            <version>0.9.2</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <version>2.5</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.el</groupId>
+            <artifactId>el-api</artifactId>
+            <version>1.0</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <inherited>true</inherited>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <!-- override settings -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.7.1</version>
+                <configuration>
+                    <parallel>methods</parallel>
+                    <threadCount>10</threadCount>
+                    <properties>
+                        <property>
+                            <name>junit</name>
+                            <value>true</value>
+                        </property>
+                    </properties>
+                    <excludes>
+                        <!-- we only have cargo test cases -->
+                        <exclude>**/*Test*.java</exclude>
+                        <exclude>**/Abstract*.java</exclude>
+                        <exclude>**/*$*.java</exclude>
+                    </excludes>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.maven.surefire</groupId>
+                        <artifactId>surefire-junit47</artifactId>
+                        <version>2.7.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>myfaces</id>
+            <activation>
+                <property>
+                    <name>!jsf</name>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>org.apache.myfaces.core</groupId>
+                    <artifactId>myfaces-api</artifactId>
+                    <version>${myfaces2.version.current}</version>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.apache.myfaces.core</groupId>
+                    <artifactId>myfaces-impl</artifactId>
+                    <version>${myfaces2.version.current}</version>
+                    <scope>runtime</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+        
+        <profile>
+            <id>mojarra</id>
+            <activation>
+                <property>
+                    <name>jsf</name>
+                    <value>mojarra</value>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>com.sun.faces</groupId>
+                    <artifactId>jsf-api</artifactId>
+                    <version>${mojarra2.version}</version>
+                    <scope>compile</scope>
+                </dependency>
+                <dependency>
+                    <groupId>com.sun.faces</groupId>
+                    <artifactId>jsf-impl</artifactId>
+                    <version>${mojarra2.version}</version>
+                    <scope>runtime</scope>
+                </dependency>
+            </dependencies>
+            <repositories>
+                <repository>
+                    <id>maven2-repository.dev.java.net 2</id>
+                    <name>Java.net Repository for Maven 2</name>
+                    <url>http://download.java.net/maven/2</url>
+                </repository>
+            </repositories>
+        </profile>
+
+        <profile>
+            <id>jettyConfig</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <!--This plugin allows to run the example using mvn jetty:run -->
+                        <groupId>org.mortbay.jetty</groupId>
+                        <artifactId>maven-jetty-plugin</artifactId>
+                        <version>6.1.8</version>
+                        <configuration>
+                            <scanIntervalSeconds>10</scanIntervalSeconds>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>cargo-examples</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <!--This plugin allows to run the example using mvn jetty:run -->
+                        <groupId>org.mortbay.jetty</groupId>
+                        <artifactId>jetty-maven-plugin</artifactId>
+                        <version>${maven.jetty.plugin.version}</version>
+                        <configuration>
+                            <scanIntervalSeconds>10</scanIntervalSeconds>
+                            <webAppConfig>
+                                <contextPath>/${cargo.context}</contextPath>
+                            </webAppConfig>
+                            <connectors>
+                                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+                                    <port>${cargo.port}</port>
+                                    <maxIdleTime>60000</maxIdleTime>
+                                </connector>
+                            </connectors>
+                        </configuration>
+                    </plugin>
+
+                    <!-- cargo test -->
+                    <plugin>
+                        <groupId>org.codehaus.cargo</groupId>
+                        <artifactId>cargo-maven2-plugin</artifactId>
+                        <version>1.0.4</version>
+                        <configuration>
+                            <container>
+                                <containerId>jetty7x</containerId>
+                                <type>embedded</type>
+                            </container>
+
+                            <!-- do NOT wait for Ctrl + C to stop -->
+                            <!-- NOTE: set this to true to enable manual testing -->
+                            <wait>false</wait>
+
+                            <configuration>
+                                <properties>
+                                    <cargo.servlet.port>${cargo.port}</cargo.servlet.port>
+                                </properties>
+
+                                <deployables>
+                                    <deployable>
+                                        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+                                        <artifactId>hello-myfaces-codi-jsf20-example</artifactId>
+                                        <type>war</type>
+                                        <properties>
+                                            <context>${cargo.context}</context>
+                                        </properties>
+                                    </deployable>
+                                </deployables>
+                            </configuration>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <id>start-container</id>
+                                <phase>pre-integration-test</phase>
+                                <goals>
+                                    <goal>start</goal>
+                                </goals>
+                            </execution>
+                            <execution>
+                                <id>stop-container</id>
+                                <phase>post-integration-test</phase>
+                                <goals>
+                                    <goal>stop</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                    <plugin>
+                       <groupId>org.apache.maven.plugins</groupId>
+                       <artifactId>maven-failsafe-plugin</artifactId>
+                       <version>2.7.2</version>
+                       <executions>
+                           <execution>
+                               <id>htmlunit-integration-tests</id>
+                               <phase>integration-test</phase>
+                               <goals>
+                                   <goal>integration-test</goal>
+                               </goals>
+                               <configuration>
+                                   <includes>
+                                       <include>
+                                           **/*TestCase.java
+                                       </include>
+                                   </includes>
+                                   <skip>false</skip>
+                                   <testNGArtifactName>none:none</testNGArtifactName>
+                                   <systemPropertyVariables>
+                                       <!-- pass properties to JUnit -->
+                                       <cargo.context>${cargo.context}</cargo.context>
+                                       <cargo.port>${cargo.port}</cargo.port>
+                                   </systemPropertyVariables>
+                               </configuration>
+                           </execution>
+                           <execution>
+                               <id>verify</id>
+                               <goals>
+                                   <goal>verify</goal>
+                               </goals>
+                           </execution>
+                       </executions>
+                    </plugin>
+                </plugins>
+            </build>
+
+            <dependencies>
+                <!-- test dependencies -->
+                <dependency>
+                    <groupId>junit</groupId>
+                    <artifactId>junit</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>net.sourceforge.htmlunit</groupId>
+                    <artifactId>htmlunit</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
+                    <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.openwebbeans.test</groupId>
+                    <artifactId>cditest</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.openwebbeans.test</groupId>
+                    <artifactId>cditest-owb</artifactId>
+                    <scope>test</scope>
+                </dependency>
+
+                <dependency>
+                    <groupId>org.apache.myfaces.test</groupId>
+                    <artifactId>myfaces-test12</artifactId>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+        </profile>
+
+        <profile>
+		    <!-- just for starting jetty for debugging the junit tests:
+		    mvn clean jetty:run-exploded -Pdebug-cargo-examples -Dmaven.test.skip=true
+		    in the ide enable the cargo-examples and test-infrastructure maven-profile -> start jetty -> run test-case
+		    (tested with intellij 9)
+		    -->
+            <id>debug-cargo-examples</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.mortbay.jetty</groupId>
+                        <artifactId>jetty-maven-plugin</artifactId>
+                        <version>${maven.jetty.plugin.version}</version>
+                        <configuration>
+                            <scanIntervalSeconds>10</scanIntervalSeconds>
+                            <webAppConfig>
+                                <contextPath>/${cargo.context}</contextPath>
+                            </webAppConfig>
+                            <connectors>
+                                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
+                                    <port>${cargo.port}</port>
+                                    <maxIdleTime>60000</maxIdleTime>
+                                </connector>
+                            </connectors>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    
+</project>
diff --git a/examples/jsf-examples/pom.xml b/examples/jsf-examples/pom.xml
index 01783b6..69ed8f4 100644
--- a/examples/jsf-examples/pom.xml
+++ b/examples/jsf-examples/pom.xml
@@ -1,69 +1,67 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-<project 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>
-
-    <packaging>pom</packaging>
-
-    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-    <artifactId>jsf-examples-project</artifactId>
-
-    <name>MyFaces Extensions-CDI JSF-Examples Project</name>
-    <version>0.9.3-SNAPSHOT</version>
-
-    <parent>
-        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-        <artifactId>examples-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
-    </parent>
-
-    <modules>
-        <module>hello_myfaces-codi_jsf20</module>
-    </modules>
-
-    <profiles>
-        <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
-            run successfully on the assembly projects. -->
-        <profile>
-            <id>prepare-release</id>
-            <activation>
-                <property>
-                    <name>prepareRelease</name>
-                </property>
-            </activation>
-            <modules>
-                <module>assembly</module>
-            </modules>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-release-plugin</artifactId>
-                        <configuration>
-                            <arguments>-DprepareRelease</arguments>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project 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>
+
+    <packaging>pom</packaging>
+
+    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+    <artifactId>jsf-examples-project</artifactId>
+
+    <name>MyFaces Extensions-CDI JSF-Examples Project</name>
+    <version>0.9.3</version>
+
+    <parent>
+        <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+        <artifactId>examples-project</artifactId>
+        <version>0.9.3</version>
+    </parent>
+
+    <modules>
+        <module>hello_myfaces-codi_jsf20</module>
+    </modules>
+
+    <profiles>
+        <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
+            run successfully on the assembly projects. -->
+        <profile>
+            <id>prepare-release</id>
+            <activation>
+                <property>
+                    <name>prepareRelease</name>
+                </property>
+            </activation>
+            <modules>
+                <module>assembly</module>
+            </modules>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-release-plugin</artifactId>
+                        <configuration>
+                            <arguments>-DprepareRelease</arguments>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/examples/pom.xml b/examples/pom.xml
index 730dcb4..9348933 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -1,76 +1,74 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-<project 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>
-
-    <packaging>pom</packaging>
-
-    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
-    <artifactId>examples-project</artifactId>
-
-    <name>MyFaces Extensions-CDI Examples Project</name>
-    <version>0.9.3-SNAPSHOT</version>
-
-    <parent>
-        <groupId>org.apache.myfaces.extensions.cdi</groupId>
-        <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
-    </parent>
-
-    <modules>
-        <module>jsf-examples</module>
-    </modules>
-
-    <profiles>
-        <profile>
-            <id>playground</id>
-            <modules>
-                <module>jsf-playground</module>
-            </modules>
-        </profile>
-        
-        <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
-            run successfully on the assembly projects. -->
-        <profile>
-            <id>prepare-release</id>
-            <activation>
-                <property>
-                    <name>prepareRelease</name>
-                </property>
-            </activation>
-            <modules>
-                <module>assembly</module>
-            </modules>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-release-plugin</artifactId>
-                        <configuration>
-                            <arguments>-DprepareRelease</arguments>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project 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>
+
+    <packaging>pom</packaging>
+
+    <groupId>org.apache.myfaces.extensions.cdi.examples</groupId>
+    <artifactId>examples-project</artifactId>
+
+    <name>MyFaces Extensions-CDI Examples Project</name>
+    <version>0.9.3</version>
+
+    <parent>
+        <groupId>org.apache.myfaces.extensions.cdi</groupId>
+        <artifactId>myfaces-extcdi-parent</artifactId>
+        <version>0.9.3</version>
+    </parent>
+
+    <modules>
+        <module>jsf-examples</module>
+    </modules>
+
+    <profiles>
+        <profile>
+            <id>playground</id>
+            <modules>
+                <module>jsf-playground</module>
+            </modules>
+        </profile>
+        
+        <!-- This profile is invoked by -DprepareRelease=true.  This allows mvn release:prepare to
+            run successfully on the assembly projects. -->
+        <profile>
+            <id>prepare-release</id>
+            <activation>
+                <property>
+                    <name>prepareRelease</name>
+                </property>
+            </activation>
+            <modules>
+                <module>assembly</module>
+            </modules>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-release-plugin</artifactId>
+                        <configuration>
+                            <arguments>-DprepareRelease</arguments>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/jee-modules/bv-module/api/pom.xml b/jee-modules/bv-module/api/pom.xml
index 193fad9..39972f2 100644
--- a/jee-modules/bv-module/api/pom.xml
+++ b/jee-modules/bv-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>bv1-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/bv-module/impl/pom.xml b/jee-modules/bv-module/impl/pom.xml
index 75f28a0..45b8303 100644
--- a/jee-modules/bv-module/impl/pom.xml
+++ b/jee-modules/bv-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>bv1-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/bv-module/pom.xml b/jee-modules/bv-module/pom.xml
index 00744fc..125881e 100644
--- a/jee-modules/bv-module/pom.xml
+++ b/jee-modules/bv-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>bv1-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI BV 1.0 Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jee-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jee-modules/jpa-module/api/pom.xml b/jee-modules/jpa-module/api/pom.xml
index 0a930ea..1ed5ded 100644
--- a/jee-modules/jpa-module/api/pom.xml
+++ b/jee-modules/jpa-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jpa1-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jpa-module/impl/pom.xml b/jee-modules/jpa-module/impl/pom.xml
index 211a558..d9cd05f 100644
--- a/jee-modules/jpa-module/impl/pom.xml
+++ b/jee-modules/jpa-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jpa1-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jpa-module/pom.xml b/jee-modules/jpa-module/pom.xml
index 5eacfe1..e67c246 100644
--- a/jee-modules/jpa-module/pom.xml
+++ b/jee-modules/jpa-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>jpa1-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI JPA 1.0 Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jee-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jee-modules/jsf-module/api/pom.xml b/jee-modules/jsf-module/api/pom.xml
index 8dc4267..2dedbfa 100644
--- a/jee-modules/jsf-module/api/pom.xml
+++ b/jee-modules/jsf-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jsf12-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jsf-module/impl/pom.xml b/jee-modules/jsf-module/impl/pom.xml
index 9cc3df1..c1ee1bf 100644
--- a/jee-modules/jsf-module/impl/pom.xml
+++ b/jee-modules/jsf-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jsf12-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jsf-module/pom.xml b/jee-modules/jsf-module/pom.xml
index b1aba97..35ec1cd 100644
--- a/jee-modules/jsf-module/pom.xml
+++ b/jee-modules/jsf-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>jsf12-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI JSF 1.2 Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jee-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jee-modules/jsf20-module/api/pom.xml b/jee-modules/jsf20-module/api/pom.xml
index c01e62c..bf12fd4 100644
--- a/jee-modules/jsf20-module/api/pom.xml
+++ b/jee-modules/jsf20-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jsf20-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jsf20-module/impl/pom.xml b/jee-modules/jsf20-module/impl/pom.xml
index 1cf8c5e..cc315d4 100644
--- a/jee-modules/jsf20-module/impl/pom.xml
+++ b/jee-modules/jsf20-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jsf20-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jee-modules/jsf20-module/pom.xml b/jee-modules/jsf20-module/pom.xml
index 0865d33..8df107b 100644
--- a/jee-modules/jsf20-module/pom.xml
+++ b/jee-modules/jsf20-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>jsf20-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI JSF 2.0 Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jee-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jee-modules/pom.xml b/jee-modules/pom.xml
index a683d42..9fbe561 100644
--- a/jee-modules/pom.xml
+++ b/jee-modules/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>jee-modules-project</artifactId>
 
     <name>MyFaces Extensions-CDI Java-EE-Modules</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jse-modules/message-module/api/pom.xml b/jse-modules/message-module/api/pom.xml
index ae35999..93cedf4 100644
--- a/jse-modules/message-module/api/pom.xml
+++ b/jse-modules/message-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>message-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <build>
diff --git a/jse-modules/message-module/impl/pom.xml b/jse-modules/message-module/impl/pom.xml
index da88d19..1e6eef1 100644
--- a/jse-modules/message-module/impl/pom.xml
+++ b/jse-modules/message-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>message-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jse-modules/message-module/pom.xml b/jse-modules/message-module/pom.xml
index 52ba99d..7463ba3 100644
--- a/jse-modules/message-module/pom.xml
+++ b/jse-modules/message-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>message-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI I18N-Message 1.0 Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jse-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jse-modules/pom.xml b/jse-modules/pom.xml
index 91a6984..5906d3a 100644
--- a/jse-modules/pom.xml
+++ b/jse-modules/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>jse-modules-project</artifactId>
 
     <name>MyFaces Extensions-CDI Java-SE-Modules</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/jse-modules/scripting-module/api/pom.xml b/jse-modules/scripting-module/api/pom.xml
index 4031750..37ae82b 100644
--- a/jse-modules/scripting-module/api/pom.xml
+++ b/jse-modules/scripting-module/api/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>scripting-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <build>
diff --git a/jse-modules/scripting-module/impl/pom.xml b/jse-modules/scripting-module/impl/pom.xml
index 967151b..9c7d0fd 100644
--- a/jse-modules/scripting-module/impl/pom.xml
+++ b/jse-modules/scripting-module/impl/pom.xml
@@ -29,7 +29,7 @@
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>scripting-module-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/jse-modules/scripting-module/pom.xml b/jse-modules/scripting-module/pom.xml
index 0083fd7..f89519b 100644
--- a/jse-modules/scripting-module/pom.xml
+++ b/jse-modules/scripting-module/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>scripting-module-project</artifactId>
 
     <name>MyFaces Extensions-CDI Scripting Module</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
         <artifactId>jse-modules-project</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <modules>
diff --git a/maven-utils/pom.xml b/maven-utils/pom.xml
index 473e51b..530b711 100644
--- a/maven-utils/pom.xml
+++ b/maven-utils/pom.xml
@@ -26,12 +26,12 @@
     <artifactId>myfaces-extcdi-maven-utils</artifactId>
 
     <name>MyFaces Extensions-CDI Maven Utils</name>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <dependencies>
diff --git a/pom.xml b/pom.xml
index 67e1238..48ccad6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,15 +28,15 @@
 
     <groupId>org.apache.myfaces.extensions.cdi</groupId>
     <artifactId>myfaces-extcdi-parent</artifactId>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
     <packaging>pom</packaging>
     <name>Apache MyFaces CODI</name>
     <url>http://myfaces.apache.org/extensions/cdi/</url>
 
     <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk/</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk/</developerConnection>
-        <url>http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/</url>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/cdi/tags/extcdi-0.9.3</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/cdi/tags/extcdi-0.9.3</developerConnection>
+        <url>http://svn.apache.org/viewvc/myfaces/extensions/cdi/tags/extcdi-0.9.3</url>
     </scm>
 
     <distributionManagement>
@@ -159,91 +159,91 @@
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
                 <artifactId>myfaces-extcdi-core-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
                 <artifactId>myfaces-extcdi-core-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- the JSF-1.2 specific library -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jsf12-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jsf12-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- the JSF-2.0 specific library, which includes the JSF-1.2 parts -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jsf20-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- the BV-1.0 specific library -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-bv1-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-bv1-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- CODI JPA-1.0 Module -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jpa1-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-jpa1-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- CODI-I18N Message Module -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-message-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-message-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- CODI-Scripting Module -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-scripting-module-api</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
                 <artifactId>myfaces-extcdi-scripting-module-impl</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- CODI-Component Support Modules -->
             <dependency>
                 <groupId>org.apache.myfaces.extensions.cdi.modules.component-support</groupId>
                 <artifactId>myfaces-extcdi-trinidad12-support</artifactId>
-                <version>0.9.3-SNAPSHOT</version>
+                <version>0.9.3</version>
             </dependency>
 
             <!-- Base test infrastructure modules -->
diff --git a/test-modules/pom.xml b/test-modules/pom.xml
index 1794d9b..7329a3a 100644
--- a/test-modules/pom.xml
+++ b/test-modules/pom.xml
@@ -24,14 +24,14 @@
 
     <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
     <artifactId>myfaces-extcdi-test-project</artifactId>
-    <version>0.9.3-SNAPSHOT</version>
+    <version>0.9.3</version>
 
     <name>MyFaces Extensions-CDI Test-Project</name>
 
     <parent>
         <groupId>org.apache.myfaces.extensions.cdi</groupId>
         <artifactId>myfaces-extcdi-parent</artifactId>
-        <version>0.9.3-SNAPSHOT</version>
+        <version>0.9.3</version>
     </parent>
 
     <profiles>
