diff --git a/.gitignore b/.gitignore
index 5178e29..2cc11ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,7 @@
 .project
 .classpath
 .idea
+extscript-mojarra/
 atlassian-ide-plugin.xml
 pom.xml.versionsBackup
 data
diff --git a/extscript-bundles/extscript-mojarra-bundle/pom.xml b/extscript-bundles/extscript-mojarra-bundle/pom.xml
new file mode 100644
index 0000000..0801711
--- /dev/null
+++ b/extscript-bundles/extscript-mojarra-bundle/pom.xml
@@ -0,0 +1,99 @@
+<?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>
+    <groupId>org.apache.myfaces.extensions.scripting</groupId>
+    <artifactId>extscript-mojarra-bundle</artifactId>
+    <packaging>jar</packaging>
+    <name>MyFaces Extension Scripting Mojarra 2.0 convenience meta bundle</name>
+    <version>1.0.5-SNAPSHOT</version>
+
+    <description>
+        The meta bundle bundeling all needed core runtimes
+        for a full mojarra 2.2 build
+    </description>
+
+    <parent>
+        <groupId>org.apache.myfaces.extensions.scripting</groupId>
+        <artifactId>extscript-bundles</artifactId>
+        <version>1.0.5-SNAPSHOT</version>
+    </parent>
+
+    <scm>
+        <connection>
+            scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk/extscript-bundles/extscript-mojarra-bundle
+        </connection>
+        <developerConnection>
+            scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk/extscript-bundles/extscript-mojarra-bundle
+        </developerConnection>
+        <url>
+            http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-bundles/extscript-mojarra-bundle
+        </url>
+    </scm>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.scripting</groupId>
+            <artifactId>extscript-core</artifactId>
+            <version>1.0.5-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.myfaces.extensions.scripting</groupId>
+            <artifactId>extscript-mojarra</artifactId>
+            <version>1.0.5-SNAPSHOT</version>
+        </dependency>
+
+    </dependencies>
+
+    <!-- we use the maven shade plugin to bundle our subprojects into bundles -->
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>1.3.1</version>
+                <!--
+                    todo use the shade plugin
+                    to rename references from
+                    util.shared_impl into impl
+                -->
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <artifactSet>
+                        <includes>
+                            <include>org.apache.myfaces.extensions.scripting:extscript-core</include>
+                            <include>org.apache.myfaces.extensions.scripting:extscript-mojarra</include>
+                        </includes>
+                    </artifactSet>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+
+</project>
