diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..813e5d9
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <!--
+
+        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.
+    -->
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>bundles-pom</artifactId>
+        <version>11</version>
+        <relativePath>../bundles-pom/pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.apache.servicemix.bundles</groupId>
+    <artifactId>org.apache.servicemix.bundles.spring-context</artifactId>
+    <version>4.1.4.RELEASE_1-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>
+
+    <properties>
+        <pkgGroupId>org.springframework</pkgGroupId>
+        <pkgArtifactId>spring-context</pkgArtifactId>
+        <pkgVersion>4.1.4.RELEASE</pkgVersion>
+        <servicemix.osgi.export.pkg>
+            org.springframework
+        </servicemix.osgi.export.pkg>
+        <servicemix.osgi.import.pkg>
+            bsh;version="[2,3)";resolution:=optional,
+            com.ibm.websphere.management;resolution:=optional,
+            com.sun.net.httpserver;resolution:=optional,
+            edu.emory.mathcs.backport.java.util.concurrent;version="[3,4)";resolution:=optional,
+            groovy.lang;version="[1.8.8,2)";resolution:=optional,
+            javax.annotation;resolution:=optional,
+            javax.ejb;resolution:=optional,
+            javax.enterprise.concurrent;resolution:=optional,
+            javax.inject;resolution:=optional,
+            javax.interceptor;resolution:=optional,
+            javax.jms;resolution:=optional,
+            javax.management;resolution:=optional,
+            javax.management.modelmbean;resolution:=optional,
+            javax.management.openmbean;resolution:=optional,
+            javax.management.remote;resolution:=optional,
+            javax.naming;resolution:=optional,
+            javax.persistence;resolution:=optional,
+            javax.persistence.spi;resolution:=optional,
+            javax.rmi;resolution:=optional,
+            javax.script;resolution:=optional,
+            javax.validation;resolution:=optional,
+            javax.validation.bootstrap;resolution:=optional,
+            javax.validation.metadata;resolution:=optional,
+            javax.xml.namespace;resolution:=optional,
+            javax.xml.ws;resolution:=optional,
+            org.aopalliance.aop;version="[1,2)";resolution:=optional,
+            org.aopalliance.intercept;version="[1,2)";resolution:=optional,
+            org.apache.commons.logging;version="[1.1.1,2)";resolution:=optional,
+            org.aspectj.weaver.loadtime;version="[1.7.1,2)";resolution:=optional,
+            org.codehaus.groovy.control;version="[1.6.3,2)";resolution:=optional,
+            org.hibernate.validator;version="[4,5)";resolution:=optional,
+            org.hibernate.validator.messageinterpolation;version="[4,5)";resolution:=optional,
+            org.hibernate.validator.method;version="[4,5)";resolution:=optional,
+            org.hibernate.validator.resourceloading;version="[4,5)";resolution:=optional,
+            org.hibernate.validator.spi.resourceloading;version="[4,5)";resolution:=optional,
+            org.joda.time;version="[1.6.0,2)";resolution:=optional,
+            org.joda.time.format;version="[1.6.0,2)";resolution:=optional,
+            org.jruby;version="[1.7,2)";resolution:=optional,
+            org.jruby.ast;version="[1.7,2)";resolution:=optional,
+            org.jruby.exceptions;version="[1.7,2)";resolution:=optional,
+            org.jruby.javasupport;version="[1.7,2)";resolution:=optional,
+            org.jruby.runtime;version="[1.7,2)";resolution:=optional,
+            org.jruby.runtime.builtin;version="[1.7,2)";resolution:=optional,
+            org.omg.CORBA;resolution:=optional,
+            org.springframework.aop;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.config;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.framework;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.framework.adapter;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.interceptor;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.scope;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.support;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.support.annotation;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.target;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.target.dynamic;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.aop.framework.autoproxy;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.asm;version="[${pkgVersion},4.2)",
+            org.springframework.beans;version="[${pkgVersion},4.2)",
+            org.springframework.beans.annotation;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.access;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.annotation;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.config;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.parsing;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.support;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.xml;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory.groovy;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.beans.propertyeditors;version="[${pkgVersion},4.2)",
+            org.springframework.beans.support;version="[${pkgVersion},4.2)",
+            org.springframework.cglib.core;version="[${pkgVersion},4.2)",
+            org.springframework.cglib.proxy;version="[${pkgVersion},4.2)",
+            org.springframework.cglib.transform;version="[${pkgVersion},4.2)",
+            org.springframework.core;version="[${pkgVersion},4.2)",
+            org.springframework.core.annotation;version="[${pkgVersion},4.2)",
+            org.springframework.core.convert;version="[${pkgVersion},4.2)",
+            org.springframework.core.convert.converter;version="[${pkgVersion},4.2)",
+            org.springframework.core.convert.support;version="[${pkgVersion},4.2)",
+            org.springframework.core.env;version="[${pkgVersion},4.2)",
+            org.springframework.core.io;version="[${pkgVersion},4.2)",
+            org.springframework.core.io.support;version="[${pkgVersion},4.2)",
+            org.springframework.core.task;version="[${pkgVersion},4.2)",
+            org.springframework.core.task.support;version="[${pkgVersion},4.2)",
+            org.springframework.core.type;version="[${pkgVersion},4.2)",
+            org.springframework.core.type.classreading;version="[${pkgVersion},4.2)",
+            org.springframework.core.type.filter;version="[${pkgVersion},4.2)",
+            org.springframework.expression;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.expression.spel;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.expression.spel.standard;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.expression.spel.support;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.instrument;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.orm.jpa.support;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.util;version="[${pkgVersion},4.2)",
+            org.springframework.util.concurrent;version="[${pkgVersion},4.2)",
+            org.springframework.util.xml;version="[${pkgVersion},4.2)",
+            org.w3c.dom;resolution:=optional,
+            org.xml.sax;resolution:=optional
+        </servicemix.osgi.import.pkg>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-aop</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-beans</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-expression</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- sources -->
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+            <classifier>sources</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-aop</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-beans</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-expression</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <artifactSet>
+                                <includes>
+                                    <include>${pkgGroupId}:${pkgArtifactId}</include>
+                                </includes>
+                            </artifactSet>
+                            <filters>
+                                <filter>
+                                    <artifact>${pkgGroupId}:${pkgArtifactId}</artifact>
+                                    <includes>
+                                        <include>**/*.gif</include>
+                                        <include>**/*.xsd</include>
+                                        <include>**/*.xml</include>
+                                        <include>META-INF/spring*</include>
+                                    </includes>
+                                </filter>
+                            </filters>
+                            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+                            <createDependencyReducedPom>true</createDependencyReducedPom>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/src/main/resources/OSGI-INF/bundle.info b/src/main/resources/OSGI-INF/bundle.info
new file mode 100644
index 0000000..4c368f9
--- /dev/null
+++ b/src/main/resources/OSGI-INF/bundle.info
@@ -0,0 +1,11 @@
+\u001B[1mSYNOPSIS\u001B[0m
+    ${project.description}
+
+    Original Maven URL:
+        \u001B[33mmvn:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m
+
+\u001B[1mDESCRIPTION\u001B[0m
+    Spring Framework Context module.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://www.springsource.org/spring-framework\u001B[0m
