[SMX4-1861] Create OSGi bundles for Spring 4.1.1.RELEASE

git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/spring-orm-4.1.1.RELEASE@1630014 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ba0b5c7
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,216 @@
+<?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-orm</artifactId>
+    <version>4.1.1.RELEASE_1-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>Apache ServiceMix :: Bundles :: ${pkgArtifactId}</name>
+
+    <properties>
+        <pkgGroupId>org.springframework</pkgGroupId>
+        <pkgArtifactId>spring-orm</pkgArtifactId>
+        <pkgVersion>4.1.1.RELEASE</pkgVersion>
+        <servicemix.osgi.export.pkg>
+            org.springframework
+        </servicemix.osgi.export.pkg>
+        <servicemix.osgi.import.pkg>
+            com.ibatis.common.xml;resolution:=optional,
+            com.ibatis.sqlmap.client;resolution:=optional,
+            com.ibatis.sqlmap.client.event;resolution:=optional,
+            com.ibatis.sqlmap.engine.builder.xml;resolution:=optional,
+            com.ibatis.sqlmap.engine.impl;resolution:=optional,
+            com.ibatis.sqlmap.engine.transaction;resolution:=optional,
+            com.ibatis.sqlmap.engine.transaction.external;resolution:=optional,
+            com.ibatis.sqlmap.engine.type;resolution:=optional,
+            javax.jdo;resolution:=optional,
+            javax.jdo.datastore;resolution:=optional,
+            javax.persistence;resolution:=optional,
+            javax.persistence.criteria;resolution:=optional,
+            javax.persistence.metamodel;resolution:=optional,
+            javax.persistence.spi;resolution:=optional,
+            javax.servlet;resolution:=optional,
+            javax.servlet.http;resolution:=optional,
+            javax.sql;resolution:=optional,
+            javax.transaction;resolution:=optional,
+            javax.xml.parsers;resolution:=optional,
+            oracle.toplink.essentials.ejb.cmp3;resolution:=optional,
+            oracle.toplink.essentials.expressions;resolution:=optional,
+            oracle.toplink.essentials.internal.databaseaccess;resolution:=optional,
+            oracle.toplink.essentials.internal.sessions;resolution:=optional,
+            oracle.toplink.essentials.sessions;resolution:=optional,
+            org.aopalliance.intercept;version="[1,2)",
+            org.apache.commons.logging;version="[1.1.3,2)";resolution:=optional,
+            org.apache.openjpa.persistence;version="[2,3)";resolution:=optional,
+            org.eclipse.persistence.config;version="[2,3)";resolution:=optional,
+            org.eclipse.persistence.internal.databaseaccess;version="[2,3)";resolution:=optional,
+            org.eclipse.persistence.internal.sessions;version="[2,3)";resolution:=optional,
+            org.eclipse.persistence.jpa;version="[2,3)";resolution:=optional,
+            org.eclipse.persistence.sessions;version="[2,3)";resolution:=optional,
+            org.hibernate;version="[4,5)";resolution:=optional,
+            org.hibernate.annotations;version="[4,5)";resolution:=optional,
+            org.hibernate.cache;version="[4,5)";resolution:=optional,
+            org.hibernate.cache.access;version="[4,5)";resolution:=optional,
+            org.hibernate.cache.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.cfg;version="[4,5)";resolution:=optional,
+            org.hibernate.classic;version="[4,5)";resolution:=optional,
+            org.hibernate.connection;version="[4,5)";resolution:=optional,
+            org.hibernate.context;version="[4,5)";resolution:=optional,
+            org.hibernate.context.internal;version="[4,5)";resolution:=optional,
+            org.hibernate.context.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.criterion;version="[4,5)";resolution:=optional,
+            org.hibernate.dialect;version="[4,5)";resolution:=optional,
+            org.hibernate.dialect.lock;version="[4,5)";resolution:=optional,
+            org.hibernate.ejb;version="[4,5)";resolution:=optional,
+            org.hibernate.engine;version="[4,5)";resolution:=optional,
+            org.hibernate.engine.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.engine.transaction.internal.jta;version="[4,5)";resolution:=optional,
+            org.hibernate.engine.transaction.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.event;version="[4,5)";resolution:=optional,
+            org.hibernate.event.def;version="[4,5)";resolution:=optional,
+            org.hibernate.exception;version="[4,5)";resolution:=optional,
+            org.hibernate.impl;version="[4,5)";resolution:=optional,
+            org.hibernate.jdbc;version="[4,5)";resolution:=optional,
+            org.hibernate.jpa;version="[4,5)";resolution:=optional,
+            org.hibernate.jpa.boot.internal;version="[4,5)";resolution:=optional,
+            org.hibernate.jpa.boot.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.persister.entity;version="[4,5)";resolution:=optional,
+            org.hibernate.service;version="[4,5)";resolution:=optional,
+            org.hibernate.service.jdbc.connections.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.service.jta.platform.internal;version="[4,5)";resolution:=optional,
+            org.hibernate.service.jta.platform.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.service.spi;version="[4,5)";resolution:=optional,
+            org.hibernate.tool.hbm2ddl;version="[4,5)";resolution:=optional,
+            org.hibernate.transaction;version="[4,5)";resolution:=optional,
+            org.hibernate.transform;version="[4,5)";resolution:=optional,
+            org.hibernate.type;version="[4,5)";resolution:=optional,
+            org.hibernate.usertype;version="[4,5)";resolution:=optional,
+            org.hibernate.util;version="[4,5)";resolution:=optional,
+            org.springframework.aop.scope;version="[${pkgVersion},4.2)",
+            org.springframework.aop.support;version="[${pkgVersion},4.2)",
+            org.springframework.beans;version="[${pkgVersion},4.2)",
+            org.springframework.beans.factory;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.support;version="[${pkgVersion},4.2)",
+            org.springframework.context;version="[${pkgVersion},4.2)",
+            org.springframework.context.weaving;version="[${pkgVersion},4.2)",
+            org.springframework.core;version="[${pkgVersion},4.2)",
+            org.springframework.core.io;version="[${pkgVersion},4.2)",
+            org.springframework.core.io.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.dao;version="[${pkgVersion},4.2)",
+            org.springframework.dao.support;version="[${pkgVersion},4.2)",
+            org.springframework.instrument;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.instrument.classloading;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.jdbc;version="[${pkgVersion},4.2)",
+            org.springframework.jdbc.datasource;version="[${pkgVersion},4.2)",
+            org.springframework.jdbc.datasource.lookup;version="[${pkgVersion},4.2)",
+            org.springframework.jdbc.support;version="[${pkgVersion},4.2)",
+            org.springframework.jdbc.support.lob;version="[${pkgVersion},4.2)",
+            org.springframework.jndi;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.transaction;version="[${pkgVersion},4.2)",
+            org.springframework.transaction.jta;version="[${pkgVersion},4.2)",
+            org.springframework.transaction.support;version="[${pkgVersion},4.2)",
+            org.springframework.ui;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.util;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.util.xml;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.web.context;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.web.context.request;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.web.context.request.async;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.web.context.support;version="[${pkgVersion},4.2)";resolution:=optional,
+            org.springframework.web.filter;version="[${pkgVersion},4.2)";resolution:=optional,
+            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-beans</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-jdbc</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.springframework</groupId>
+                    <artifactId>spring-tx</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>
+                                    <excludes>
+                                        <exclude>**/*</exclude>
+                                    </excludes>
+                                </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..dad88ba
--- /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 ORM module.
+
+\u001B[1mSEE ALSO\u001B[0m
+    \u001B[36mhttp://www.springsource.org/spring-framework\u001B[0m