[SMX4-1928] Create OSGi bundles for Spring 4.1.4.RELEASE

git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/spring-context-4.1.4.RELEASE@1656267 13f79535-47bb-0310-9956-ffa450edef68
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