[springframework] switch to XMvn

gil gil at fedoraproject.org
Fri Dec 6 11:43:03 UTC 2013


commit 93b1c137e9a513b28b957611d01cd46d0b8be7bf
Author: gil <puntogil at libero.it>
Date:   Fri Dec 6 12:42:38 2013 +0100

    switch to XMvn

 pom.xml                                            |   28 -
 spring-framework-3.1.1-depmap                      |   50 -
 spring-framework-3.1.4-pom.xml                     |   38 -
 springframework-3.1.1-oxm-remove-castor-xml.patch  |   17 -
 springframework-3.1.4-dont-rebundle-asm.patch      |  267 +++++
 springframework-3.1.4-fix-javax-apis.patch         |  296 ++++++
 ...om.patch => springframework-3.1.4-orm-pom.patch |  121 ++--
 springframework-3.1.4-osgi-support.patch           |  945 ++++++++++++++++++
 springframework-3.1.4-test-servlet30.patch         |  252 +++++
 springframework-3.1.4.RELEASE-pom.xml              |  106 ++
 springframework-dont-rebundle-asm.patch            |  300 ------
 springframework-dont-use-aws-extension.patch       |   18 -
 springframework-downgrade-groovy-aid.patch         |   26 -
 springframework-fix-hibernate-validator-aid.patch  |   13 -
 springframework-fix-tomcat-catalina-aid.patch      |   13 -
 springframework-remove-ehcache-dependency.patch    |   46 -
 springframework-remove-jaxws-api-dependency.patch  |   56 -
 springframework-remove-jruby-dependency.patch      |   34 -
 springframework-remove-jsr166-dependency.patch     |   17 -
 ...framework-remove-websphere-uow-dependency.patch | 1053 --------------------
 springframework-update-cglib-gid-and-aid.patch     |  120 ---
 springframework-update-jetty-gid.patch             |   42 -
 springframework-use-javax-ejb.patch                |   14 -
 springframework-woodstox.patch                     |   12 -
 springframework.spec                               |  932 +++++++-----------
 25 files changed, 2290 insertions(+), 2526 deletions(-)
