EXTCDI-237 java-ee5 support modules for owb and weld

git-svn-id: https://svn.apache.org/repos/asf/myfaces/extensions/cdi/trunk@1225970 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/jee5-support-modules/openwebbeans-support/pom.xml b/jee5-support-modules/openwebbeans-support/pom.xml
new file mode 100644
index 0000000..695a51e
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/pom.xml
@@ -0,0 +1,73 @@
+<?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>

+

+    <parent>

+        <groupId>org.apache.myfaces.extensions.cdi.modules.jee5-support</groupId>

+        <artifactId>jee5-support-modules-project</artifactId>

+        <version>1.0.3-SNAPSHOT</version>

+    </parent>

+

+    <groupId>org.apache.myfaces.extensions.cdi.modules.jee5-support</groupId>

+    <artifactId>myfaces-extcdi-jee5-openwebbeans-support</artifactId>

+    <version>1.0.3-SNAPSHOT</version>

+

+    <name>MyFaces Extensions-CDI OpenWebBeans Support Module</name>

+

+    <dependencies>

+        <dependency>

+            <groupId>org.apache.openwebbeans</groupId>

+            <artifactId>openwebbeans-web</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.openwebbeans</groupId>

+            <artifactId>openwebbeans-spi</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+            <artifactId>myfaces-extcdi-core-api</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+            <artifactId>myfaces-extcdi-core-impl</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.myfaces.core</groupId>

+            <artifactId>myfaces-api</artifactId>

+            <version>${myfaces1.version}</version>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-servlet_2.5_spec</artifactId>

+            <scope>provided</scope>

+        </dependency>

+    </dependencies>

+</project>

diff --git a/jee5-support-modules/openwebbeans-support/src/main/java/org/apache/myfaces/extensions/cdi/openwebbeans/startup/OwbAwareConfigurationListener.java b/jee5-support-modules/openwebbeans-support/src/main/java/org/apache/myfaces/extensions/cdi/openwebbeans/startup/OwbAwareConfigurationListener.java
new file mode 100644
index 0000000..8f23445
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/src/main/java/org/apache/myfaces/extensions/cdi/openwebbeans/startup/OwbAwareConfigurationListener.java
@@ -0,0 +1,189 @@
+/*

+ * 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.

+ */

+package org.apache.myfaces.extensions.cdi.openwebbeans.startup;

+

+import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;

+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;

+import org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster;

+import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;

+import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;

+import org.apache.webbeans.servlet.WebBeansConfigurationListener;

+import org.apache.webbeans.spi.ContainerLifecycle;

+

+import javax.faces.context.FacesContext;

+import javax.servlet.ServletContext;

+import javax.servlet.ServletContextEvent;

+import javax.servlet.ServletRequestEvent;

+import javax.servlet.http.HttpSessionEvent;

+import java.util.Map;

+import java.util.concurrent.ConcurrentHashMap;

+import java.util.logging.Logger;

+

+/**

+ * Allows to bootstrap the JavaEE5 + OpenWebBeans environment in a controlled manner.

+ */

+@InvocationOrder(1)

+public class OwbAwareConfigurationListener extends WebBeansConfigurationListener

+        implements StartupEventBroadcaster, Deactivatable

