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>