---
diff --git a/springframework-3.1.4-dont-rebundle-asm.patch b/springframework-3.1.4-dont-rebundle-asm.patch
new file mode 100644
index 0000000..07cf235
--- /dev/null
+++ b/springframework-3.1.4-dont-rebundle-asm.patch
@@ -0,0 +1,267 @@
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.aop/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.aop/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.aop/pom.xml	2013-10-12 17:44:12.257622183 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.aop/pom.xml	2013-10-12 17:45:44.207529006 +0200
+@@ -52,9 +52,9 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.springframework</groupId>
+-      <artifactId>spring-asm</artifactId>
+-      <version>${project.version}</version>
++      <groupId>asm</groupId>
++      <artifactId>asm</artifactId>
++      <version>3.3.1</version>
+       <scope>compile</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml	2013-10-12 17:44:12.258622127 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml	2013-10-12 17:47:06.693981506 +0200
+@@ -121,8 +121,8 @@
+     <dependency>
+       <groupId>asm</groupId>
+       <artifactId>asm</artifactId>
+-      <version>3.0</version>
+-      <optional>true</optional>
++      <version>3.3.1</version>
++      <scope>compile</scope>
+     </dependency>
+     <dependency>
+       <groupId>joda-time</groupId>
+@@ -161,12 +161,6 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.springframework</groupId>
+-      <artifactId>spring-asm</artifactId>
+-      <version>${project.version}</version>
+-      <scope>compile</scope>
+-    </dependency>
+-    <dependency>
+       <groupId>org.apache.geronimo.specs</groupId>
+       <artifactId>geronimo-jta_1.1_spec</artifactId>
+       <version>1.1</version>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.context/src/main/java/org/springframework/scripting/support/ScriptFactoryPostProcessor.java spring-framework-3.1.4.RELEASE-gil/org.springframework.context/src/main/java/org/springframework/scripting/support/ScriptFactoryPostProcessor.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.context/src/main/java/org/springframework/scripting/support/ScriptFactoryPostProcessor.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.context/src/main/java/org/springframework/scripting/support/ScriptFactoryPostProcessor.java	2013-10-12 17:43:18.592631502 +0200
+@@ -20,7 +20,7 @@
+ import java.util.Iterator;
+ import java.util.Map;
+ 
+-import net.sf.cglib.asm.Type;
++import org.objectweb.asm.Type;
+ import net.sf.cglib.core.Signature;
+ import net.sf.cglib.proxy.InterfaceMaker;
+ import org.apache.commons.logging.Log;
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.core/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/pom.xml	2013-10-12 17:44:12.260622016 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/pom.xml	2013-10-12 17:49:02.330614178 +0200
+@@ -28,9 +28,15 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.springframework</groupId>
+-      <artifactId>spring-asm</artifactId>
+-      <version>${project.version}</version>
++      <groupId>asm</groupId>
++      <artifactId>asm</artifactId>
++      <version>3.3.1</version>
++      <scope>compile</scope>
++    </dependency>
++    <dependency>
++      <groupId>asm</groupId>
++      <artifactId>asm-commons</artifactId>
++      <version>3.3.1</version>
+       <scope>compile</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java	2013-10-12 17:43:18.578632294 +0200
+@@ -28,12 +28,12 @@
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+ 
+-import org.springframework.asm.ClassReader;
+-import org.springframework.asm.Label;
+-import org.springframework.asm.MethodVisitor;
+-import org.springframework.asm.Opcodes;
+-import org.springframework.asm.Type;
+-import org.springframework.asm.commons.EmptyVisitor;
++import org.objectweb.asm.ClassReader;
++import org.objectweb.asm.Label;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
++import org.objectweb.asm.Type;
++import org.objectweb.asm.commons.EmptyVisitor;
+ import org.springframework.util.ClassUtils;
+ 
+ /**
+@@ -108,7 +108,7 @@
+ 		try {
+ 			ClassReader classReader = new ClassReader(is);
+ 			Map<Member, String[]> map = new ConcurrentHashMap<Member, String[]>();
+-			classReader.accept(new ParameterNameDiscoveringVisitor(clazz, map), false);
++			classReader.accept(new ParameterNameDiscoveringVisitor(clazz, map), 0);
+ 			return map;
+ 		}
+ 		catch (IOException ex) {
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationAttributesReadingVisitor.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationAttributesReadingVisitor.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationAttributesReadingVisitor.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationAttributesReadingVisitor.java	2013-10-12 17:43:18.499636763 +0200
+@@ -28,8 +28,8 @@
+ 
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+-import org.springframework.asm.AnnotationVisitor;
+-import org.springframework.asm.Type;
++import org.objectweb.asm.AnnotationVisitor;
++import org.objectweb.asm.Type;
+ import org.springframework.core.annotation.AnnotationAttributes;
+ import org.springframework.core.annotation.AnnotationUtils;
+ import org.springframework.util.ObjectUtils;
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitor.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitor.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitor.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/AnnotationMetadataReadingVisitor.java	2013-10-12 17:43:18.498636820 +0200
+@@ -23,9 +23,9 @@
+ import java.util.Map;
+ import java.util.Set;
+ 
+-import org.springframework.asm.AnnotationVisitor;
+-import org.springframework.asm.MethodVisitor;
+-import org.springframework.asm.Type;
++import org.objectweb.asm.AnnotationVisitor;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Type;
+ import org.springframework.core.annotation.AnnotationAttributes;
+ import org.springframework.core.type.AnnotationMetadata;
+ import org.springframework.core.type.MethodMetadata;
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/ClassMetadataReadingVisitor.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/ClassMetadataReadingVisitor.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/ClassMetadataReadingVisitor.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/ClassMetadataReadingVisitor.java	2013-10-12 17:43:18.500636707 +0200
+@@ -19,13 +19,13 @@
+ import java.util.LinkedHashSet;
+ import java.util.Set;
+ 
+-import org.springframework.asm.AnnotationVisitor;
+-import org.springframework.asm.Attribute;
+-import org.springframework.asm.ClassVisitor;
+-import org.springframework.asm.FieldVisitor;
+-import org.springframework.asm.MethodVisitor;
+-import org.springframework.asm.Opcodes;
+-import org.springframework.asm.commons.EmptyVisitor;
++import org.objectweb.asm.AnnotationVisitor;
++import org.objectweb.asm.Attribute;
++import org.objectweb.asm.ClassVisitor;
++import org.objectweb.asm.FieldVisitor;
++import org.objectweb.asm.MethodVisitor;
++import org.objectweb.asm.Opcodes;
++import org.objectweb.asm.commons.EmptyVisitor;
+ import org.springframework.core.type.ClassMetadata;
+ import org.springframework.util.ClassUtils;
+ 
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MetadataReader.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MetadataReader.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MetadataReader.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MetadataReader.java	2013-10-12 17:43:18.499636763 +0200
+@@ -22,7 +22,7 @@
+ 
+ /**
+  * Simple facade for accessing class metadata,
+- * as read by an ASM {@link org.springframework.asm.ClassReader}.
++ * as read by an ASM {@link org.objectweb.asm.ClassReader}.
+  *
+  * @author Juergen Hoeller
+  * @since 2.5
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitor.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitor.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitor.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/MethodMetadataReadingVisitor.java	2013-10-12 17:43:18.501636650 +0200
+@@ -19,11 +19,11 @@
+ import java.util.LinkedHashMap;
+ import java.util.Map;
+ 
+-import org.springframework.asm.AnnotationVisitor;
+-import org.springframework.asm.MethodAdapter;
+-import org.springframework.asm.Opcodes;
+-import org.springframework.asm.Type;
+-import org.springframework.asm.commons.EmptyVisitor;
++import org.objectweb.asm.AnnotationVisitor;
++import org.objectweb.asm.MethodAdapter;
++import org.objectweb.asm.Opcodes;
++import org.objectweb.asm.Type;
++import org.objectweb.asm.commons.EmptyVisitor;
+ import org.springframework.core.annotation.AnnotationAttributes;
+ import org.springframework.core.type.MethodMetadata;
+ import org.springframework.util.MultiValueMap;
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReaderFactory.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReaderFactory.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReaderFactory.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReaderFactory.java	2013-10-12 17:43:18.500636707 +0200
+@@ -25,7 +25,7 @@
+ 
+ /**
+  * Simple implementation of the {@link MetadataReaderFactory} interface,
+- * creating a new ASM {@link org.springframework.asm.ClassReader} for every request.
++ * creating a new ASM {@link org.objectweb.asm.ClassReader} for every request.
+  *
+  * @author Juergen Hoeller
+  * @since 2.5
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReader.java spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReader.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReader.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/src/main/java/org/springframework/core/type/classreading/SimpleMetadataReader.java	2013-10-12 17:43:18.583632011 +0200
+@@ -20,14 +20,14 @@
+ import java.io.IOException;
+ import java.io.InputStream;
+ 
+-import org.springframework.asm.ClassReader;
++import org.objectweb.asm.ClassReader;
+ import org.springframework.core.io.Resource;
+ import org.springframework.core.type.AnnotationMetadata;
+ import org.springframework.core.type.ClassMetadata;
+ 
+ /**
+  * {@link MetadataReader} implementation based on an ASM
+- * {@link org.springframework.asm.ClassReader}.
++ * {@link org.objectweb.asm.ClassReader}.
+  *
+  * <p>Package-visible in order to allow for repackaging the ASM library
+  * without effect on users of the <code>core.type</code> package.
+@@ -56,7 +56,7 @@
+ 		}
+ 
+ 		AnnotationMetadataReadingVisitor visitor = new AnnotationMetadataReadingVisitor(classLoader);
+-		classReader.accept(visitor, true);
++		classReader.accept(visitor, ClassReader.SKIP_DEBUG);
+ 		
+ 		this.annotationMetadata = visitor;
+ 		// (since AnnotationMetadataReader extends ClassMetadataReadingVisitor)
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml	2013-10-12 17:44:12.297619955 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml	2013-10-12 17:50:28.177888493 +0200
+@@ -59,9 +59,9 @@
+     </dependency>
+     <!-- common logging dependency is in spring-core -->
+     <dependency>
+-      <groupId>org.springframework</groupId>
+-      <artifactId>spring-asm</artifactId>
+-      <version>${project.version}</version>
++      <groupId>asm</groupId>
++      <artifactId>asm</artifactId>
++      <version>3.3.1</version>
+       <scope>compile</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml	2013-10-12 17:44:12.307619398 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml	2013-10-12 17:52:23.878519789 +0200
+@@ -158,9 +158,9 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.springframework</groupId>
+-      <artifactId>spring-asm</artifactId>
+-      <version>${project.version}</version>
++      <groupId>asm</groupId>
++      <artifactId>asm</artifactId>
++      <version>3.3.1</version>
+       <scope>compile</scope>
+     </dependency>
+     <dependency>
diff --git a/springframework-3.1.4-fix-javax-apis.patch b/springframework-3.1.4-fix-javax-apis.patch
new file mode 100644
index 0000000..7b144e8
--- /dev/null
+++ b/springframework-3.1.4-fix-javax-apis.patch
@@ -0,0 +1,296 @@
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.beans/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.beans/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.beans/pom.xml	2013-10-12 21:21:45.249335371 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.beans/pom.xml	2013-10-12 19:33:29.628663291 +0200
+@@ -27,9 +27,9 @@
+         <scope>test</scope>
+       </dependency>
+     <dependency>
+-      <groupId>javax.el</groupId>
+-      <artifactId>el-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-el-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml	2013-10-12 21:21:45.269334268 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml	2013-10-12 20:38:29.438265267 +0200
+@@ -28,15 +28,15 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.annotation</groupId>
+-      <artifactId>jsr250-api</artifactId>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-annotation_1.1_spec</artifactId>
+       <version>1.0</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+       <groupId>org.apache.geronimo.specs</groupId>
+-      <artifactId>geronimo-ejb_3.0_spec</artifactId>
+-      <version>1.0.1</version>
++      <artifactId>geronimo-ejb_3.1_spec</artifactId>
++      <version>1.0</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+@@ -64,15 +64,15 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.persistence</groupId>
+-      <artifactId>persistence-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.hibernate.javax.persistence</groupId>
++      <artifactId>hibernate-jpa-2.0-api</artifactId>
++      <version>1.0.1.Final</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.validation</groupId>
+-      <artifactId>validation-api</artifactId>
+-      <version>1.0.0.GA</version>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-validation_1.0_spec</artifactId>
++      <version>1.1</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.orm/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.orm/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.orm/pom.xml	2013-10-12 21:21:45.256334985 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.orm/pom.xml	2013-10-12 20:39:23.158304694 +0200
+@@ -137,15 +137,15 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.persistence</groupId>
+-      <artifactId>persistence-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.hibernate.javax.persistence</groupId>
++      <artifactId>hibernate-jpa-2.0-api</artifactId>
++      <version>1.0.1.Final</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet</groupId>
+-      <artifactId>servlet-api</artifactId>
+-      <version>2.5</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-servlet-api</artifactId>
++      <version>7.0.42</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml	2013-10-12 21:21:45.257334930 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml	2013-10-12 20:40:01.661182781 +0200
+@@ -28,9 +28,9 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.el</groupId>
+-      <artifactId>el-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-el-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+@@ -40,9 +40,9 @@
+       <scope>test</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.persistence</groupId>
+-      <artifactId>persistence-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.hibernate.javax.persistence</groupId>
++      <artifactId>hibernate-jpa-2.0-api</artifactId>
++      <version>1.0.1.Final</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+@@ -58,9 +58,9 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet.jsp</groupId>
+-      <artifactId>jsp-api</artifactId>
+-      <version>2.1</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-jsp-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.transaction/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.transaction/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.transaction/pom.xml	2013-10-12 21:21:45.258334875 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.transaction/pom.xml	2013-10-12 19:17:44.968620241 +0200
+@@ -30,9 +30,9 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.ejb</groupId>
+-      <artifactId>com.springsource.javax.ejb</artifactId>
+-      <version>3.0.0</version>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-ejb_3.1_spec</artifactId>
++      <version>1.0</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web/pom.xml	2013-10-12 21:21:45.259334820 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web/pom.xml	2013-10-12 19:38:44.168367108 +0200
+@@ -34,15 +34,15 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.el</groupId>
+-      <artifactId>el-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-el-api</artifactId>
++      <version>7.0.8</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.faces</groupId>
+-      <artifactId>jsf-api</artifactId>
+-      <version>1.2_08</version>
++      <groupId>org.jboss.spec.javax.faces</groupId>
++      <artifactId>jboss-jsf-api_2.1_spec</artifactId>
++      <version>2.0.2.Final</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+@@ -58,21 +58,21 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet.jsp</groupId>
+-      <artifactId>jsp-api</artifactId>
+-      <version>2.1</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-jsp-api</artifactId>
++      <version>7.0.8</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.xml</groupId>
+-      <artifactId>jaxrpc-api</artifactId>
+-      <version>1.1</version>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
++      <version>2.1</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.xml.soap</groupId>
+-      <artifactId>saaj-api</artifactId>
+-      <version>1.3</version>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-saaj_1.3_spec</artifactId>
++      <version>1.1</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml	2013-10-12 21:21:45.275333937 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml	2013-10-12 19:28:20.808641806 +0200
+@@ -22,9 +22,9 @@
+   </licenses>
+   <dependencies>
+     <dependency>
+-      <groupId>javax.el</groupId>
+-      <artifactId>el-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-el-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+@@ -34,9 +34,9 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet</groupId>
+-      <artifactId>servlet-api</artifactId>
+-      <version>2.5</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-servlet-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml	2013-10-12 21:21:45.275333937 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml	2013-10-12 19:50:01.789081429 +0200
+@@ -55,9 +55,9 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.el</groupId>
+-      <artifactId>el-api</artifactId>
+-      <version>1.0</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-el-api</artifactId>
++      <version>7.0.8</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+@@ -67,9 +67,9 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet.jsp</groupId>
+-      <artifactId>jsp-api</artifactId>
+-      <version>2.1</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-jsp-api</artifactId>
++      <version>7.0.8</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+@@ -285,9 +285,9 @@
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>javax.validation</groupId>
+-      <artifactId>validation-api</artifactId>
+-      <version>1.0.0.GA</version>
++      <groupId>org.apache.geronimo.specs</groupId>
++      <artifactId>geronimo-validation_1.0_spec</artifactId>
++      <version>1.1</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.struts/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.struts/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.struts/pom.xml	2013-10-12 21:21:45.261334709 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.struts/pom.xml	2013-10-12 19:46:26.368936837 +0200
+@@ -22,15 +22,15 @@
+   </licenses>
+   <dependencies>
+     <dependency>
+-      <groupId>javax.servlet</groupId>
+-      <artifactId>servlet-api</artifactId>
+-      <version>2.5</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-servlet-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet.jsp</groupId>
+-      <artifactId>jsp-api</artifactId>
+-      <version>2.1</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-jsp-api</artifactId>
++      <version>7.0.42</version>
+       <scope>test</scope>
+     </dependency>
+     <dependency>
diff --git a/springframework-3.1.1-orm-pom.patch b/springframework-3.1.4-orm-pom.patch
similarity index 58%
rename from springframework-3.1.1-orm-pom.patch
rename to springframework-3.1.4-orm-pom.patch
index 0f744c2..751dadb 100644
--- a/springframework-3.1.1-orm-pom.patch
+++ b/springframework-3.1.4-orm-pom.patch
@@ -1,111 +1,116 @@
---- org.springframework.orm/pom.xml	2012-05-28 21:51:34.670930420 +0200
-+++ org.springframework.orm/pom.xml-gil	2012-05-28 21:51:41.811930459 +0200
-@@ -34,15 +34,57 @@
-       <optional>true</optional>
+--- org.springframework.orm/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ org.springframework.orm/pom.xml-gil	2013-10-12 15:07:36.949803877 +0200
+@@ -35,39 +35,69 @@
      </dependency>
      <!-- common logging dependency is in spring-core -->
--    <dependency>
-+    <!--dependency>
-       <groupId>org.apache.ibatis</groupId>
-       <artifactId>ibatis-sqlmap</artifactId>
-       <version>2.3.4.726</version>
-       <optional>true</optional>
-+    </dependency-->
-+    <dependency>
+     <dependency>
+-      <groupId>org.apache.ibatis</groupId>
+-      <artifactId>ibatis-sqlmap</artifactId>
+-      <version>2.3.4.726</version>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-lib</artifactId>
-+      <version>1.1.0</version>
++      <version>2.2.1</version>
 +      <optional>true</optional>
++     </dependency>
++    <dependency>
++      <groupId>org.apache.openjpa</groupId>
++      <artifactId>openjpa-kernel</artifactId>
++      <version>2.2.1</version>
+       <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>org.apache.openjpa</groupId>
 -      <artifactId>openjpa</artifactId>
-+      <artifactId>openjpa-kernel</artifactId>
-+      <version>1.1.0</version>
-+      <optional>true</optional>
-+    </dependency>
-+    <dependency>
-+      <groupId>org.apache.openjpa</groupId>
+-      <version>1.1.0</version>
 +      <artifactId>openjpa-jdbc</artifactId>
-+      <version>1.1.0</version>
-+      <optional>true</optional>
-+    </dependency>
-+    <dependency>
++      <version>2.2.1</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.eclipse.persistence</groupId>
+-      <artifactId>org.eclipse.persistence.core</artifactId>
+-      <version>1.0.1</version>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-persistence</artifactId>
-+      <version>1.1.0</version>
-+      <optional>true</optional>
-+    </dependency>
-+    <dependency>
++      <version>2.2.1</version>
+       <optional>true</optional>
+     </dependency>
+     <dependency>
+-      <groupId>org.eclipse.persistence</groupId>
+-      <artifactId>org.eclipse.persistence.jpa</artifactId>
+-      <version>1.0.1</version>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-persistence-jdbc</artifactId>
-+      <version>1.1.0</version>
++      <version>2.2.1</version>
 +      <optional>true</optional>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-xmlstore</artifactId>
-+      <version>1.1.0</version>
++      <version>2.2.1</version>
 +      <optional>true</optional>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-slice</artifactId>
-+      <version>1.1.0</version>
++      <version>2.2.1</version>
 +      <optional>true</optional>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.openjpa</groupId>
 +      <artifactId>openjpa-jest</artifactId>
-       <version>1.1.0</version>
-       <optional>true</optional>
-     </dependency>
-@@ -59,14 +101,14 @@
++      <version>2.2.1</version>
        <optional>true</optional>
      </dependency>
      <dependency>
--      <groupId>org.eclipse.persistence</groupId>
+       <groupId>org.eclipse.persistence</groupId>
 -      <artifactId>org.eclipse.persistence.asm</artifactId>
++      <artifactId>org.eclipse.persistence.core</artifactId>
+       <version>1.0.1</version>
++      <optional>true</optional>
++    </dependency>
++    <dependency>
 +      <groupId>asm</groupId>
 +      <artifactId>asm</artifactId>
-       <version>1.0.1</version>
++      <version>3.3.1</version>
        <scope>test</scope>
      </dependency>
      <dependency>
 -      <groupId>org.eclipse.persistence</groupId>
 -      <artifactId>org.eclipse.persistence.antlr</artifactId>
+-      <version>1.0.1</version>
 +      <groupId>antlr</groupId>
 +      <artifactId>antlr</artifactId>
-       <version>1.0.1</version>
++      <version>2.7.7</version>
        <scope>test</scope>
      </dependency>
-@@ -76,12 +118,12 @@
-       <version>3.6.0.Final</version>
+     <dependency>
+@@ -77,14 +107,8 @@
        <optional>true</optional>
      </dependency>
--    <dependency>
-+    <!--dependency>
-       <groupId>org.hibernate</groupId>
-       <artifactId>hibernate-cglib-repack</artifactId>
-       <version>2.1_3</version>
-       <scope>test</scope>
--    </dependency>
-+    </dependency-->
      <dependency>
-       <groupId>net.sf.cglib</groupId>
-       <artifactId>cglib</artifactId>
-@@ -100,12 +142,12 @@
+-      <groupId>org.hibernate</groupId>
+-      <artifactId>hibernate-cglib-repack</artifactId>
+-      <version>2.1_3</version>
+-      <scope>test</scope>
+-    </dependency>
+-    <dependency>
+       <groupId>cglib</groupId>
+-      <artifactId>cglib-nodep</artifactId>
++      <artifactId>cglib</artifactId>
+       <version>2.2</version>
        <scope>test</scope>
-       <optional>true</optional>
      </dependency>
--    <dependency>
-+    <!--dependency>
-       <groupId>org.hibernate</groupId>
-       <artifactId>hibernate-annotations</artifactId>
-       <version>3.4.0.GA</version>
+@@ -101,12 +125,6 @@
        <optional>true</optional>
--    </dependency>
-+    </dependency-->
+     </dependency>
      <dependency>
+-      <groupId>org.hibernate</groupId>
+-      <artifactId>hibernate-annotations</artifactId>
+-      <version>3.4.0.GA</version>
+-      <optional>true</optional>
+-    </dependency>
+-    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
+       <version>3.4.0.GA</version>
diff --git a/springframework-3.1.4-osgi-support.patch b/springframework-3.1.4-osgi-support.patch
new file mode 100644
index 0000000..31f8725
--- /dev/null
+++ b/springframework-3.1.4-osgi-support.patch
@@ -0,0 +1,945 @@
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.aop/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.aop/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.aop/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.aop/pom.xml	2013-10-12 16:03:32.609320161 +0200
+@@ -85,4 +85,48 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++  
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.aop;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.aop</Bundle-SymbolicName>
++            <Bundle-Name>Spring AOP</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++  </build>
++
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.beans/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.beans/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.beans/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.beans/pom.xml	2013-10-12 16:53:16.121871850 +0200
+@@ -79,5 +79,46 @@
+         </plugin>
+       </plugins>
+     </pluginManagement>
++
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.beans;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.beans</Bundle-SymbolicName>
++            <Bundle-Name>Spring Beans</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.context/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.context/pom.xml	2013-10-12 16:51:57.139200615 +0200
+@@ -276,5 +276,60 @@
+         </includes>
+       </testResource>
+     </testResources>
++
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.cache;version=${project.version},
++              org.springframework.ejb;version=${project.version},
++              org.springframework.format;version=${project.version},
++              org.springframework.instrument.classloading;version=${project.version},
++              org.springframework.jmx;version=${project.version},
++              org.springframework.jndi;version=${project.version},
++              org.springframework.remoting;version=${project.version},
++              org.springframework.scheduling;version=${project.version},
++              org.springframework.scripting;version=${project.version},
++              org.springframework.stereotype;version=${project.version},
++              org.springframework.ui;version=${project.version},
++              org.springframework.validation;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.context</Bundle-SymbolicName>
++            <Bundle-Name>Spring Context</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.context.support/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.context.support/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.context.support/pom.xml	2013-10-12 16:48:00.139180116 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.context.support/pom.xml	2013-10-12 16:50:54.312642837 +0200
+@@ -143,5 +143,55 @@
+         </includes>
+       </testResource>
+     </testResources>
++    
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.mail;version=${project.version},
++              org.springframework.scheduling.commonj;version=${project.version},
++              org.springframework.scheduling.quartz;version=${project.version},
++              org.springframework.ui.freemarker;version=${project.version},
++              org.springframework.ui.jasperreports;version=${project.version},
++              org.springframework.ui.velocity;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.context.support</Bundle-SymbolicName>
++            <Bundle-Name>Spring Context Support</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++    
++
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.core/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.core/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.core/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.core/pom.xml	2013-10-12 17:01:14.269639628 +0200
+@@ -80,4 +80,49 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.core;version=${project.version},
++              org.springframework.util;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.core</Bundle-SymbolicName>
++            <Bundle-Name>Spring Core</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.expression/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.expression/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.expression/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.expression/pom.xml	2013-10-12 17:05:00.950191035 +0200
+@@ -51,5 +51,45 @@
+         </plugin>
+       </plugins>
+     </pluginManagement>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.expression;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.expression</Bundle-SymbolicName>
++            <Bundle-Name>Spring Expression Language</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.instrument/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.instrument/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.instrument/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.instrument/pom.xml	2013-10-12 16:56:04.065662881 +0200
+@@ -20,4 +20,50 @@
+       <distribution>repo</distribution>
+     </license>
+   </licenses>
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.instrument;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.instrument</Bundle-SymbolicName>
++            <Bundle-Name>Spring Instrument</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++            <Premain-Class>org.springframework.instrument.InstrumentationSavingAgent</Premain-Class>
++            <Can-Redefine-Classes>true</Can-Redefine-Classes>
++            <Can-Retransform-Classes>true</Can-Retransform-Classes>
++            <Can-Set-Native-Method-Prefix>false</Can-Set-Native-Method-Prefix>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.instrument.tomcat/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.instrument.tomcat/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.instrument.tomcat/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.instrument.tomcat/pom.xml	2013-10-12 16:58:42.161988916 +0200
+@@ -28,4 +28,46 @@
+       <scope>provided</scope>
+     </dependency>
+   </dependencies>
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.instrument.classloading.tomcat;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.instrument.tomcat</Bundle-SymbolicName>
++            <Bundle-Name>Spring Instrument Tomcat Weaver</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.jdbc/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.jdbc/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.jdbc/pom.xml	2013-10-12 16:48:00.136180280 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.jdbc/pom.xml	2013-10-12 17:07:32.218935939 +0200
+@@ -107,5 +107,45 @@
+         </includes>
+       </testResource>
+     </testResources>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.jdbc;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.jdbc</Bundle-SymbolicName>
++            <Bundle-Name>Spring JDBC</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.jms/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.jms/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.jms/pom.xml	2013-10-12 16:48:00.149179568 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.jms/pom.xml	2013-10-12 17:09:40.461931801 +0200
+@@ -117,5 +117,45 @@
+         </plugin>
+       </plugins>
+     </pluginManagement>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.jms;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.jms</Bundle-SymbolicName>
++            <Bundle-Name>Spring JMS</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.orm/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.orm/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.orm/pom.xml	2013-10-12 16:48:00.153179350 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.orm/pom.xml	2013-10-12 17:10:10.468292181 +0200
+@@ -258,5 +258,48 @@
+         </includes>
+       </testResource>
+     </testResources>
++    
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.orm;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.orm</Bundle-SymbolicName>
++            <Bundle-Name>Spring ORM</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.oxm/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.oxm/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.oxm/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.oxm/pom.xml	2013-10-12 17:12:04.198075217 +0200
+@@ -105,4 +105,47 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.oxm;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.oxm</Bundle-SymbolicName>
++            <Bundle-Name>Spring Object/XML Mapping</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
++
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml	2013-10-12 16:48:00.183177708 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml	2013-10-12 17:14:47.878121496 +0200
+@@ -166,4 +166,49 @@
+       <optional>true</optional>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.mock;version=${project.version},
++              org.springframework.test;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.test</Bundle-SymbolicName>
++            <Bundle-Name>Spring Test</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.transaction/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.transaction/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.transaction/pom.xml	2013-10-12 16:48:00.132180499 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.transaction/pom.xml	2013-10-12 17:17:33.779039761 +0200
+@@ -112,4 +112,50 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.dao;version=${project.version},
++              org.springframework.jca;version=${project.version},
++              org.springframework.transaction;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.transaction</Bundle-SymbolicName>
++            <Bundle-Name>Spring Transaction</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web/pom.xml	2013-10-12 17:19:52.347449936 +0200
+@@ -200,4 +200,50 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.http;version=${project.version},
++              org.springframework.remoting;version=${project.version},
++              org.springframework.web;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.web</Bundle-SymbolicName>
++            <Bundle-Name>Spring Web</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.portlet/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.portlet/pom.xml	2013-10-12 17:21:37.798671737 +0200
+@@ -117,5 +117,45 @@
+         </plugin>
+       </plugins>
+     </pluginManagement>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.web.portlet;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.web.portlet</Bundle-SymbolicName>
++            <Bundle-Name>Spring Web Portlet</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++
++    </plugins>
+   </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.servlet/pom.xml	2013-10-12 16:48:00.162178857 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.servlet/pom.xml	2013-10-12 17:23:47.019594802 +0200
+@@ -327,4 +327,46 @@
+       </exclusions>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>org.springframework.web.servlet;version=${project.version}</Export-Package>
++            <Bundle-SymbolicName>org.springframework.web.servlet</Bundle-SymbolicName>
++            <Bundle-Name>Spring Web Servlet</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
+ </project>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.web.struts/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.web.struts/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.web.struts/pom.xml	2013-10-12 16:48:00.168178529 +0200
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.web.struts/pom.xml	2013-10-12 17:26:57.389167095 +0200
+@@ -110,4 +110,49 @@
+       <scope>test</scope>
+     </dependency>
+   </dependencies>
++
++  <build>
++    <plugins>
++      <plugin>
++        <groupId>org.apache.felix</groupId>
++        <artifactId>maven-bundle-plugin</artifactId>
++        <version>2.3.7</version>
++        <extensions>true</extensions>
++        <configuration>
++          <instructions>
++            <Export-Package>
++              org.springframework.web.servlet.view.tiles;version=${project.version},
++              org.springframework.web.struts;version=${project.version}
++            </Export-Package>
++            <Bundle-SymbolicName>org.springframework.web.struts</Bundle-SymbolicName>
++            <Bundle-Name>Spring Web Struts</Bundle-Name>
++            <Bundle-Vendor>SpringSource</Bundle-Vendor>
++          </instructions>
++        </configuration>
++        <executions>
++          <execution>
++            <id>bundle-manifest</id>
++            <phase>process-classes</phase>
++            <goals>
++              <goal>manifest</goal>
++            </goals>
++          </execution>
++        </executions>
++      </plugin>
++
++      <plugin>
++        <groupId>org.apache.maven.plugins</groupId>
++        <artifactId>maven-jar-plugin</artifactId>
++        <version>2.4</version>
++        <configuration>
++          <archive>
++            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
++            <manifest>
++             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
++            </manifest>
++          </archive>
++        </configuration>
++      </plugin>
++    </plugins>
++  </build>
+ </project>
diff --git a/springframework-3.1.4-test-servlet30.patch b/springframework-3.1.4-test-servlet30.patch
new file mode 100644
index 0000000..3c1b0ca
--- /dev/null
+++ b/springframework-3.1.4-test-servlet30.patch
@@ -0,0 +1,252 @@
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/pom.xml	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/pom.xml	2013-10-12 15:31:13.418454486 +0200
+@@ -52,9 +52,9 @@
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+-      <groupId>javax.servlet</groupId>
+-      <artifactId>servlet-api</artifactId>
+-      <version>2.5</version>
++      <groupId>org.apache.tomcat</groupId>
++      <artifactId>tomcat-servlet-api</artifactId>
++      <version>7.0.42</version>
+       <scope>provided</scope>
+     </dependency>
+     <dependency>
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java	2013-10-12 15:42:38.918709139 +0200
+@@ -35,14 +35,19 @@
+ import java.util.Locale;
+ import java.util.Map;
+ import java.util.Set;
++import javax.servlet.AsyncContext;
++import javax.servlet.DispatcherType;
+ import javax.servlet.RequestDispatcher;
+ import javax.servlet.ServletContext;
+ import javax.servlet.ServletException;
+ import javax.servlet.ServletInputStream;
++import javax.servlet.ServletRequest;
++import javax.servlet.ServletResponse;
+ import javax.servlet.http.Cookie;
+ import javax.servlet.http.HttpServletRequest;
+ import javax.servlet.http.HttpServletResponse;
+ import javax.servlet.http.HttpSession;
++import javax.servlet.http.Part;
+ 
+ import org.springframework.util.Assert;
+ import org.springframework.util.LinkedCaseInsensitiveMap;
+@@ -897,4 +902,52 @@
+ 		this.authType = null;
+ 	}
+ 
++	//---------------------------------------------------------------------
++	// Unsupported Servlet 3.0 registration methods
++	//---------------------------------------------------------------------
++
++	public AsyncContext startAsync() {
++		throw new UnsupportedOperationException();
++	}
++
++	public AsyncContext startAsync(ServletRequest request, ServletResponse response) {
++		throw new UnsupportedOperationException();
++	}
++
++	public void setAsyncStarted(boolean asyncStarted) {
++		throw new UnsupportedOperationException();
++	}
++
++	public boolean isAsyncStarted() {
++		throw new UnsupportedOperationException();
++	}
++
++	public void setAsyncSupported(boolean asyncSupported) {
++		throw new UnsupportedOperationException();
++	}
++
++	public boolean isAsyncSupported() {
++		throw new UnsupportedOperationException();
++	}
++
++	public AsyncContext getAsyncContext() {
++		throw new UnsupportedOperationException();
++	}
++
++	public void setDispatcherType(DispatcherType dispatcherType) {
++		throw new UnsupportedOperationException();
++	}
++
++	public DispatcherType getDispatcherType() {
++		throw new UnsupportedOperationException();
++	}
++
++	public Part getPart(String name) throws IOException, IllegalStateException, ServletException {
++		throw new UnsupportedOperationException();
++	}
++
++	public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException {
++		throw new UnsupportedOperationException();
++	}
++
+ }
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockMultipartHttpServletRequest.java	2013-10-12 15:39:20.578551268 +0200
+@@ -16,12 +16,17 @@
+ 
+ package org.springframework.mock.web;
+ 
++import java.io.IOException;
++import java.util.Collection;
+ import java.util.Collections;
+ import java.util.Enumeration;
+ import java.util.Iterator;
+ import java.util.List;
+ import java.util.Map;
+ 
++import javax.servlet.ServletException;
++import javax.servlet.http.Part;
++
+ import org.springframework.http.HttpHeaders;
+ import org.springframework.http.HttpMethod;
+ import org.springframework.util.Assert;
+@@ -128,4 +133,16 @@
+ 		}
+ 	}
+ 
++	//---------------------------------------------------------------------
++	// Unsupported Servlet 3.0 registration methods
++	//---------------------------------------------------------------------
++
++	public Part getPart(String name) throws IOException, IllegalStateException, ServletException {
++		throw new UnsupportedOperationException();
++	}
++
++	public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException {
++		throw new UnsupportedOperationException();
++	}
++
+ }
+diff -Nru spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockServletContext.java spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockServletContext.java
+--- spring-framework-3.1.4.RELEASE/org.springframework.test/src/main/java/org/springframework/mock/web/MockServletContext.java	2013-01-23 14:58:18.000000000 +0100
++++ spring-framework-3.1.4.RELEASE-gil/org.springframework.test/src/main/java/org/springframework/mock/web/MockServletContext.java	2013-10-12 15:37:11.546667021 +0200
+@@ -23,6 +23,7 @@
+ import java.net.URL;
+ import java.util.Collections;
+ import java.util.Enumeration;
++import java.util.EventListener;
+ import java.util.HashMap;
+ import java.util.HashSet;
+ import java.util.LinkedHashMap;
+@@ -31,9 +32,16 @@
+ import java.util.Set;
+ import java.util.Vector;
+ import javax.activation.FileTypeMap;
++import javax.servlet.Filter;
++import javax.servlet.FilterRegistration;
+ import javax.servlet.RequestDispatcher;
+ import javax.servlet.Servlet;
+ import javax.servlet.ServletContext;
++import javax.servlet.ServletException;
++import javax.servlet.ServletRegistration;
++import javax.servlet.SessionCookieConfig;
++import javax.servlet.SessionTrackingMode;
++import javax.servlet.descriptor.JspConfigDescriptor;
+ 
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+@@ -420,4 +428,93 @@
+ 		}
+ 	}
+ 
++	//---------------------------------------------------------------------
++	// Unsupported Servlet 3.0 registration methods
++	//---------------------------------------------------------------------
++
++
++	public JspConfigDescriptor getJspConfigDescriptor() {
++		throw new UnsupportedOperationException();
++	}
++
++	public ServletRegistration.Dynamic addServlet(String servletName, String className) {
++		throw new UnsupportedOperationException();
++	}
++
++	public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) {
++		throw new UnsupportedOperationException();
++	}
++
++	public ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass) {
++		throw new UnsupportedOperationException();
++	}
++
++	public <T extends Servlet> T createServlet(Class<T> c) throws ServletException {
++		throw new UnsupportedOperationException();
++	}
++
++	public ServletRegistration getServletRegistration(String servletName) {
++		throw new UnsupportedOperationException();
++	}
++
++	public Map<String, ? extends ServletRegistration> getServletRegistrations() {
++		throw new UnsupportedOperationException();
++	}
++
++	public FilterRegistration.Dynamic addFilter(String filterName, String className) {
++		throw new UnsupportedOperationException();
++	}
++
++	public FilterRegistration.Dynamic addFilter(String filterName, Filter filter) {
++		throw new UnsupportedOperationException();
++	}
++
++	public FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass) {
++		throw new UnsupportedOperationException();
++	}
++
++	public <T extends Filter> T createFilter(Class<T> c) throws ServletException {
++		throw new UnsupportedOperationException();
++	}
++
++	public FilterRegistration getFilterRegistration(String filterName) {
++		throw new UnsupportedOperationException();
++	}
++
++	public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
++		throw new UnsupportedOperationException();
++	}
++
++	public void addListener(Class<? extends EventListener> listenerClass) {
++		throw new UnsupportedOperationException();
++	}
++
++	public void addListener(String className) {
++		throw new UnsupportedOperationException();
++	}
++
++	public <T extends EventListener> void addListener(T t) {
++		throw new UnsupportedOperationException();
++	}
++
++	public <T extends EventListener> T createListener(Class<T> c) throws ServletException {
++		throw new UnsupportedOperationException();
++	}
++
++	public SessionCookieConfig getSessionCookieConfig() {
++		throw new UnsupportedOperationException();
++	}
++
++	public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
++		throw new UnsupportedOperationException();
++	}
++
++	public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
++		throw new UnsupportedOperationException();
++	}
++
++	public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) throws IllegalStateException, IllegalArgumentException {
++		throw new UnsupportedOperationException();
++	}
++
+ }
diff --git a/springframework-3.1.4.RELEASE-pom.xml b/springframework-3.1.4.RELEASE-pom.xml
new file mode 100644
index 0000000..d6d963c
--- /dev/null
+++ b/springframework-3.1.4.RELEASE-pom.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This is a dummy POM added just to ease building in the RPM platforms: -->
+
+<project
+  xmlns="http://maven.apache.org/POM/4.0.0"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.springframework</groupId>
+  <artifactId>spring-project</artifactId>
+  <packaging>pom</packaging>
+  <version>3.1.4.RELEASE</version>
+
+  <modules>
+    <!-- These are not all the modules, only those that we can currently build: -->
+    <module>org.springframework.spring-parent</module>
+    <module>org.springframework.aop</module>
+    <module>org.springframework.beans</module>
+    <module>org.springframework.context</module>
+    <module>org.springframework.core</module>
+    <module>org.springframework.expression</module>
+    <module>org.springframework.instrument</module>
+    <module>org.springframework.jdbc</module>
+    <module>org.springframework.transaction</module>
+    <module>org.springframework.context.support</module>
+    <module>org.springframework.oxm</module>
+    <module>org.springframework.web</module>
+    <module>org.springframework.jms</module>
+    <module>org.springframework.orm</module>
+    <module>org.springframework.web.servlet</module>
+    <module>org.springframework.web.portlet</module>
+    <module>org.springframework.web.struts</module>
+    <module>org.springframework.test</module>
+    <module>org.springframework.instrument.tomcat</module>
+    <!-- TODO
+    <module>org.springframework.aspects</module>
+    UNWANTED
+    <module>org.springframework.asm</module>
+    <module>org.springframework.integration-tests</module>
+    <module>org.springframework.spring-library</module>
+    -->
+  </modules>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>2.7</version>
+          <configuration>
+            <encoding>ISO-8859-1</encoding>
+            <aggregate>true</aggregate>
+            <breakiterator>true</breakiterator>
+            <doctitle>Spring Framework ${project.version} API</doctitle>
+            <header>Spring Framework</header>
+            <quiet>true</quiet>
+            <stylesheetfile>${basedir}/spring-build/common/spring-javadoc.css</stylesheetfile>
+            <overview>${project.artifactId}/src/main/java/overview.html</overview>
+            <javadocDirectory>${basedir}/spring-build/common/javadoc-resources</javadocDirectory>
+            <links>
+              <link>http://docs.oracle.com/javase/6/docs/api/</link>
+              <link>http://docs.oracle.com/javaee/6/api/</link>
+              <link>http://docs.oracle.com/cd/E13222_01/wls/docs90/javadocs/</link> // CommonJ
+              <link>http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.javadoc.doc/web/apidocs/</link>
+              <link>http://glassfish.java.net/nonav/docs/v3/api/</link>
+              <link>http://docs.jboss.org/jbossas/javadoc/4.0.5/connector/</link>
+              <link>http://docs.jboss.org/jbossas/javadoc/7.1.2.Final/</link>
+              <link>http://commons.apache.org/proper/commons-lang/javadocs/api-2.5/</link>
+              <link>http://commons.apache.org/proper/commons-codec/apidocs/</link>
+              <link>http://commons.apache.org/proper/commons-dbcp/apidocs/</link>
+              <link>http://portals.apache.org/pluto/portlet-2.0-apidocs/</link>
+              <link>http://tiles.apache.org/framework/apidocs/</link>
+              <link>http://ibatis.apache.org/docs/java/dev/</link>
+              <link>http://hc.apache.org/httpclient-3.x/apidocs/</link>
+              <link>http://aopalliance.sourceforge.net/doc/</link>
+              <link>http://www.eclipse.org/aspectj/doc/released/aspectj5rt-api/</link>
+              <link>http://ehcache.org/apidocs/</link>
+              <link>http://quartz-scheduler.org/api/2.1.5/</link>
+              <link>http://jackson.codehaus.org/1.4.2/javadoc/</link>
+              <link>http://fasterxml.github.com/jackson-core/javadoc/2.0.1/</link>
+            </links>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+  </build>
+  <reporting>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <version>2.7</version>
+          <reportSets>
+            <reportSet>
+              <reports>
+                <report>javadoc</report>
+              </reports>
+            </reportSet>
+          </reportSets>
+        </plugin>
+      </plugins>
+  </reporting>
+</project>
diff --git a/springframework.spec b/springframework.spec
index 6506973..cabe747 100644
--- a/springframework.spec
+++ b/springframework.spec
@@ -1,263 +1,198 @@
-Name: springframework
-Summary: Spring Java Application Framework
-Version: 3.1.4
-Release: 1%{?dist}
-Epoch: 0
-License: ASL 2.0
-Group: Development/Libraries
-URL: http://www.springframework.org
-BuildArch: noarch
-
-Source0: https://github.com/spring-projects/spring-framework/archive/v%{version}.RELEASE.tar.gz
-Source1: spring-framework-%{version}-pom.xml
-# force use tomcat 7.x apis
-Source2: spring-framework-%{version}-depmap
-
-# Use the group id of Jetty 8, it has to be org.eclipse.jetty instead of
-# org.mortbay.jetty:
-Patch1: %{name}-update-jetty-gid.patch
-
-# Remove the dependency on jaxws-api as this is part of the JDK:
-Patch2: %{name}-remove-jaxws-api-dependency.patch
-
-# Update the cglib group id (it should be net.sf.cglib instead of cglib) and
-# the artifact id (it should be cglib instead of cglib-nodep):
-Patch3: %{name}-update-cglib-gid-and-aid.patch
-
-# Don't rename the asm package:
-Patch4: %{name}-dont-rebundle-asm.patch
-
-# Don't use the AWS extension:
-Patch5: %{name}-dont-use-aws-extension.patch
-
-# The groovy package that we have in the distribution at the
-# moment provides the "groovy" artifact, but not the "groovy-all"
-# artifact, required by spring. We are patching spring to use
-# "groovy" instead of "groovy-all", but this should probably be
-# reviewed in the groovy package:
-Patch6: %{name}-downgrade-groovy-aid.patch
-
-# Remove the dependency on JRuby (sources using it are also removed before
-# building):
-Patch7: %{name}-remove-jruby-dependency.patch
-
-# Use the correct hibernate validator artifact id:
-Patch9: %{name}-fix-hibernate-validator-aid.patch
-
-# Remove the dependency on jsr-166 as this is part of the JDK:
-Patch10: %{name}-remove-jsr166-dependency.patch
-
-# Remove the dependency on WebSphere UOW as it is not open source and we will
-# never be able to build it:
-Patch11: %{name}-remove-websphere-uow-dependency.patch
-
-# Use the the standard EJB API (currently provided by geronimo-ejb) instead of
-# a spring specific one:
-Patch12: %{name}-use-javax-ejb.patch
+%global namedreltag .RELEASE
+%global namedversion %{version}%{?namedreltag}
+Name:          springframework
+Version:       3.1.4
+Release:       1%{?dist}
+Summary:       Spring Java Application Framework
+Epoch:         0
+License:       ASL 2.0
+URL:           http://www.springframework.org
+# Latest release require asm4 and cglib3
+Source0:       https://github.com/spring-projects/spring-framework/archive/v%{namedversion}.tar.gz
+Source1:       %{name}-3.1.4.RELEASE-pom.xml
 
 # Use the JCA API provided by JBoss:
-Patch13: %{name}-use-jboss-jca-api.patch
-
+Patch0:        %{name}-use-jboss-jca-api.patch
 # Use the correct Derby artifact id:
-Patch14: %{name}-fix-derby-aid.patch
-
-# Fix the tomcat catalina artifact id to use the one in Tomcat 7 as Tomcat 6
-# has no POMs:
-Patch15: %{name}-fix-tomcat-catalina-aid.patch
-# change
-# com.bea.commonj com.springsource.commonj org.apache.geronimo.specs geronimo-commonj_1.1_spec
-# opensymphony with org.quartz-scheduler
-# remove javax.activation
-# fix jasperreports gId
-Patch17: springframework-3.1.1-context_support-pom.patch
-# fix build with velocity 1.7
-Patch18: springframework-3.1.1-velocity.patch
-# unavailable deps castor-xml
-Patch19: springframework-3.1.1-oxm-remove-castor-xml.patch
-# use jboss-connector-api_1.6_spec instead of geronimo-j2ee-connector_1.5_spec
-Patch20: springframework-3.1.1-jms-connector-api.patch
-# fix openjpa deps
-Patch21: springframework-3.1.1-orm-pom.patch
-# jpa-2.0-api support
-Patch22: springframework-3.1.1-orm-jpa_api.patch
-# add tiles-el
-Patch23: springframework-3.1.1-web_servlet-pom.patch
-# fix struts deps
-Patch24: springframework-3.1.1-struts-pom.patch
+Patch1:        %{name}-fix-derby-aid.patch
+# Change: com.springsource.commonj with geronimo-commonj_1.1_spec
+#         opensymphony with org.quartz-scheduler
+# Remove: javax.activation
+# Fix jasperreports gId
+Patch2:        %{name}-3.1.1-context_support-pom.patch
+# Fix build with velocity 1.7
+Patch3:        %{name}-3.1.1-velocity.patch
+# Use jboss-connector-api_1.6_spec instead of geronimo-j2ee-connector_1.5_spec
+Patch4:        %{name}-3.1.1-jms-connector-api.patch
+# Fix openjpa deps
+# Remove: ibatis-sqlmap (see http://attic.apache.org/projects/ibatis.html)
+#         org.eclipse.persistence.jpa (part of eclipselink core)
+#         org.eclipse.persistence.asm (eclipselink use system asm3)
+#         org.eclipse.persistence.antlr (eclipselink use system antlr2)
+#         hibernate-cglib-repack (unavailable use cglib)
+#         hibernate-annotations (part of hibernate-core)
+# Fix cglib aId
+Patch5:        %{name}-3.1.4-orm-pom.patch
+# Add jpa-2.0-api support
+Patch6:        %{name}-3.1.1-orm-jpa_api.patch
+# Add tiles-el
+Patch7:        %{name}-3.1.1-web_servlet-pom.patch
+# Fix struts deps
+Patch8:        %{name}-3.1.1-struts-pom.patch
 # Build with Quartz 2.x only
-Patch25: springframework-3.1.1-no-quartz1.patch
-# Rename wstx-asl to woodstox-core-asl
-Patch26: springframework-woodstox.patch
-
-# Build requirements (alphabetical):
-BuildRequires: aopalliance
-BuildRequires: apache-commons-collections
-BuildRequires: apache-commons-logging
-BuildRequires: aspectjweaver
-BuildRequires: atinject
-BuildRequires: bsh
-BuildRequires: c3p0
-BuildRequires: cglib
-BuildRequires: derby
-BuildRequires: ehcache-core
-BuildRequires: geronimo-annotation
-BuildRequires: geronimo-ejb
-BuildRequires: geronimo-interceptor
-BuildRequires: geronimo-jpa
-BuildRequires: geronimo-jta
-BuildRequires: geronimo-parent-poms
-BuildRequires: geronimo-validation
-BuildRequires: groovy
-BuildRequires: h2
-BuildRequires: hamcrest
-BuildRequires: hibernate3 >= 3.6.10-7
-BuildRequires: hibernate3-entitymanager >= 3.6.10-7
-BuildRequires: hibernate-jpa-2.0-api
-BuildRequires: hibernate-validator
-BuildRequires: hsqldb
+Patch9:        %{name}-3.1.1-no-quartz1.patch
+# Add missing servlet 3.0 methods
+Patch10:       %{name}-3.1.4-test-servlet30.patch
+# Add OSGi MANIFESTs
+Patch11:       %{name}-3.1.4-osgi-support.patch
+# Don't rename the asm package:
+Patch12:       %{name}-3.1.4-dont-rebundle-asm.patch
+# Replace all alias with proper aId:aId:version
+# e.g. org.springframework.context use geronimo-ejb_3.0_spec
+#      org.springframework.transaction use com.springsource.javax.ejb
+#      now use geronimo-ejb_3.1_spec
+Patch13:       %{name}-3.1.4-fix-javax-apis.patch
+
+BuildRequires: hibernate3
+BuildRequires: hibernate3-entitymanager
+BuildRequires: mvn(aopalliance:aopalliance)
+BuildRequires: mvn(asm:asm)
+BuildRequires: mvn(asm:asm-commons)
+BuildRequires: mvn(axis:axis)
+BuildRequires: mvn(cglib:cglib)
+BuildRequires: mvn(com.caucho:hessian)
+BuildRequires: mvn(com.fasterxml:oss-parent)
+BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind)
+BuildRequires: mvn(com.h2database:h2)
+BuildRequires: mvn(com.jamonapi:jamon)
+BuildRequires: mvn(com.lowagie:itext)
+BuildRequires: mvn(com.mchange:c3p0)
+BuildRequires: mvn(com.sun.xml.bind:jaxb-impl)
+BuildRequires: mvn(com.thoughtworks.xstream:xstream)
+BuildRequires: mvn(commons-beanutils:commons-beanutils)
+BuildRequires: mvn(commons-collections:commons-collections)
+BuildRequires: mvn(commons-fileupload:commons-fileupload)
+BuildRequires: mvn(commons-httpclient:commons-httpclient)
+BuildRequires: mvn(commons-lang:commons-lang)
+BuildRequires: mvn(commons-logging:commons-logging)
+BuildRequires: mvn(commons-pool:commons-pool)
+BuildRequires: mvn(javax.inject:javax.inject)
+BuildRequires: mvn(javax.jdo:jdo2-api)
+BuildRequires: mvn(javax.mail:mail)
+BuildRequires: mvn(javax.portlet:portlet-api)
+BuildRequires: mvn(joda-time:joda-time)
+BuildRequires: mvn(junit:junit)
+BuildRequires: mvn(log4j:log4j)
+BuildRequires: mvn(net.sf.ehcache:ehcache-core)
+BuildRequires: mvn(net.sf.jasperreports:jasperreports)
+%if 0
+# see https://bugzilla.redhat.com/show_bug.cgi?id=1005503
+BuildRequires: mvn(net.sf.jopt-simple:jopt-simple)
+%endif
+BuildRequires: mvn(net.sourceforge.jexcelapi:jxl)
+BuildRequires: mvn(org.apache.derby:derby)
+BuildRequires: mvn(org.apache.derby:derbyclient)
+BuildRequires: mvn(org.apache.geronimo.specs:specs)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-annotation_1.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-commonj_1.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-ejb_3.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-interceptor_3.0_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jaxrpc_1.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-jta_1.1_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-saaj_1.3_spec)
+BuildRequires: mvn(org.apache.geronimo.specs:geronimo-validation_1.0_spec)
+BuildRequires: mvn(org.apache.httpcomponents:httpclient)
+BuildRequires: mvn(org.apache.openjpa:openjpa-jdbc)
+BuildRequires: mvn(org.apache.openjpa:openjpa-jest)
+BuildRequires: mvn(org.apache.openjpa:openjpa-kernel)
+BuildRequires: mvn(org.apache.openjpa:openjpa-lib)
+BuildRequires: mvn(org.apache.openjpa:openjpa-persistence)
+BuildRequires: mvn(org.apache.openjpa:openjpa-persistence-jdbc)
+BuildRequires: mvn(org.apache.openjpa:openjpa-slice)
+BuildRequires: mvn(org.apache.openjpa:openjpa-xmlstore)
+BuildRequires: mvn(org.apache.poi:poi)
+BuildRequires: mvn(org.apache.struts:struts-core)
+BuildRequires: mvn(org.apache.struts:struts-extras)
+BuildRequires: mvn(org.apache.struts:struts-tiles)
+BuildRequires: mvn(org.apache.tiles:tiles-api)
+BuildRequires: mvn(org.apache.tiles:tiles-core)
+BuildRequires: mvn(org.apache.tiles:tiles-el)
+BuildRequires: mvn(org.apache.tiles:tiles-jsp)
+BuildRequires: mvn(org.apache.tiles:tiles-servlet)
+BuildRequires: mvn(org.apache.tomcat:tomcat-catalina)
+BuildRequires: mvn(org.apache.tomcat:tomcat-el-api)
+BuildRequires: mvn(org.apache.tomcat:tomcat-jsp-api)
+BuildRequires: mvn(org.apache.tomcat:tomcat-servlet-api)
+BuildRequires: mvn(org.apache.xmlbeans:xmlbeans)
+BuildRequires: mvn(org.aspectj:aspectjweaver)
+BuildRequires: mvn(org.beanshell:bsh)
+BuildRequires: mvn(org.codehaus.castor:castor-xml)
+BuildRequires: mvn(org.codehaus.groovy:groovy)
+BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl)
+BuildRequires: mvn(org.eclipse.persistence:org.eclipse.persistence.core)
+BuildRequires: mvn(org.freemarker:freemarker)
+BuildRequires: mvn(org.hamcrest:hamcrest-all)
+BuildRequires: mvn(org.hibernate:hibernate-validator)
+BuildRequires: mvn(org.hibernate.javax.persistence:hibernate-jpa-2.0-api)
+BuildRequires: mvn(org.jboss.spec.javax.resource:jboss-connector-api_1.6_spec)
+BuildRequires: mvn(org.jboss.spec.javax.faces:jboss-jsf-api_2.1_spec)
+BuildRequires: mvn(org.jibx:jibx-run)
+BuildRequires: mvn(org.jruby.extras:bytelist)
+BuildRequires: mvn(org.quartz-scheduler:quartz)
+BuildRequires: mvn(org.testng:testng)
+BuildRequires: mvn(rome:rome)
+BuildRequires: mvn(toplink.essentials:toplink-essentials)
+BuildRequires: mvn(velocity:velocity)
+BuildRequires: mvn(velocity-tools:velocity-tools-view)
+
+BuildRequires: mvn(javax.servlet:jstl)
+BuildRequires: mvn(taglibs:standard)
+%if %{?fedora} > 19
+BuildRequires: mvn(hsqldb:hsqldb:1)
+BuildRequires: mvn(org.jruby:jruby)
+%else
+BuildRequires: mvn(hsqldb:hsqldb)
+BuildRequires: mvn(org.jruby:shared)
+%endif
+BuildRequires: mvn(xmlunit:xmlunit)
+
 BuildRequires: maven-local
-BuildRequires: maven-compiler-plugin
-BuildRequires: maven-install-plugin
-BuildRequires: maven-jar-plugin
-BuildRequires: maven-javadoc-plugin
-BuildRequires: maven-resources-plugin
+BuildRequires: maven-plugin-bundle
 BuildRequires: maven-source-plugin
-BuildRequires: maven-surefire-plugin
-BuildRequires: jamonapi >= 2.73-5
-BuildRequires: java-devel
-BuildRequires: jboss-connector-1.6-api
-BuildRequires: jboss-el-2.2-api >= 1.0.1-0.2
-BuildRequires: jboss-jstl-1.2-api
-BuildRequires: jetty
-BuildRequires: joda-time
-BuildRequires: jopt-simple
-BuildRequires: jpackage-utils
-BuildRequires: junit
-BuildRequires: log4j
-BuildRequires: objectweb-asm
-BuildRequires: tomcat-el-2.2-api
-BuildRequires: tomcat-lib >= 7.0.27-2
-
-BuildRequires: apache-poi
-BuildRequires: apache-commons-fileupload >= 1.2.2-5
-BuildRequires: apache-commons-lang
-BuildRequires: apache-commons-pool
-BuildRequires: axis
-BuildRequires: eclipselink
-BuildRequires: ecj
-BuildRequires: freemarker >= 2.3.19
-BuildRequires: geronimo-commonj
-BuildRequires: geronimo-jaxrpc
-BuildRequires: geronimo-jms
-BuildRequires: geronimo-saaj
-BuildRequires: glassfish-jaxb
-BuildRequires: glassfish-toplink-essentials
-BuildRequires: hessian
-BuildRequires: httpcomponents-client
-BuildRequires: itext
-BuildRequires: jackson
-BuildRequires: jakarta-commons-httpclient
-BuildRequires: jakarta-taglibs-standard
-BuildRequires: jasperreports
-BuildRequires: jboss-jsf-2.1-api
-BuildRequires: jboss-jsp-2.2-api
-BuildRequires: jdo2-api
-BuildRequires: jexcelapi
-BuildRequires: jfreechart
-BuildRequires: jibx >= 1.2.4-3
-BuildRequires: openjpa
-BuildRequires: portlet-2.0-api
-BuildRequires: quartz
-BuildRequires: rome >= 0.9-11
-BuildRequires: struts
-BuildRequires: tiles
-BuildRequires: tomcat-servlet-3.0-api
-BuildRequires: velocity
-BuildRequires: velocity-tools
-BuildRequires: xmlbeans
-BuildRequires: xmlunit
-BuildRequires: xstream
-
-# Runtime requirements (only for the main package, other requirements go in the
-# subpackages):
-Requires: apache-commons-collections
-Requires: apache-commons-logging
-Requires: aspectjweaver
-Requires: objectweb-asm
-Requires: java
-Requires: log4j
-Requires: jopt-simple
-Requires: jpackage-utils
+
+BuildArch:     noarch
 
 
 %description
 Spring is a layered Java/J2EE application framework, based on code published in
 Expert One-on-One J2EE Design and Development by Rod Johnson (Wrox, 2002). 
 
-
 %package javadoc
-Summary: Javadocs for %{name}
-Group: Documentation
-Requires: jpackage-utils
+Summary:       Javadoc for %{name}
 
 %description javadoc
 This package contains javadoc for %{name}.
 
-
 %package aop
-Summary: Spring Aspect Oriented Framework
-Group: Development/Libraries
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name} = %{version}-%{release}
-Requires: apache-commons-logging
-Requires: apache-commons-pool
-Requires: aopalliance
-Requires: aspectjweaver
-Requires: cglib
-Requires: jamonapi
-Requires: objectweb-asm
+Summary:       Spring Aspect Oriented Framework
 
 %description aop
 Spring AOP is an enabling technology that allows the implementation of custom
 aspects and provides declarative transaction management without EJB.
 
-
 %package beans
-Summary: Spring Bean Factory
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: atinject
-Requires: cglib
-Requires: tomcat-el-2.2-api
+Summary:       Spring Bean Factory
+Requires:      mvn(javax.inject:javax.inject)
+Requires:      mvn(org.apache.tomcat:tomcat-el-api)
 
 %description beans
 The Spring Bean Factory provides an advanced configuration mechanism capable of
 managing beans of any nature, using potentially any kind of storage facility.
 
-
 %package context
-Summary: Spring Application Context
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-aop = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-expression = %{version}-%{release}
-Requires: %{name}-instrument = %{version}-%{release}
-Requires: aspectjweaver
-Requires: atinject
-Requires: bsh
-Requires: cglib
-Requires: geronimo-annotation
-Requires: geronimo-ejb
-Requires: geronimo-interceptor
-Requires: geronimo-jpa
-Requires: geronimo-jta
-Requires: geronimo-validation
-Requires: groovy
-Requires: hamcrest
-Requires: hibernate-validator
-Requires: joda-time
-Requires: objectweb-asm
+Summary:       Spring Application Context
+Requires:      mvn(javax.inject:javax.inject)
 
 %description context
 The Spring Application Context is a complete superset of a bean factory, and
@@ -265,157 +200,92 @@ adds enhanced capabilities to it, some of them more J2EE and
 enterprise-centric.
 
 %package context-support
-Summary:  Spring Context Support
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-jdbc = %{version}-%{release}
-Requires: %{name}-tx = %{version}-%{release}
-Requires: apache-commons-collections
-Requires: freemarker >= 2.3.19
-Requires: geronimo-commonj
-Requires: jasperreports
-Requires: javamail
-Requires: velocity
-# Should these be considered optional?
-Requires: ehcache-core
-Requires: quartz
+Summary:       Spring Context Support
+Requires:      mvn(net.sf.ehcache:ehcache-core)
 
 %description context-support
-Spring J2EE Framework.
-
 This package provide Quartz/CommonJ scheduling,
 UI templating, mail and caching.
 
 %package expression
-Summary: Spring Expression Language (SpEL)
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Summary:       Spring Expression Language (SpEL)
 
 %description expression
 The Spring Expression Language (SpEL for short) is a powerful expression
 language that supports querying and manipulating an object graph at runtime.
 
-
 %package instrument
-Summary: Spring Instrumentation
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Summary:       Spring Instrumentation
 
 %description instrument
-The Spring Instrumentation Framework exposes performance and resource utilization
-metrics for the Spring container and gives you runtime control of the
-container.
+The Spring Instrumentation Framework exposes performance and
+resource utilization metrics for the Spring container and
+gives you runtime control of the container.
 
+%package instrument-tomcat
+Summary:       Spring Instrument Tomcat Weaver
+Requires:      mvn(org.apache.tomcat:tomcat-catalina)
+
+%description instrument-tomcat
+Extension of Tomcat's default class loader which
+adds instrumentation to loaded classes without the
+need to use a VM-wide agent.
 
 %package jdbc
-Summary: Spring JDBC
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-tx = %{version}-%{release}
-Requires: c3p0
-Requires: geronimo-jta
-Requires: h2
-Requires: hsqldb
-Requires: derby
+Summary:       Spring JDBC
+%if %{?fedora} > 19
+Requires:      mvn(hsqldb:hsqldb:1)
+%endif
 
 %description jdbc
 Spring JDBC takes care of all the low-level details associated to the
 development with JDBC.
 
 %package jms
-Summary:  Spring jms
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-aop = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-oxm = %{version}-%{release}
-Requires: %{name}-tx = %{version}-%{release}
-Requires: aopalliance
-Requires: apache-commons-pool
-Requires: geronimo-jms
-Requires: geronimo-jta
-Requires: jackson
-Requires: jboss-connector-1.6-api
+Summary:       Spring jms
+Requires:      mvn(org.apache.geronimo.specs:geronimo-jms_1.1_spec)
+Requires:      mvn(org.apache.geronimo.specs:geronimo-jta_1.1_spec)
 
 %description jms
-Spring J2EE Framework.
 This package provide Java Message Service 1.0.2/1.1 support.
 
 %package orm
-Summary:  Spring ORM
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-aop = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-jdbc = %{version}-%{release}
-Requires: %{name}-tx = %{version}-%{release}
-Requires: %{name}-web = %{version}-%{release}
-Requires: aopalliance
-Requires: eclipselink
-Requires: geronimo-jta
-Requires: glassfish-toplink-essentials
-Requires: hibernate3 >= 3.6.10-7
-Requires: hibernate-jpa-2.0-api
-Requires: jdo2-api
-Requires: openjpa
-Requires: tomcat-servlet-3.0-api
+Summary:       Spring ORM
+Requires:      hibernate3 >= 3.6.10-7
+Requires:      hibernate3-entitymanager >= 3.6.10-7
+Requires:      mvn(org.hibernate.javax.persistence:hibernate-jpa-2.0-api)
 
 %description orm
-Spring J2EE Framework.
-
 This package provide JDO support, JPA support, Hibernate
 support, TopLink support, iBATIS support.
 
 %package oxm
-Summary:  Spring OXM
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: aopalliance
-Requires: apache-commons-lang
-Requires: glassfish-jaxb
-Requires: jibx >= 1.2.4-3
-Requires: xmlbeans
-Requires: xstream
+Summary:       Spring OXM
+Requires:      mvn(aopalliance:aopalliance)
 
 %description oxm
-Spring J2EE Framework.
-
 This package provide marshaling and unmarshalling
 for XML with JAXB context and JiBX binding factories.
 
 %package struts
-Summary:  Spring Web Struts
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-web = %{version}-%{release}
-Requires: %{name}-webmvc = %{version}-%{release}
-Requires: apache-commons-beanutils
-Requires: jakarta-taglibs-standard
-Requires: jboss-jsp-2.2-api
-Requires: tomcat-servlet-3.0-api
-Requires: struts
+Summary:       Spring Web Struts
+Requires:      mvn(taglibs:standard)
+Requires:      mvn(org.apache.tomcat:tomcat-jsp-api)
+Requires:      mvn(org.apache.tomcat:tomcat-servlet-api)
 
 %description struts
-Spring J2EE Framework.
-
 This package provide integrate a Struts
 application with Spring
 
+%package test
+Summary:       Spring test context framework
+
+%description test
+Spring's test context framework. Also includes common Servlet and
+Portlet API mocks.
+
 %package tx
-Summary: Spring Transaction Management
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Summary:       Spring Transaction Management
 
 %description tx
 Spring provides a consistent abstraction for transaction management that
@@ -425,145 +295,126 @@ programmatic transaction management and integrates with Spring's various data
 access abstractions.
 
 %package web
-Summary:  Spring Web
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-aop = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-oxm = %{version}-%{release}
-Requires: aopalliance
-Requires: apache-commons-fileupload >= 1.2.2-5
-Requires: axis
-Requires: hessian
-Requires: httpcomponents-client
-Requires: jakarta-commons-httpclient
-Requires: jackson
-Requires: log4j
-Requires: portlet-2.0-api
-Requires: rome >= 0.9-11
-Requires: tomcat-servlet-3.0-api
-Requires: jboss-el-2.2-api
-Requires: jboss-jsf-2.1-api
-Requires: jboss-jsp-2.2-api
-Requires: geronimo-jaxrpc
-Requires: geronimo-saaj
+Summary:       Spring Web
+Requires:      mvn(javax.portlet:portlet-api)
+Requires:      mvn(org.apache.tomcat:tomcat-jsp-api)
 
 %description web
-Spring J2EE Framework.
-
 This package provide web application context, multipart
 resolver, HTTP-based remoting support.
 
 %package webmvc
-Summary:  Spring Web Servlet
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-context-support = %{version}-%{release}
-Requires: %{name}-expression = %{version}-%{release}
-Requires: %{name}-orm = %{version}-%{release}
-Requires: %{name}-oxm = %{version}-%{release}
-Requires: %{name}-web = %{version}-%{release}
-Requires: apache-poi
-Requires: freemarker
-Requires: geronimo-jta
-Requires: geronimo-validation
-Requires: itext
-Requires: jackson
-Requires: jakarta-taglibs-standard
-Requires: jasperreports
-Requires: jboss-el-2.2-api
-Requires: jboss-jsp-2.2-api
-Requires: jexcelapi
-Requires: objectweb-asm
-Requires: rome >= 0.9-11
-Requires: tiles
-Requires: tomcat-servlet-3.0-api
-Requires: velocity
-Requires: velocity-tools
+Summary:       Spring Web Servlet
+Requires:      mvn(javax.servlet:jstl)
+Requires:      mvn(org.apache.geronimo.specs:geronimo-jta_1.1_spec)
+Requires:      mvn(org.apache.geronimo.specs:geronimo-validation_1.0_spec)
+Requires:      mvn(org.apache.tomcat:tomcat-el-api)
+Requires:      mvn(org.apache.tomcat:tomcat-jsp-api)
+Requires:      mvn(org.apache.tomcat:tomcat-servlet-api)
 
 %description webmvc
-Spring J2EE Framework.
-
 This package provide framework servlets, web MVC framework,
 web controllers, web views for JSP, Velocity, Tiles,
 iText and POI.
 
 %package webmvc-portlet
-Summary:  Spring Web Portlet
-Group:    Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-beans = %{version}-%{release}
-Requires: %{name}-context = %{version}-%{release}
-Requires: %{name}-web = %{version}-%{release}
-Requires: %{name}-webmvc = %{version}-%{release}
-Requires: apache-commons-fileupload >= 1.2.2-5
-Requires: jboss-el-2.2-api
-Requires: jboss-jsp-2.2-api
-Requires: objectweb-asm
-Requires: portlet-2.0-api
-Requires: tomcat-servlet-3.0-api
+Summary:       Spring Web Portlet
+Requires:      mvn(javax.portlet:portlet-api)
+Requires:      mvn(org.apache.tomcat:tomcat-el-api)
+Requires:      mvn(org.apache.tomcat:tomcat-jsp-api)
+Requires:      mvn(org.apache.tomcat:tomcat-servlet-api)
 
 %description webmvc-portlet
-Spring J2EE Framework.
-
 This package provide support development of Portlet
 applications with Spring.
 
 %prep
-%setup -q -n spring-framework-%{version}.RELEASE
+%setup -q -n spring-framework-%{namedversion}
+find -name "*.class" -delete
+find -name "*.jar" -print -delete
+%patch0 -p1
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-# %patch8 -p1
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
+%patch5 -p0
+%patch6 -p0
+%patch7 -p0
+%patch8 -p0
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
 %patch13 -p1
-%patch14 -p1
-%patch15 -p1
-
-%patch17 -p0
-%patch18 -p0
-%patch19 -p0
-%patch20 -p0
-%patch21 -p0
-%patch22 -p0
-%patch23 -p0
-%patch24 -p0
-%patch25 -p1
-%patch26 -p1
+
+cp -p %{SOURCE1} pom.xml
+
+# Remove org.springframework.build.aws.maven
+%pom_xpath_remove "pom:build/pom:extensions" org.springframework.spring-parent
 
 # ERROR: XThis is not public in Bsh
 rm org.springframework.context/src/main/java/org/springframework/scripting/bsh/BshScriptFactory.java
 rm org.springframework.context/src/main/java/org/springframework/scripting/bsh/BshScriptUtils.java
 
-# ERROR: JRubyScriptUtils.java:[81,28] error: cannot access ByteList
-rm org.springframework.context/src/main/java/org/springframework/scripting/jruby/JRubyScriptFactory.java
-rm org.springframework.context/src/main/java/org/springframework/scripting/jruby/JRubyScriptUtils.java
-
 # Remove classes which explicitly require Quartz 1.x (others are patched)
 rm org.springframework.context.support/src/main/java/org/springframework/scheduling/quartz/JobDetailBean.java
 rm org.springframework.context.support/src/main/java/org/springframework/scheduling/quartz/SimpleTriggerBean.java
 rm org.springframework.context.support/src/main/java/org/springframework/scheduling/quartz/CronTriggerBean.java
 
-# require castor-xml
-rm -rf org.springframework.oxm/src/main/java/org/springframework/oxm/castor/*
-# fix hessian aId
-sed -i "s|<artifactId>com.springsource.com.caucho|<artifactId>hessian|" org.springframework.web/pom.xml
-# not available build desp
-rm -rf org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/*
-rm -rf org.springframework.orm/src/main/java/org/springframework/orm/ibatis/*
+# Remove the dependency on WebSphere UOW as it is not open source and we will
+# never be able to build it:
+%pom_remove_dep com.ibm.websphere:com.springsource.com.ibm.websphere.uow org.springframework.transaction
+rm org.springframework.transaction/src/main/java/org/springframework/transaction/jta/WebSphereUowTransactionManager.java \
+ org.springframework.transaction/src/test/java/org/springframework/transaction/jta/WebSphereUowTransactionManagerTests.java
+
+# Don't depend on backport-util-concurrent
+%pom_remove_dep :backport-util-concurrent org.springframework.context
+sed -i s/edu.emory.mathcs.backport.// `find org.springframework.context -name *.java`
 
-# Put the dummy root POM in place:
-cp %{SOURCE1} pom.xml
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'jasperreports']/pom:groupId" net.sf.jasperreports org.springframework.web.servlet
+
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl org.springframework.core
+
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:artifactId" groovy org.springframework.context
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.hibernate']/pom:artifactId" hibernate-validator org.springframework.context
+# TODO Fix jruby aId
+%if %{?fedora} <= 19
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.jruby']/pom:artifactId" shared org.springframework.context
+%endif
+%pom_add_dep org.jruby.extras:bytelist:1.0.8:compile org.springframework.context
+
+%pom_xpath_set "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:groupId = 'javax.inject']/pom:artifactId" javax.inject  org.springframework.spring-parent
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'c3p0']/pom:groupId" com.mchange org.springframework.jdbc
+
+%pom_remove_dep org.codehaus.jsr166-mirror:jsr166 org.springframework.context
+%pom_remove_dep javax.activation:activation org.springframework.test
+%pom_remove_dep org.hibernate:hibernate-cglib-repack org.springframework.test
+
+#%%pom_add_dep junit:junit:4.11:compile org.springframework.test
+# require for build test module
+%pom_xpath_remove "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId = 'junit']/pom:scope" org.springframework.spring-parent
+
+%pom_remove_dep :jopt-simple org.springframework.core
+rm -r org.springframework.core/src/main/java/org/springframework/core/env/JOptCommandLinePropertySource.java
+
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.apache.tomcat']/pom:artifactId" tomcat-catalina org.springframework.instrument.tomcat 
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.apache.tomcat']/pom:version" 7.0.42 org.springframework.instrument.tomcat
+
+# Disable part of Derby support, require derby 10.5
+# unavailable method purgeDatabase in org.apache.derby.impl.io.VFMemoryStorageFactory
+rm -r org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/DerbyEmbeddedDatabaseConfigurer.java
+sed -i "s|case DERBY:||" \
+ org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurerFactory.java
+sed -i "s|return DerbyEmbeddedDatabaseConfigurer.getInstance();||" \
+ org.springframework.jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseConfigurerFactory.java
+
+# package com.fasterxml.jackson.databind does not exist
+%pom_add_dep com.fasterxml.jackson.core:jackson-databind:2.2.2:compile org.springframework.jms
+
+# Unavailable dep
+rm -rf org.springframework.orm/src/main/java/org/springframework/orm/ibatis/*
+# Use hibernate3 this release dont provides a real H4 support
+rm -rf org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/*
 
 # Make sure we require version '3' of Hibernate
 while read f
@@ -578,170 +429,109 @@ org.springframework.integration-tests/pom.xml
 org.springframework.orm/pom.xml
 EOF
 
-# Don't depend on backport-util-concurrent
-%pom_remove_dep :backport-util-concurrent org.springframework.context
-sed -i s/edu.emory.mathcs.backport.// `find org.springframework.context -name *.java`
-
-%build
-
-# Build without the tests, as they bring a lot of dependecies that are not
-# available in the distribution at the moment:
-mvn-rpmbuild \
-  -Dproject.build.sourceEncoding=ISO-8859-1 \
-  -Dmaven.local.depmap.file="%{SOURCE2}" \
-  -Dmaven.test.skip=true \
-  install \
-  javadoc:aggregate
-
-
-%install
-
-# Install jar and POM files:
-install -d -m 755 %{buildroot}%{_javadir}/%{name}
-install -d -m 755 %{buildroot}%{_mavenpomdir}
-while read module_name artifact_id
+# Fix cglib aId
+while read p
 do
-  pom_file="${module_name}/pom.xml"
-  jar_file="${module_name}/target/${artifact_id}-%{version}.RELEASE.jar"
-  depmap_suffix=${artifact_id#spring-}
-  install -p -m 644 ${pom_file} %{buildroot}%{_mavenpomdir}/JPP.%{name}-${artifact_id}.pom
-  if [ -f "${jar_file}" ]
-  then
-    install -p -m 644 ${jar_file} %{buildroot}%{_javadir}/%{name}/${artifact_id}.jar
-    %add_maven_depmap JPP.%{name}-${artifact_id}.pom %{name}/${artifact_id}.jar -f "${depmap_suffix}"
-  else
-    %add_maven_depmap JPP.%{name}-${artifact_id}.pom -f "${depmap_suffix}"
-  fi
-done <<'.'
-org.springframework.spring-parent spring-parent
-org.springframework.aop spring-aop
-org.springframework.beans spring-beans
-org.springframework.context spring-context
-org.springframework.core spring-core
-org.springframework.expression spring-expression
-org.springframework.instrument spring-instrument
-org.springframework.jdbc spring-jdbc
-org.springframework.transaction spring-tx
-org.springframework.context.support spring-context-support
-org.springframework.oxm spring-oxm
-org.springframework.web spring-web
-org.springframework.jms spring-jms
-org.springframework.orm spring-orm
-org.springframework.web.servlet spring-webmvc
-org.springframework.web.portlet spring-webmvc-portlet
-org.springframework.web.struts spring-struts
-.
-
-# Install javadoc files:
-install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
-cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/.
-
-
-%files
-%dir %{_javadir}/%{name}
-%{_javadir}/%{name}/spring-core.jar
-%{_mavendepmapfragdir}/%{name}-parent
-%{_mavendepmapfragdir}/%{name}-core
-%{_mavenpomdir}/JPP.%{name}-spring-parent.pom
-%{_mavenpomdir}/JPP.%{name}-spring-core.pom
-%doc build-spring-framework/resources/*
 
+%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'cglib']/pom:artifactId" cglib ${p}
 
-%files javadoc
-%{_javadocdir}/%{name}
-%doc build-spring-framework/resources/license.txt
-
-
-%files aop
-%{_mavendepmapfragdir}/%{name}-aop
-%{_mavenpomdir}/JPP.%{name}-spring-aop.pom
-%{_javadir}/%{name}/spring-aop.jar
-
-
-%files beans
-%{_mavendepmapfragdir}/%{name}-beans
-%{_javadir}/%{name}/spring-beans.jar
-%{_mavenpomdir}/JPP.%{name}-spring-beans.pom
+done << EOF
+org.springframework.beans/pom.xml
+org.springframework.aop/pom.xml
+org.springframework.context/pom.xml
+org.springframework.web.servlet/pom.xml
+EOF
 
+while read p
+do
 
-%files context
-%{_mavendepmapfragdir}/%{name}-context
-%{_javadir}/%{name}/spring-context.jar
-%{_mavenpomdir}/JPP.%{name}-spring-context.pom
+%pom_remove_dep javax.xml.ws:jaxws-api ${p}
 
+done << EOF
+org.springframework.context/pom.xml
+org.springframework.spring-parent/pom.xml
+org.springframework.web/pom.xml
+EOF
 
-%files context-support
-%{_javadir}/%{name}/spring-context-support.jar
-%{_mavenpomdir}/JPP.%{name}-spring-context-support.pom
-%{_mavendepmapfragdir}/%{name}-context-support
+cp -p build-spring-framework/resources/* .
 
+%build
 
-%files expression
-%{_mavendepmapfragdir}/%{name}-expression
-%{_javadir}/%{name}/spring-expression.jar
-%{_mavenpomdir}/JPP.%{name}-spring-expression.pom
+%mvn_package ":spring-parent" %{name}
+%mvn_package ":spring-core" %{name}
+%mvn_package :spring-project __noinstall
+# Build without the tests, as they bring a lot of dependecies that are not
+# available in the distribution at the moment:
+%mvn_build -f -s -- -Dproject.build.sourceEncoding=ISO-8859-1
 
+%install
+%mvn_install
 
-%files instrument
-%{_mavendepmapfragdir}/%{name}-instrument
-%{_javadir}/%{name}/spring-instrument.jar
-%{_mavenpomdir}/JPP.%{name}-spring-instrument.pom
+%files -f .mfiles-%{name}
+%dir %{_javadir}/%{name}
+%doc README.md changelog.txt license.txt notice.txt readme.txt
 
+%files javadoc -f .mfiles-javadoc
+%doc license.txt notice.txt
 
-%files jdbc
-%{_mavendepmapfragdir}/%{name}-jdbc
-%{_javadir}/%{name}/spring-jdbc.jar
-%{_mavenpomdir}/JPP.%{name}-spring-jdbc.pom
+%files aop -f .mfiles-spring-aop
+%doc license.txt notice.txt
 
+%files beans -f .mfiles-spring-beans
+%doc license.txt notice.txt
 
-%files jms
-%{_javadir}/%{name}/spring-jms.jar
-%{_mavenpomdir}/JPP.%{name}-spring-jms.pom
-%{_mavendepmapfragdir}/%{name}-jms
+%files context -f .mfiles-spring-context
+%doc license.txt notice.txt
 
+%files context-support -f .mfiles-spring-context-support
+%doc license.txt notice.txt
 
-%files orm
-%{_javadir}/%{name}/spring-orm.jar
-%{_mavenpomdir}/JPP.%{name}-spring-orm.pom
-%{_mavendepmapfragdir}/%{name}-orm
+%files expression -f .mfiles-spring-expression
+%doc license.txt notice.txt
 
-%files oxm
-%{_javadir}/%{name}/spring-oxm.jar
-%{_mavenpomdir}/JPP.%{name}-spring-oxm.pom
-%{_mavendepmapfragdir}/%{name}-oxm
+%files instrument -f .mfiles-spring-instrument
+%doc license.txt notice.txt
 
+%files instrument-tomcat -f .mfiles-spring-instrument-tomcat
+%doc license.txt notice.txt
 
-%files struts
-%{_javadir}/%{name}/spring-struts.jar
-%{_mavenpomdir}/JPP.%{name}-spring-struts.pom
-%{_mavendepmapfragdir}/%{name}-struts
+%files jdbc -f .mfiles-spring-jdbc
+%doc license.txt notice.txt
 
+%files jms -f .mfiles-spring-jms
+%doc license.txt notice.txt
 
-%files tx
-%{_mavendepmapfragdir}/%{name}-tx
-%{_javadir}/%{name}/spring-tx.jar
-%{_mavenpomdir}/JPP.%{name}-spring-tx.pom
+%files orm -f .mfiles-spring-orm
+%doc license.txt notice.txt
 
+%files oxm -f .mfiles-spring-oxm
+%doc license.txt notice.txt
 
-%files web
-%{_javadir}/%{name}/spring-web.jar
-%{_mavenpomdir}/JPP.%{name}-spring-web.pom
-%{_mavendepmapfragdir}/%{name}-web
+%files struts -f .mfiles-spring-struts
+%doc license.txt notice.txt
 
+%files test -f .mfiles-spring-test
+%doc license.txt notice.txt
 
-%files webmvc
-%{_javadir}/%{name}/spring-webmvc.jar
-%{_mavenpomdir}/JPP.%{name}-spring-webmvc.pom
-%{_mavendepmapfragdir}/%{name}-webmvc
+%files tx -f .mfiles-spring-tx
+%doc license.txt notice.txt
 
+%files web -f .mfiles-spring-web
+%doc license.txt notice.txt
 
-%files webmvc-portlet
-%{_javadir}/%{name}/spring-webmvc-portlet.jar
-%{_mavenpomdir}/JPP.%{name}-spring-webmvc-portlet.pom
-%{_mavendepmapfragdir}/%{name}-webmvc-portlet
+%files webmvc -f .mfiles-spring-webmvc
+%doc license.txt notice.txt
 
+%files webmvc-portlet -f .mfiles-spring-webmvc-portlet
+%doc license.txt notice.txt
 
 %changelog
+* Fri Dec 06 2013 gil cattaneo <puntogil at libero.it> 0:3.1.4-2
+- fix for rhbz: 953977
+- switch to XMvn
+- disable derby (partial), and jopt-simple support
+- enable castor and jruby support
+
 * Thu Dec 5 2013 Orion Poplawski <orion at cora.nwra.com> - 0:3.1.4-1
 - Update to 3.1.4
 - Add BR xmlunit


More information about the scm-commits mailing list