+{

+    protected final Logger logger = Logger.getLogger(getClass().getName());

+

+    protected static Map<ClassLoader, Boolean> initialized

+            = new ConcurrentHashMap<ClassLoader, Boolean>();

+

+    protected static Map<ClassLoader, ContainerLifecycle> storedContainerLifecycle

+            = new ConcurrentHashMap<ClassLoader, ContainerLifecycle>();

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void contextInitialized(ServletContextEvent event)

+    {

+        if (!isInitialized())

+        {

+            this.logger.info("Controlled OpenWebBeans bootstrapping.");

+

+            super.contextInitialized(event);

+

+            storeContainerLifecycle();

+

+            markAsInitialized();

+        }

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void requestInitialized(ServletRequestEvent event)

+    {

+        storeContainerLifecycle();

+        super.requestInitialized(event);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void contextDestroyed(ServletContextEvent event)

+    {

+        storeContainerLifecycle();

+        super.contextDestroyed(event);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void requestDestroyed(ServletRequestEvent event)

+    {

+        storeContainerLifecycle();

+        super.requestDestroyed(event);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void sessionCreated(HttpSessionEvent event)

+    {

+        storeContainerLifecycle();

+        super.sessionCreated(event);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void sessionDestroyed(HttpSessionEvent event)

+    {

+        storeContainerLifecycle();

+        super.sessionDestroyed(event);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    public void broadcastStartup()

+    {

+        if(!isActivated())

+        {

+            return;

+        }

+        

+        if (isInitialized())

+        {

+            return;

+        }

+

+        logger.info("Controlled MyFaces ExtCDI bootstrapping.");

+

+        //In this case the JSF impl has been invoked too soon

+

+        FacesContext facesContext = FacesContext.getCurrentInstance();

+

+        if (facesContext != null && facesContext.getExternalContext() != null)

+        {

+            ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext();

+

+            //force bootstrapping of OWB

+            contextInitialized(new ServletContextEvent(servletContext));

+        }

+        markAsInitialized();

+    }

+

+    protected void markAsInitialized()

+    {

+        initialized.put(getClassLoader(), Boolean.TRUE);

+    }

+

+    protected boolean isInitialized()

+    {

+        ClassLoader classLoader = getClassLoader();

+

+        return Boolean.TRUE.equals(initialized.get(classLoader));

+    }

+

+    protected void storeContainerLifecycle()

+    {

+        ClassLoader classLoader = getClassLoader();

+        if (this.lifeCycle != null)

+        {

+            storedContainerLifecycle.put(classLoader, this.lifeCycle);

+        }

+        else

+        {

+            this.lifeCycle = storedContainerLifecycle.get(classLoader);

+        }

+    }

+

+    private ClassLoader getClassLoader()

+    {

+        return ClassUtils.getClassLoader(null);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    public boolean isActivated()

+    {

+        return ClassDeactivation.isClassActivated(getClass());

+    }

+}

diff --git a/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/LICENSE.txt b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..c6055ec
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,174 @@
+                                 Apache License

+                           Version 2.0, January 2004

+                        http://www.apache.org/licenses/

+

+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+

+   1. Definitions.

+

+      "License" shall mean the terms and conditions for use, reproduction,

+      and distribution as defined by Sections 1 through 9 of this document.

+

+      "Licensor" shall mean the copyright owner or entity authorized by

+      the copyright owner that is granting the License.

+

+      "Legal Entity" shall mean the union of the acting entity and all

+      other entities that control, are controlled by, or are under common

+      control with that entity. For the purposes of this definition,

+      "control" means (i) the power, direct or indirect, to cause the

+      direction or management of such entity, whether by contract or

+      otherwise, or (ii) ownership of fifty percent (50%) or more of the

+      outstanding shares, or (iii) beneficial ownership of such entity.

+

+      "You" (or "Your") shall mean an individual or Legal Entity

+      exercising permissions granted by this License.

+

+      "Source" form shall mean the preferred form for making modifications,

+      including but not limited to software source code, documentation

+      source, and configuration files.

+

+      "Object" form shall mean any form resulting from mechanical

+      transformation or translation of a Source form, including but

+      not limited to compiled object code, generated documentation,

+      and conversions to other media types.

+

+      "Work" shall mean the work of authorship, whether in Source or

+      Object form, made available under the License, as indicated by a

+      copyright notice that is included in or attached to the work

+      (an example is provided in the Appendix below).

+

+      "Derivative Works" shall mean any work, whether in Source or Object

+      form, that is based on (or derived from) the Work and for which the

+      editorial revisions, annotations, elaborations, or other modifications

+      represent, as a whole, an original work of authorship. For the purposes

+      of this License, Derivative Works shall not include works that remain

+      separable from, or merely link (or bind by name) to the interfaces of,

+      the Work and Derivative Works thereof.

+

+      "Contribution" shall mean any work of authorship, including

+      the original version of the Work and any modifications or additions

+      to that Work or Derivative Works thereof, that is intentionally

+      submitted to Licensor for inclusion in the Work by the copyright owner

+      or by an individual or Legal Entity authorized to submit on behalf of

+      the copyright owner. For the purposes of this definition, "submitted"

+      means any form of electronic, verbal, or written communication sent

+      to the Licensor or its representatives, including but not limited to

+      communication on electronic mailing lists, source code control systems,

+      and issue tracking systems that are managed by, or on behalf of, the

+      Licensor for the purpose of discussing and improving the Work, but

+      excluding communication that is conspicuously marked or otherwise

+      designated in writing by the copyright owner as "Not a Contribution."

+

+      "Contributor" shall mean Licensor and any individual or Legal Entity

+      on behalf of whom a Contribution has been received by Licensor and

+      subsequently incorporated within the Work.

+

+   2. Grant of Copyright License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      copyright license to reproduce, prepare Derivative Works of,

+      publicly display, publicly perform, sublicense, and distribute the

+      Work and such Derivative Works in Source or Object form.

+

+   3. Grant of Patent License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      (except as stated in this section) patent license to make, have made,

+      use, offer to sell, sell, import, and otherwise transfer the Work,

+      where such license applies only to those patent claims licensable

+      by such Contributor that are necessarily infringed by their

+      Contribution(s) alone or by combination of their Contribution(s)

+      with the Work to which such Contribution(s) was submitted. If You

+      institute patent litigation against any entity (including a

+      cross-claim or counterclaim in a lawsuit) alleging that the Work

+      or a Contribution incorporated within the Work constitutes direct

+      or contributory patent infringement, then any patent licenses

+      granted to You under this License for that Work shall terminate

+      as of the date such litigation is filed.

+

+   4. Redistribution. You may reproduce and distribute copies of the

+      Work or Derivative Works thereof in any medium, with or without

+      modifications, and in Source or Object form, provided that You

+      meet the following conditions:

+

+      (a) You must give any other recipients of the Work or

+          Derivative Works a copy of this License; and

+

+      (b) You must cause any modified files to carry prominent notices

+          stating that You changed the files; and

+

+      (c) You must retain, in the Source form of any Derivative Works

+          that You distribute, all copyright, patent, trademark, and

+          attribution notices from the Source form of the Work,

+          excluding those notices that do not pertain to any part of

+          the Derivative Works; and

+

+      (d) If the Work includes a "NOTICE" text file as part of its

+          distribution, then any Derivative Works that You distribute must

+          include a readable copy of the attribution notices contained

+          within such NOTICE file, excluding those notices that do not

+          pertain to any part of the Derivative Works, in at least one

+          of the following places: within a NOTICE text file distributed

+          as part of the Derivative Works; within the Source form or

+          documentation, if provided along with the Derivative Works; or,

+          within a display generated by the Derivative Works, if and

+          wherever such third-party notices normally appear. The contents

+          of the NOTICE file are for informational purposes only and

+          do not modify the License. You may add Your own attribution

+          notices within Derivative Works that You distribute, alongside

+          or as an addendum to the NOTICE text from the Work, provided

+          that such additional attribution notices cannot be construed

+          as modifying the License.

+

+      You may add Your own copyright statement to Your modifications and

+      may provide additional or different license terms and conditions

+      for use, reproduction, or distribution of Your modifications, or

+      for any such Derivative Works as a whole, provided Your use,

+      reproduction, and distribution of the Work otherwise complies with

+      the conditions stated in this License.

+

+   5. Submission of Contributions. Unless You explicitly state otherwise,

+      any Contribution intentionally submitted for inclusion in the Work

+      by You to the Licensor shall be under the terms and conditions of

+      this License, without any additional terms or conditions.

+      Notwithstanding the above, nothing herein shall supersede or modify

+      the terms of any separate license agreement you may have executed

+      with Licensor regarding such Contributions.

+

+   6. Trademarks. This License does not grant permission to use the trade

+      names, trademarks, service marks, or product names of the Licensor,

+      except as required for reasonable and customary use in describing the

+      origin of the Work and reproducing the content of the NOTICE file.

+

+   7. Disclaimer of Warranty. Unless required by applicable law or

+      agreed to in writing, Licensor provides the Work (and each

+      Contributor provides its Contributions) on an "AS IS" BASIS,

+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

+      implied, including, without limitation, any warranties or conditions

+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

+      PARTICULAR PURPOSE. You are solely responsible for determining the

+      appropriateness of using or redistributing the Work and assume any

+      risks associated with Your exercise of permissions under this License.

+

+   8. Limitation of Liability. In no event and under no legal theory,

+      whether in tort (including negligence), contract, or otherwise,

+      unless required by applicable law (such as deliberate and grossly

+      negligent acts) or agreed to in writing, shall any Contributor be

+      liable to You for damages, including any direct, indirect, special,

+      incidental, or consequential damages of any character arising as a

+      result of this License or out of the use or inability to use the

+      Work (including but not limited to damages for loss of goodwill,

+      work stoppage, computer failure or malfunction, or any and all

+      other commercial damages or losses), even if such Contributor

+      has been advised of the possibility of such damages.

+

+   9. Accepting Warranty or Additional Liability. While redistributing

+      the Work or Derivative Works thereof, You may choose to offer,

+      and charge a fee for, acceptance of support, warranty, indemnity,

+      or other liability obligations and/or rights consistent with this

+      License. However, in accepting such obligations, You may act only

+      on Your own behalf and on Your sole responsibility, not on behalf

+      of any other Contributor, and only if You agree to indemnify,

+      defend, and hold each Contributor harmless for any liability

+      incurred by, or claims asserted against, such Contributor by reason

+      of your accepting any such warranty or additional liability.

diff --git a/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/NOTICE.txt b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..bcc6a2f
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,9 @@
+Apache MyFaces Extensions CDI (aka MyFaces CODI)

+Copyright 2010 The Apache Software Foundation

+

+This product includes software developed by

+The Apache Software Foundation (http://www.apache.org/).

+

+------------------------------------------------------------------------

+See the file LICENSE.txt

+------------------------------------------------------------------------
\ No newline at end of file
diff --git a/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/beans.xml b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..66a288a
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,24 @@
+<?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.

+-->

+<beans xmlns="http://java.sun.com/xml/ns/javaee"

+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">

+

+</beans>
\ No newline at end of file
diff --git a/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster
new file mode 100644
index 0000000..32f2cda
--- /dev/null
+++ b/jee5-support-modules/openwebbeans-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster
@@ -0,0 +1,20 @@
+#####################################################################################

+# 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.

+#####################################################################################

+

+org.apache.myfaces.extensions.cdi.openwebbeans.startup.OwbAwareConfigurationListener
\ No newline at end of file
diff --git a/jee5-support-modules/pom.xml b/jee5-support-modules/pom.xml
new file mode 100644
index 0000000..7127a24
--- /dev/null
+++ b/jee5-support-modules/pom.xml
@@ -0,0 +1,41 @@
+<?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>

+

+    <parent>

+        <groupId>org.apache.myfaces.extensions.cdi</groupId>

+        <artifactId>myfaces-extcdi-parent</artifactId>

+        <version>1.0.3-SNAPSHOT</version>

+    </parent>

+

+    <groupId>org.apache.myfaces.extensions.cdi.modules.jee5-support</groupId>

+    <artifactId>jee5-support-modules-project</artifactId>

+    <packaging>pom</packaging>

+

+    <name>MyFaces Extensions-CDI Java-EE5-Support-Modules</name>

+    <version>1.0.3-SNAPSHOT</version>

+

+    <modules>

+        <module>openwebbeans-support</module>

+        <module>weld-support</module>

+    </modules>

+

+</project>

diff --git a/jee5-support-modules/weld-support/pom.xml b/jee5-support-modules/weld-support/pom.xml
new file mode 100644
index 0000000..3cd54ea
--- /dev/null
+++ b/jee5-support-modules/weld-support/pom.xml
@@ -0,0 +1,77 @@
+<?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>

+

+    <parent>

+        <groupId>org.apache.myfaces.extensions.cdi.modules.jee5-support</groupId>

+        <artifactId>jee5-support-modules-project</artifactId>

+        <version>1.0.3-SNAPSHOT</version>

+    </parent>

+

+    <groupId>org.apache.myfaces.extensions.cdi.modules.jee5-support</groupId>

+    <artifactId>myfaces-extcdi-jee5-weld-support</artifactId>

+    <version>1.0.3-SNAPSHOT</version>

+

+    <name>MyFaces Extensions-CDI Weld Support Module</name>

+

+    <repositories>

+        <repository>

+            <id>repository.jboss.org</id>

+            <name>JBoss Repository for Maven</name>

+            <url>https://repository.jboss.org/nexus/content/groups/public/</url>

+        </repository>

+    </repositories>

+

+    <dependencies>

+        <dependency>

+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+            <artifactId>myfaces-extcdi-core-api</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+            <artifactId>myfaces-extcdi-core-impl</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.jboss.weld.servlet</groupId>

+            <artifactId>weld-servlet</artifactId>

+            <version>1.1.2.AS7</version>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.myfaces.core</groupId>

+            <artifactId>myfaces-api</artifactId>

+            <version>${myfaces1.version}</version>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-servlet_2.5_spec</artifactId>

+            <scope>provided</scope>

+        </dependency>

+    </dependencies>

+

+</project>

diff --git a/jee5-support-modules/weld-support/src/main/java/org/apache/myfaces/extensions/cdi/weld/startup/WeldAwareConfigurationListener.java b/jee5-support-modules/weld-support/src/main/java/org/apache/myfaces/extensions/cdi/weld/startup/WeldAwareConfigurationListener.java
new file mode 100644
index 0000000..82210a6
--- /dev/null
+++ b/jee5-support-modules/weld-support/src/main/java/org/apache/myfaces/extensions/cdi/weld/startup/WeldAwareConfigurationListener.java
@@ -0,0 +1,118 @@
+/*

+ * 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.

+ */

+package org.apache.myfaces.extensions.cdi.weld.startup;

+

+import org.apache.myfaces.extensions.cdi.core.api.InvocationOrder;

+import org.apache.myfaces.extensions.cdi.core.api.activation.Deactivatable;

+import org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster;

+import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;

+import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;

+import org.jboss.weld.environment.servlet.Listener;

+

+import javax.faces.context.FacesContext;

+import javax.servlet.ServletContext;

+import javax.servlet.ServletContextEvent;

+import java.util.Map;

+import java.util.concurrent.ConcurrentHashMap;

+import java.util.logging.Logger;

+

+/**

+ * Allows to bootstrap the JavaEE5 + OpenWebBeans environment in a controlled manner.

+ */

+@InvocationOrder(1)

+public class WeldAwareConfigurationListener extends Listener

+        implements StartupEventBroadcaster, Deactivatable

+{

+    protected final Logger logger = Logger.getLogger(getClass().getName());

+

+    protected static Map<ClassLoader, Boolean> initialized

+            = new ConcurrentHashMap<ClassLoader, Boolean>();

+

+    /**

+     * {@inheritDoc}

+     */

+    @Override

+    public void contextInitialized(ServletContextEvent event)

+    {

+        if (!isInitialized())

+        {

+            this.logger.info("Controlled Weld bootstrapping.");

+

+            super.contextInitialized(event);

+

+            markAsInitialized();

+        }

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    public void broadcastStartup()

+    {

+        if(!isActivated())

+        {

+            return;

+        }

+        

+        if (isInitialized())

+        {

+            return;

+        }

+

+        logger.info("Controlled MyFaces ExtCDI bootstrapping.");

+

+        //In this case the JSF impl has been invoked too soon

+

+        FacesContext facesContext = FacesContext.getCurrentInstance();

+

+        if (facesContext != null && facesContext.getExternalContext() != null)

+        {

+            ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext();

+

+            //force bootstrapping of Weld

+            contextInitialized(new ServletContextEvent(servletContext));

+        }

+        markAsInitialized();

+    }

+

+    protected void markAsInitialized()

+    {

+        initialized.put(getClassLoader(), Boolean.TRUE);

+    }

+

+    protected boolean isInitialized()

+    {

+        ClassLoader classLoader = getClassLoader();

+

+        return Boolean.TRUE.equals(initialized.get(classLoader));

+    }

+

+    private ClassLoader getClassLoader()

+    {

+        return ClassUtils.getClassLoader(null);

+    }

+

+    /**

+     * {@inheritDoc}

+     */

+    public boolean isActivated()

+    {

+        return ClassDeactivation.isClassActivated(getClass());

+    }

+}

diff --git a/jee5-support-modules/weld-support/src/main/resources/META-INF/LICENSE.txt b/jee5-support-modules/weld-support/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..c6055ec
--- /dev/null
+++ b/jee5-support-modules/weld-support/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,174 @@
+                                 Apache License

+                           Version 2.0, January 2004

+                        http://www.apache.org/licenses/

+

+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

+

+   1. Definitions.

+

+      "License" shall mean the terms and conditions for use, reproduction,

+      and distribution as defined by Sections 1 through 9 of this document.

+

+      "Licensor" shall mean the copyright owner or entity authorized by

+      the copyright owner that is granting the License.

+

+      "Legal Entity" shall mean the union of the acting entity and all

+      other entities that control, are controlled by, or are under common

+      control with that entity. For the purposes of this definition,

+      "control" means (i) the power, direct or indirect, to cause the

+      direction or management of such entity, whether by contract or

+      otherwise, or (ii) ownership of fifty percent (50%) or more of the

+      outstanding shares, or (iii) beneficial ownership of such entity.

+

+      "You" (or "Your") shall mean an individual or Legal Entity

+      exercising permissions granted by this License.

+

+      "Source" form shall mean the preferred form for making modifications,

+      including but not limited to software source code, documentation

+      source, and configuration files.

+

+      "Object" form shall mean any form resulting from mechanical

+      transformation or translation of a Source form, including but

+      not limited to compiled object code, generated documentation,

+      and conversions to other media types.

+

+      "Work" shall mean the work of authorship, whether in Source or

+      Object form, made available under the License, as indicated by a

+      copyright notice that is included in or attached to the work

+      (an example is provided in the Appendix below).

+

+      "Derivative Works" shall mean any work, whether in Source or Object

+      form, that is based on (or derived from) the Work and for which the

+      editorial revisions, annotations, elaborations, or other modifications

+      represent, as a whole, an original work of authorship. For the purposes

+      of this License, Derivative Works shall not include works that remain

+      separable from, or merely link (or bind by name) to the interfaces of,

+      the Work and Derivative Works thereof.

+

+      "Contribution" shall mean any work of authorship, including

+      the original version of the Work and any modifications or additions

+      to that Work or Derivative Works thereof, that is intentionally

+      submitted to Licensor for inclusion in the Work by the copyright owner

+      or by an individual or Legal Entity authorized to submit on behalf of

+      the copyright owner. For the purposes of this definition, "submitted"

+      means any form of electronic, verbal, or written communication sent

+      to the Licensor or its representatives, including but not limited to

+      communication on electronic mailing lists, source code control systems,

+      and issue tracking systems that are managed by, or on behalf of, the

+      Licensor for the purpose of discussing and improving the Work, but

+      excluding communication that is conspicuously marked or otherwise

+      designated in writing by the copyright owner as "Not a Contribution."

+

+      "Contributor" shall mean Licensor and any individual or Legal Entity

+      on behalf of whom a Contribution has been received by Licensor and

+      subsequently incorporated within the Work.

+

+   2. Grant of Copyright License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      copyright license to reproduce, prepare Derivative Works of,

+      publicly display, publicly perform, sublicense, and distribute the

+      Work and such Derivative Works in Source or Object form.

+

+   3. Grant of Patent License. Subject to the terms and conditions of

+      this License, each Contributor hereby grants to You a perpetual,

+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable

+      (except as stated in this section) patent license to make, have made,

+      use, offer to sell, sell, import, and otherwise transfer the Work,

+      where such license applies only to those patent claims licensable

+      by such Contributor that are necessarily infringed by their

+      Contribution(s) alone or by combination of their Contribution(s)

+      with the Work to which such Contribution(s) was submitted. If You

+      institute patent litigation against any entity (including a

+      cross-claim or counterclaim in a lawsuit) alleging that the Work

+      or a Contribution incorporated within the Work constitutes direct

+      or contributory patent infringement, then any patent licenses

+      granted to You under this License for that Work shall terminate

+      as of the date such litigation is filed.

+

+   4. Redistribution. You may reproduce and distribute copies of the

+      Work or Derivative Works thereof in any medium, with or without

+      modifications, and in Source or Object form, provided that You

+      meet the following conditions:

+

+      (a) You must give any other recipients of the Work or

+          Derivative Works a copy of this License; and

+

+      (b) You must cause any modified files to carry prominent notices

+          stating that You changed the files; and

+

+      (c) You must retain, in the Source form of any Derivative Works

+          that You distribute, all copyright, patent, trademark, and

+          attribution notices from the Source form of the Work,

+          excluding those notices that do not pertain to any part of

+          the Derivative Works; and

+

+      (d) If the Work includes a "NOTICE" text file as part of its

+          distribution, then any Derivative Works that You distribute must

+          include a readable copy of the attribution notices contained

+          within such NOTICE file, excluding those notices that do not

+          pertain to any part of the Derivative Works, in at least one

+          of the following places: within a NOTICE text file distributed

+          as part of the Derivative Works; within the Source form or

+          documentation, if provided along with the Derivative Works; or,

+          within a display generated by the Derivative Works, if and

+          wherever such third-party notices normally appear. The contents

+          of the NOTICE file are for informational purposes only and

+          do not modify the License. You may add Your own attribution

+          notices within Derivative Works that You distribute, alongside

+          or as an addendum to the NOTICE text from the Work, provided

+          that such additional attribution notices cannot be construed

+          as modifying the License.

+

+      You may add Your own copyright statement to Your modifications and

+      may provide additional or different license terms and conditions

+      for use, reproduction, or distribution of Your modifications, or

+      for any such Derivative Works as a whole, provided Your use,

+      reproduction, and distribution of the Work otherwise complies with

+      the conditions stated in this License.

+

+   5. Submission of Contributions. Unless You explicitly state otherwise,

+      any Contribution intentionally submitted for inclusion in the Work

+      by You to the Licensor shall be under the terms and conditions of

+      this License, without any additional terms or conditions.

+      Notwithstanding the above, nothing herein shall supersede or modify

+      the terms of any separate license agreement you may have executed

+      with Licensor regarding such Contributions.

+

+   6. Trademarks. This License does not grant permission to use the trade

+      names, trademarks, service marks, or product names of the Licensor,

+      except as required for reasonable and customary use in describing the

+      origin of the Work and reproducing the content of the NOTICE file.

+

+   7. Disclaimer of Warranty. Unless required by applicable law or

+      agreed to in writing, Licensor provides the Work (and each

+      Contributor provides its Contributions) on an "AS IS" BASIS,

+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

+      implied, including, without limitation, any warranties or conditions

+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A

+      PARTICULAR PURPOSE. You are solely responsible for determining the

+      appropriateness of using or redistributing the Work and assume any

+      risks associated with Your exercise of permissions under this License.

+

+   8. Limitation of Liability. In no event and under no legal theory,

+      whether in tort (including negligence), contract, or otherwise,

+      unless required by applicable law (such as deliberate and grossly

+      negligent acts) or agreed to in writing, shall any Contributor be

+      liable to You for damages, including any direct, indirect, special,

+      incidental, or consequential damages of any character arising as a

+      result of this License or out of the use or inability to use the

+      Work (including but not limited to damages for loss of goodwill,

+      work stoppage, computer failure or malfunction, or any and all

+      other commercial damages or losses), even if such Contributor

+      has been advised of the possibility of such damages.

+

+   9. Accepting Warranty or Additional Liability. While redistributing

+      the Work or Derivative Works thereof, You may choose to offer,

+      and charge a fee for, acceptance of support, warranty, indemnity,

+      or other liability obligations and/or rights consistent with this

+      License. However, in accepting such obligations, You may act only

+      on Your own behalf and on Your sole responsibility, not on behalf

+      of any other Contributor, and only if You agree to indemnify,

+      defend, and hold each Contributor harmless for any liability

+      incurred by, or claims asserted against, such Contributor by reason

+      of your accepting any such warranty or additional liability.

diff --git a/jee5-support-modules/weld-support/src/main/resources/META-INF/NOTICE.txt b/jee5-support-modules/weld-support/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..bcc6a2f
--- /dev/null
+++ b/jee5-support-modules/weld-support/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,9 @@
+Apache MyFaces Extensions CDI (aka MyFaces CODI)

+Copyright 2010 The Apache Software Foundation

+

+This product includes software developed by

+The Apache Software Foundation (http://www.apache.org/).

+

+------------------------------------------------------------------------

+See the file LICENSE.txt

+------------------------------------------------------------------------
\ No newline at end of file
diff --git a/jee5-support-modules/weld-support/src/main/resources/META-INF/beans.xml b/jee5-support-modules/weld-support/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..66a288a
--- /dev/null
+++ b/jee5-support-modules/weld-support/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,24 @@
+<?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.

+-->

+<beans xmlns="http://java.sun.com/xml/ns/javaee"

+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">

+

+</beans>
\ No newline at end of file
diff --git a/jee5-support-modules/weld-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster b/jee5-support-modules/weld-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster
new file mode 100644
index 0000000..4d519e8
--- /dev/null
+++ b/jee5-support-modules/weld-support/src/main/resources/META-INF/services/org.apache.myfaces.extensions.cdi.core.api.startup.event.StartupEventBroadcaster
@@ -0,0 +1,20 @@
+#####################################################################################

+# 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.

+#####################################################################################

+

+org.apache.myfaces.extensions.cdi.weld.startup.WeldAwareConfigurationListener
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index f75ece5..3835819 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,717 +1,718 @@
-<?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>
-
-    <parent>
-        <groupId>org.apache.myfaces</groupId>
-        <artifactId>myfaces</artifactId>
-        <version>11</version>
-    </parent>
-
-    <groupId>org.apache.myfaces.extensions.cdi</groupId>
-    <artifactId>myfaces-extcdi-parent</artifactId>
-    <version>1.0.3-SNAPSHOT</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>
-    </scm>
-
-    <repositories>
-        <repository>
-            <id>Apache Snapshot Repository</id>
-            <url>https://repository.apache.org/content/repositories/snapshots</url>
-        </repository>
-    </repositories>
-
-    <distributionManagement>
-        <site>
-            <id>apache.website</id>
-            <url>scpexe://people.apache.org/www/myfaces.apache.org/extensions/cdi</url>
-        </site>
-    </distributionManagement>
-
-    <issueManagement>
-        <system>jira</system>
-        <url>http://issues.apache.org/jira/browse/EXTCDI</url>
-    </issueManagement>
-
-    <ciManagement>
-        <system>continuum</system>
-        <url>http://myfaces.zones.apache.org:8080/continuum</url>
-        <notifiers>
-            <notifier>
-                <type>mail</type>
-                <sendOnSuccess>true</sendOnSuccess>
-                <configuration>
-                    <address>commits@myfaces.apache.org</address>
-                </configuration>
-            </notifier>
-        </notifiers>
-    </ciManagement>
-
-    <inceptionYear>2010</inceptionYear>
-
-    <modules>
-        <module>maven-utils</module>
-        <module>core</module>
-        <module>jee-modules</module>
-        <module>jse-modules</module>
-        <module>component-support-modules</module>
-        <module>bundles</module>
-
-        <module>test-modules</module>
-        <module>examples</module>
-        <module>alternative-modules</module>
-    </modules>
-
-    <properties>
-        <owb.version>1.1.2</owb.version>
-
-        <!-- JSF-2.0 implementations-->
-        <myfaces2.version>2.0.5</myfaces2.version>
-        <myfaces2.version.current>2.0.5</myfaces2.version.current>
-        <mojarra2.version>2.0.3-b03</mojarra2.version>
-
-        <!-- JSF-1.2 implementations-->
-        <myfaces1.version>1.2.8</myfaces1.version>
-        <mojarra1.version>1.2_14</mojarra1.version>
-
-        <trinidad1.version>1.2.12</trinidad1.version>
-        <trinidad2.version>2.0.0</trinidad2.version>
-
-        <maven.jetty.plugin.version>7.1.5.v20100705</maven.jetty.plugin.version>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <!-- OWB specific dependencies-->
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-atinject_1.0_spec</artifactId>
-                <version>1.0</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-jcdi_1.0_spec</artifactId>
-                <version>1.0</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-interceptor_1.1_spec</artifactId>
-                <version>1.0</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans</groupId>
-                <artifactId>openwebbeans-impl</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans</groupId>
-                <artifactId>openwebbeans-spi</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans</groupId>
-                <artifactId>openwebbeans-resource</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans</groupId>
-                <artifactId>openwebbeans-web</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans</groupId>
-                <artifactId>openwebbeans-jsf</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans.test</groupId>
-                <artifactId>cditest</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.openwebbeans.test</groupId>
-                <artifactId>cditest-owb</artifactId>
-                <version>${owb.version}</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.test</groupId>
-                <artifactId>myfaces-test12</artifactId>
-                <version>1.0.0</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>
-                <artifactId>myfaces-extcdi-bundle-jsf12</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>
-                <artifactId>myfaces-extcdi-bundle-jsf20</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>
-                <artifactId>myfaces-extcdi-bundle-alternative-configuration</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <!-- the JSF independent core -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
-                <artifactId>myfaces-extcdi-core-api</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.core</groupId>
-                <artifactId>myfaces-extcdi-core-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-jsf12-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-bv1-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- CODI JPA-1.0 Module -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-jpa1-module-api</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-jpa1-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- CODI-I18N Message Module -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-message-module-api</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-message-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- CODI-Scripting Module -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-scripting-module-api</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>
-                <artifactId>myfaces-extcdi-scripting-module-impl</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- CODI-Component Support Modules -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules.component-support</groupId>
-                <artifactId>myfaces-extcdi-trinidad12-support</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- Base test infrastructure modules -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                <artifactId>myfaces-extcdi-junit-support-module</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                <artifactId>myfaces-extcdi-cargo-support-module</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                <artifactId>myfaces-extcdi-owb-support-module</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>
-                <artifactId>myfaces-extcdi-jsf-support-module</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!-- optional configuration modules -->
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>
-                <artifactId>myfaces-extcdi-core-alternative-configuration</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>
-                <artifactId>myfaces-extcdi-jsf-alternative-configuration</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>
-                <artifactId>myfaces-extcdi-alternative-implementation-module</artifactId>
-                <version>1.0.3-SNAPSHOT</version>
-            </dependency>
-
-            <!--
-                We currently need this for the CDI test container to emulate the @SessionScoped.
-                TODO: Finally this should not be necessary anymore.
-            -->
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-servlet_2.5_spec</artifactId>
-                <version>1.2</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-el_1.0_spec</artifactId>
-                <version>1.0.2</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-el_2.2_spec</artifactId>
-                <version>1.0</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-validation_1.0_spec</artifactId>
-                <version>1.0</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-jpa_1.0_spec</artifactId>
-                <version>1.1.2</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-jta_1.1_spec</artifactId>
-                <version>1.1.1</version>
-                <scope>provided</scope>
-            </dependency>
-            
-            <!-- dependencies for component support modules-->
-            <dependency>
-                <groupId>org.apache.myfaces.trinidad</groupId>
-                <artifactId>trinidad-api</artifactId>
-                <version>${trinidad1.version}</version>
-                <scope>provided</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.8.1</version>
-                <scope>test</scope>
-            </dependency>
-
-            <dependency>
-                <groupId>net.sourceforge.htmlunit</groupId>
-                <artifactId>htmlunit</artifactId>
-                <version>2.8</version>
-                <scope>test</scope>
-            </dependency>
-
-        </dependencies>
-
-    </dependencyManagement>
-
-    <!-- These dependencies are needed for each and every module in this project -->
-    <dependencies>
-
-        <!-- atinject and cdi specs for OWB-->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-atinject_1.0_spec</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jcdi_1.0_spec</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- the interceptors spec from EE6 -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-interceptor_1.1_spec</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <!-- we use testng for testing -->
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <version>5.14.10</version>
-            <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>
-        <!--
-            We currently need this for the CDI test container to emulate the @SessionScoped.
-            TODO: Finally this should not be necessary anymore.
-        -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-servlet_2.5_spec</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-el_2.2_spec</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <artifactId>maven-jar-plugin</artifactId>
-                    <version>2.2</version>
-                    <configuration>
-                        <archive>
-                            <manifest>
-                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                            </manifest>
-                        </archive>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-
-
-        <plugins>
-            <plugin>
-                <!--
-                    - Copy LICENSE.txt and NOTICE.txt so that they are included
-                    - in the -javadoc jar file for the component.
-                -->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>javadoc.resources</id>
-                        <phase>generate-sources</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <tasks>
-                                <copy todir="${project.build.directory}/apidocs/META-INF">
-                                    <fileset dir="${basedir}">
-                                        <include name="LICENSE.txt" />
-                                        <include name="NOTICE.txt" />
-                                    </fileset>
-                                </copy>
-                            </tasks>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>javadoc.site.copy</id>
-                        <phase>site</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <tasks>
-                                <!-- Copy javadoc to another directory, to keep javadoc of previous versions on site -->
-                                <copy todir="${project.build.directory}/site/apidocs-${project.version}" failonerror="false">
-                                    <fileset dir="${project.build.directory}/site/apidocs" />
-                                </copy>
-                            </tasks>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!--
-                - Make a checkstyle violation a compile error. Note that if a compile error occurs,
-                - further information can be found in target/site/checkstyle.html (present even when
-                - just the compile goal and not the site goal has been run). Note also that child
-                - projects may redeclare this plugin and provide different configuration settings
-                - to use different checks (more or less strict than the default).
-            -->
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>verify-style</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <configLocation>default/myfaces-checks-standard.xml</configLocation>
-                    <headerLocation>default/myfaces-header.txt</headerLocation>
-                </configuration>
-            </plugin>
-
-            <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>
-
-            <plugin>
-                <!-- Set compile source at 1.5, since the target JSF impl is 1.2 -->
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                    <optimize>false</optimize>
-                </configuration>
-            </plugin>
-            
-            <plugin>
-                <artifactId>maven-release-plugin</artifactId>
-                <configuration>
-                    <preparationGoals>clean install</preparationGoals>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-<!--
-            <plugin>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.3</version>
-            </plugin>
-            <plugin>
-                <artifactId>maven-jxr-plugin</artifactId>
-                <version>2.1</version>
-            </plugin>
--->
-<!--
-            <plugin>
-                <artifactId>maven-surefire-report-plugin</artifactId>
-                <version>2.4.3</version>
-            </plugin>
--->
-<!--
-            <plugin>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>2.0.1</version>
-            </plugin>
--->
-            <plugin>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>2.3</version>
-                <configuration>
-                    <rulesets>
-                        <ruleset>rulesets/basic.xml</ruleset>
-                        <ruleset>rulesets/unusedcode.xml</ruleset>
-                    </rulesets>
-                    <minimumTokens>100</minimumTokens>
-                    <targetJdk>1.5</targetJdk>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <configuration>
-                    <configLocation>default/myfaces-checks-standard.xml</configLocation>
-                    <headerLocation>default/myfaces-header.txt</headerLocation>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>    
-
-    <profiles>
-        <profile>
-            <!-- use this profile to test CODI with mojarra-->
-            <id>mojarra</id>
-            <repositories>
-                <repository>
-                    <id>maven2-repository.dev.java.net</id>
-                    <name>Java.net Repository for Maven</name>
-                    <url>http://download.java.net/maven/1/</url>
-                    <layout>legacy</layout>
-                </repository>
-            </repositories>
-        </profile>
-
-        <!--
-            Add the assembly module when performing an apache-release
-            
-            USAGE:
-             - mvn release:prepare -Papache-release
-             - mvn release:perform -Papache-release
-
-            NOTE that for the maven lifecycle invoked by the release plugin, -Papache-release will
-            be added automatically because of the config in apache-parent-7.
-        -->
-        <profile>
-            <id>apache-release</id>
-
-            <modules>
-                <module>assembly</module>
-            </modules>
-        </profile>
-
-        <profile>
-            <id>extended-manifest</id>
-            <build>
-                <plugins>
-                    <!-- revision number in manifest files -->
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-jar-plugin</artifactId>
-                        <configuration>
-                            <archive>
-                                <manifest>
-                                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                                </manifest>
-                                <manifestEntries>
-                                    <Revision>${scm.revision}</Revision>
-                                    <Java-Vendor>${java.vendor}</Java-Vendor>
-                                </manifestEntries>
-                            </archive>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>test-jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>buildnumber-maven-plugin</artifactId>
-                        <version>1.0-beta-4</version>
-                        <executions>
-                            <execution>
-                                <phase>validate</phase>
-                                <goals>
-                                    <goal>create</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <doCheck>false</doCheck>
-                            <doUpdate>false</doUpdate>
-                            <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
-                            <buildNumberPropertyName>scm.revision</buildNumberPropertyName>
-                            <!--revisionOnScmFailure>unknown</revisionOnScmFailure-->
-                        </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>

+

+    <parent>

+        <groupId>org.apache.myfaces</groupId>

+        <artifactId>myfaces</artifactId>

+        <version>11</version>

+    </parent>

+

+    <groupId>org.apache.myfaces.extensions.cdi</groupId>

+    <artifactId>myfaces-extcdi-parent</artifactId>

+    <version>1.0.3-SNAPSHOT</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>

+    </scm>

+

+    <repositories>

+        <repository>

+            <id>Apache Snapshot Repository</id>

+            <url>https://repository.apache.org/content/repositories/snapshots</url>

+        </repository>

+    </repositories>

+

+    <distributionManagement>

+        <site>

+            <id>apache.website</id>

+            <url>scpexe://people.apache.org/www/myfaces.apache.org/extensions/cdi</url>

+        </site>

+    </distributionManagement>

+

+    <issueManagement>

+        <system>jira</system>

+        <url>http://issues.apache.org/jira/browse/EXTCDI</url>

+    </issueManagement>

+

+    <ciManagement>

+        <system>continuum</system>

+        <url>http://myfaces.zones.apache.org:8080/continuum</url>

+        <notifiers>

+            <notifier>

+                <type>mail</type>

+                <sendOnSuccess>true</sendOnSuccess>

+                <configuration>

+                    <address>commits@myfaces.apache.org</address>

+                </configuration>

+            </notifier>

+        </notifiers>

+    </ciManagement>

+

+    <inceptionYear>2010</inceptionYear>

+

+    <modules>

+        <module>maven-utils</module>

+        <module>core</module>

+        <module>jee-modules</module>

+        <module>jse-modules</module>

+        <module>component-support-modules</module>

+        <module>jee5-support-modules</module>

+        <module>bundles</module>

+

+        <module>test-modules</module>

+        <module>examples</module>

+        <module>alternative-modules</module>

+    </modules>

+

+    <properties>

+        <owb.version>1.1.2</owb.version>

+

+        <!-- JSF-2.0 implementations-->

+        <myfaces2.version>2.0.5</myfaces2.version>

+        <myfaces2.version.current>2.0.5</myfaces2.version.current>

+        <mojarra2.version>2.0.3-b03</mojarra2.version>

+

+        <!-- JSF-1.2 implementations-->

+        <myfaces1.version>1.2.8</myfaces1.version>

+        <mojarra1.version>1.2_14</mojarra1.version>

+

+        <trinidad1.version>1.2.12</trinidad1.version>

+        <trinidad2.version>2.0.0</trinidad2.version>

+

+        <maven.jetty.plugin.version>7.1.5.v20100705</maven.jetty.plugin.version>

+    </properties>

+

+    <dependencyManagement>

+        <dependencies>

+            <!-- OWB specific dependencies-->

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-atinject_1.0_spec</artifactId>

+                <version>1.0</version>

+                <scope>provided</scope>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-jcdi_1.0_spec</artifactId>

+                <version>1.0</version>

+                <scope>provided</scope>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-interceptor_1.1_spec</artifactId>

+                <version>1.0</version>

+                <scope>provided</scope>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans</groupId>

+                <artifactId>openwebbeans-impl</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans</groupId>

+                <artifactId>openwebbeans-spi</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans</groupId>

+                <artifactId>openwebbeans-resource</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans</groupId>

+                <artifactId>openwebbeans-web</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans</groupId>

+                <artifactId>openwebbeans-jsf</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans.test</groupId>

+                <artifactId>cditest</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.openwebbeans.test</groupId>

+                <artifactId>cditest-owb</artifactId>

+                <version>${owb.version}</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.test</groupId>

+                <artifactId>myfaces-test12</artifactId>

+                <version>1.0.0</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>

+                <artifactId>myfaces-extcdi-bundle-jsf12</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>

+                <artifactId>myfaces-extcdi-bundle-jsf20</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>

+                <artifactId>myfaces-extcdi-bundle-alternative-configuration</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <!-- the JSF independent core -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+                <artifactId>myfaces-extcdi-core-api</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.core</groupId>

+                <artifactId>myfaces-extcdi-core-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-jsf12-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-jsf20-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</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>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-bv1-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- CODI JPA-1.0 Module -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-jpa1-module-api</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-jpa1-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- CODI-I18N Message Module -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-message-module-api</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-message-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- CODI-Scripting Module -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-scripting-module-api</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules</groupId>

+                <artifactId>myfaces-extcdi-scripting-module-impl</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- CODI-Component Support Modules -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules.component-support</groupId>

+                <artifactId>myfaces-extcdi-trinidad12-support</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- Base test infrastructure modules -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>

+                <artifactId>myfaces-extcdi-base-test-infrastructure</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>

+                <artifactId>myfaces-extcdi-junit-support-module</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>

+                <artifactId>myfaces-extcdi-cargo-support-module</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>

+                <artifactId>myfaces-extcdi-owb-support-module</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.test</groupId>

+                <artifactId>myfaces-extcdi-jsf-support-module</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!-- optional configuration modules -->

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>

+                <artifactId>myfaces-extcdi-core-alternative-configuration</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>

+                <artifactId>myfaces-extcdi-jsf-alternative-configuration</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.myfaces.extensions.cdi.modules.alternative</groupId>

+                <artifactId>myfaces-extcdi-alternative-implementation-module</artifactId>

+                <version>1.0.3-SNAPSHOT</version>

+            </dependency>

+

+            <!--

+                We currently need this for the CDI test container to emulate the @SessionScoped.

+                TODO: Finally this should not be necessary anymore.

+            -->

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-servlet_2.5_spec</artifactId>

+                <version>1.2</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-el_1.0_spec</artifactId>

+                <version>1.0.2</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-el_2.2_spec</artifactId>

+                <version>1.0</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-validation_1.0_spec</artifactId>

+                <version>1.0</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-jpa_1.0_spec</artifactId>

+                <version>1.1.2</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>org.apache.geronimo.specs</groupId>

+                <artifactId>geronimo-jta_1.1_spec</artifactId>

+                <version>1.1.1</version>

+                <scope>provided</scope>

+            </dependency>

+            

+            <!-- dependencies for component support modules-->

+            <dependency>

+                <groupId>org.apache.myfaces.trinidad</groupId>

+                <artifactId>trinidad-api</artifactId>

+                <version>${trinidad1.version}</version>

+                <scope>provided</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>junit</groupId>

+                <artifactId>junit</artifactId>

+                <version>4.8.1</version>

+                <scope>test</scope>

+            </dependency>

+

+            <dependency>

+                <groupId>net.sourceforge.htmlunit</groupId>

+                <artifactId>htmlunit</artifactId>

+                <version>2.8</version>

+                <scope>test</scope>

+            </dependency>

+

+        </dependencies>

+

+    </dependencyManagement>

+

+    <!-- These dependencies are needed for each and every module in this project -->

+    <dependencies>

+

+        <!-- atinject and cdi specs for OWB-->

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-atinject_1.0_spec</artifactId>

+            <scope>provided</scope>

+        </dependency>

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-jcdi_1.0_spec</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <!-- the interceptors spec from EE6 -->

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-interceptor_1.1_spec</artifactId>

+            <scope>provided</scope>

+        </dependency>

+

+        <!-- we use testng for testing -->

+        <dependency>

+            <groupId>org.testng</groupId>

+            <artifactId>testng</artifactId>

+            <version>5.14.10</version>

+            <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>

+        <!--

+            We currently need this for the CDI test container to emulate the @SessionScoped.

+            TODO: Finally this should not be necessary anymore.

+        -->

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-servlet_2.5_spec</artifactId>

+            <scope>test</scope>

+        </dependency>

+        <dependency>

+            <groupId>org.apache.geronimo.specs</groupId>

+            <artifactId>geronimo-el_2.2_spec</artifactId>

+            <scope>test</scope>

+        </dependency>

+

+    </dependencies>

+

+    <build>

+        <pluginManagement>

+            <plugins>

+                <plugin>

+                    <artifactId>maven-jar-plugin</artifactId>

+                    <version>2.2</version>

+                    <configuration>

+                        <archive>

+                            <manifest>

+                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>

+                            </manifest>

+                        </archive>

+                    </configuration>

+                </plugin>

+            </plugins>

+        </pluginManagement>

+

+

+        <plugins>

+            <plugin>

+                <!--

+                    - Copy LICENSE.txt and NOTICE.txt so that they are included

+                    - in the -javadoc jar file for the component.

+                -->

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-antrun-plugin</artifactId>

+                <executions>

+                    <execution>

+                        <id>javadoc.resources</id>

+                        <phase>generate-sources</phase>

+                        <goals>

+                            <goal>run</goal>

+                        </goals>

+                        <configuration>

+                            <tasks>

+                                <copy todir="${project.build.directory}/apidocs/META-INF">

+                                    <fileset dir="${basedir}">

+                                        <include name="LICENSE.txt" />

+                                        <include name="NOTICE.txt" />

+                                    </fileset>

+                                </copy>

+                            </tasks>

+                        </configuration>

+                    </execution>

+                    <execution>

+                        <id>javadoc.site.copy</id>

+                        <phase>site</phase>

+                        <goals>

+                            <goal>run</goal>

+                        </goals>

+                        <configuration>

+                            <tasks>

+                                <!-- Copy javadoc to another directory, to keep javadoc of previous versions on site -->

+                                <copy todir="${project.build.directory}/site/apidocs-${project.version}" failonerror="false">

+                                    <fileset dir="${project.build.directory}/site/apidocs" />

+                                </copy>

+                            </tasks>

+                        </configuration>

+                    </execution>

+                </executions>

+            </plugin>

+            <!--

+                - Make a checkstyle violation a compile error. Note that if a compile error occurs,

+                - further information can be found in target/site/checkstyle.html (present even when

+                - just the compile goal and not the site goal has been run). Note also that child

+                - projects may redeclare this plugin and provide different configuration settings

+                - to use different checks (more or less strict than the default).

+            -->

+

+            <plugin>

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-checkstyle-plugin</artifactId>

+                <executions>

+                    <execution>

+                        <id>verify-style</id>

+                        <phase>verify</phase>

+                        <goals>

+                            <goal>check</goal>

+                        </goals>

+                    </execution>

+                </executions>

+                <configuration>

+                    <configLocation>default/myfaces-checks-standard.xml</configLocation>

+                    <headerLocation>default/myfaces-header.txt</headerLocation>

+                </configuration>

+            </plugin>

+

+            <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>

+

+            <plugin>

+                <!-- Set compile source at 1.5, since the target JSF impl is 1.2 -->

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-compiler-plugin</artifactId>

+                <configuration>

+                    <source>1.5</source>

+                    <target>1.5</target>

+                    <optimize>false</optimize>

+                </configuration>

+            </plugin>

+            

+            <plugin>

+                <artifactId>maven-release-plugin</artifactId>

+                <configuration>

+                    <preparationGoals>clean install</preparationGoals>

+                </configuration>

+            </plugin>

+        </plugins>

+    </build>

+

+    <reporting>

+        <plugins>

+<!--

+            <plugin>

+                <artifactId>maven-javadoc-plugin</artifactId>

+                <version>2.3</version>

+            </plugin>

+            <plugin>

+                <artifactId>maven-jxr-plugin</artifactId>

+                <version>2.1</version>

+            </plugin>

+-->

+<!--

+            <plugin>

+                <artifactId>maven-surefire-report-plugin</artifactId>

+                <version>2.4.3</version>

+            </plugin>

+-->

+<!--

+            <plugin>

+                <artifactId>maven-project-info-reports-plugin</artifactId>

+                <version>2.0.1</version>

+            </plugin>

+-->

+            <plugin>

+                <artifactId>maven-pmd-plugin</artifactId>

+                <version>2.3</version>

+                <configuration>

+                    <rulesets>

+                        <ruleset>rulesets/basic.xml</ruleset>

+                        <ruleset>rulesets/unusedcode.xml</ruleset>

+                    </rulesets>

+                    <minimumTokens>100</minimumTokens>

+                    <targetJdk>1.5</targetJdk>

+                </configuration>

+            </plugin>

+            <plugin>

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-checkstyle-plugin</artifactId>

+                <configuration>

+                    <configLocation>default/myfaces-checks-standard.xml</configLocation>

+                    <headerLocation>default/myfaces-header.txt</headerLocation>

+                </configuration>

+            </plugin>

+        </plugins>

+    </reporting>    

+

+    <profiles>

+        <profile>

+            <!-- use this profile to test CODI with mojarra-->

+            <id>mojarra</id>

+            <repositories>

+                <repository>

+                    <id>maven2-repository.dev.java.net</id>

+                    <name>Java.net Repository for Maven</name>

+                    <url>http://download.java.net/maven/1/</url>

+                    <layout>legacy</layout>

+                </repository>

+            </repositories>

+        </profile>

+

+        <!--

+            Add the assembly module when performing an apache-release

+            

+            USAGE:

+             - mvn release:prepare -Papache-release

+             - mvn release:perform -Papache-release

+

+            NOTE that for the maven lifecycle invoked by the release plugin, -Papache-release will

+            be added automatically because of the config in apache-parent-7.

+        -->

+        <profile>

+            <id>apache-release</id>

+

+            <modules>

+                <module>assembly</module>

+            </modules>

+        </profile>

+

+        <profile>

+            <id>extended-manifest</id>

+            <build>

+                <plugins>

+                    <!-- revision number in manifest files -->

+                    <plugin>

+                        <groupId>org.apache.maven.plugins</groupId>

+                        <artifactId>maven-jar-plugin</artifactId>

+                        <configuration>

+                            <archive>

+                                <manifest>

+                                    <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>

+                                    <addDefaultImplementationEntries>true</addDefaultImplementationEntries>

+                                </manifest>

+                                <manifestEntries>

+                                    <Revision>${scm.revision}</Revision>

+                                    <Java-Vendor>${java.vendor}</Java-Vendor>

+                                </manifestEntries>

+                            </archive>

+                        </configuration>

+                        <executions>

+                            <execution>

+                                <goals>

+                                    <goal>test-jar</goal>

+                                </goals>

+                            </execution>

+                        </executions>

+                    </plugin>

+                    <plugin>

+                        <groupId>org.codehaus.mojo</groupId>

+                        <artifactId>buildnumber-maven-plugin</artifactId>

+                        <version>1.0-beta-4</version>

+                        <executions>

+                            <execution>

+                                <phase>validate</phase>

+                                <goals>

+                                    <goal>create</goal>

+                                </goals>

+                            </execution>

+                        </executions>

+                        <configuration>

+                            <doCheck>false</doCheck>

+                            <doUpdate>false</doUpdate>

+                            <getRevisionOnlyOnce>true</getRevisionOnlyOnce>

+                            <buildNumberPropertyName>scm.revision</buildNumberPropertyName>

+                            <!--revisionOnScmFailure>unknown</revisionOnScmFailure-->

+                        </configuration>

+                    </plugin>

+                </plugins>

+            </build>

+        </profile>

+    </profiles>

+

+</project>