diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ce4ddbf
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,161 @@
+<?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-support</artifactId>
+    <version>4.0.1.RELEASE_1-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>
+
+    <properties>
+        <pkgGroupId>org.springframework</pkgGroupId>
+        <pkgArtifactId>spring-context-support</pkgArtifactId>
+        <pkgVersion>4.0.1.RELEASE</pkgVersion>
+        <servicemix.osgi.export.pkg>
+            org.springframework
+        </servicemix.osgi.export.pkg>
+        <servicemix.osgi.import.pkg>
+            com.google.common.cache;resolution:=optional,
+            commonj.timers;version="[1.1.0,2)";resolution:=optional,
+            commonj.work;version="[1.1.0,2)";resolution:=optional,
+            freemarker.cache;version="[2.3.15,3)";resolution:=optional,
+            freemarker.template;version="[2.3.15,3)";resolution:=optional,
+            javax.activation;resolution:=optional,
+            javax.cache;version="[0.5,1)";resolution:=optional,
+            javax.cache.spi;version="[0.5,1)";resolution:=optional,
+            javax.mail;version="[1.4,2)";resolution:=optional,
+            javax.mail.internet;version="[1.4,2)";resolution:=optional,
+            javax.naming;resolution:=optional,
+            javax.sql;resolution:=optional,
+            net.sf.ehcache;version="[1,3)";resolution:=optional,
+            net.sf.ehcache.bootstrap;version="[1,3)";resolution:=optional,
+            net.sf.ehcache.config;version="[1,3)";resolution:=optional,
+            net.sf.ehcache.constructs.blocking;version="[1,3)";resolution:=optional,
+            net.sf.ehcache.event;version="[1,3)";resolution:=optional,
+            net.sf.ehcache.store;version="[1,3)";resolution:=optional,
+            net.sf.jasperreports.engine;version="[2.0.5,4)";resolution:=optional,
+            net.sf.jasperreports.engine.data;version="[2.0.5,4)";resolution:=optional,
+            net.sf.jasperreports.engine.export;version="[2.0.5,4)";resolution:=optional,
+            org.apache.commons.collections;version="[3.2.0,4)";resolution:=optional,
+            org.apache.commons.logging;version="[1.1.1,2)";resolution:=optional,
+            org.apache.velocity;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.app;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.context;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.exception;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.runtime;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.runtime.log;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.runtime.resource;version="[1.5,2)";resolution:=optional,
+            org.apache.velocity.runtime.resource.loader;version="[1.5,2)";resolution:=optional,
+            org.quartz;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.impl;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.impl.jdbcjobstore;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.simpl;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.spi;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.utils;version="[1.6.1,3)";resolution:=optional,
+            org.quartz.xml;version="[1.6.1,3)";resolution:=optional,
+            org.springframework.beans;version=${pkgVersion};resolution:=optional,
+            org.springframework.beans.factory;version=${pkgVersion};resolution:=optional,
+            org.springframework.beans.support;version=${pkgVersion};resolution:=optional,
+            org.springframework.cache;version=${pkgVersion};resolution:=optional,
+            org.springframework.cache.support;version=${pkgVersion};resolution:=optional,
+            org.springframework.context;version=${pkgVersion},
+            org.springframework.core;version=${pkgVersion},
+            org.springframework.core.io;version=${pkgVersion},
+            org.springframework.core.io.support;version=${pkgVersion},
+            org.springframework.core.task;version=${pkgVersion},
+            org.springframework.jdbc.datasource;version=${pkgVersion};resolution:=optional,
+            org.springframework.jdbc.support;version=${pkgVersion};resolution:=optional,
+            org.springframework.jndi;version=${pkgVersion};resolution:=optional,
+            org.springframework.scheduling;version=${pkgVersion};resolution:=optional,
+            org.springframework.scheduling.support;version=${pkgVersion};resolution:=optional,
+            org.springframework.transaction;version=${pkgVersion};resolution:=optional,
+            org.springframework.transaction.support;version=${pkgVersion};resolution:=optional,
+            org.springframework.util;version=${pkgVersion},
+            org.springframework.util.concurrent;version=${pkgVersion}
+        </servicemix.osgi.import.pkg>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${pkgGroupId}</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-beans</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-context</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-core</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>**/mime.types</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..f77670e
--- /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 Support module.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://www.springsource.org/spring-framework\u001B[0m
