[struts] Initial import (#825825).

gil gil at fedoraproject.org
Tue Jun 26 17:50:24 UTC 2012


commit 187652b094a11e973e2d62d04ca0440e193bbe44
Author: gil <puntogil at libero.it>
Date:   Tue Jun 26 19:36:15 2012 +0200

    Initial import (#825825).

 .gitignore                     |    1 +
 dead.package                   |    1 -
 sources                        |    1 +
 struts-1.3.10-build.patch      |  775 ++++++++++++++++++++++++++++++++++++++++
 struts-1.3.10-depmap           |   48 +++
 struts-1.3.10-parent-pom.patch |   10 +
 struts-master-4-pom.xml        |  362 +++++++++++++++++++
 struts.spec                    |  167 +++++++++
 8 files changed, 1364 insertions(+), 1 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e0b96be..94b888f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 struts-1.2.9-src-RHCLEAN.tar.gz
+/struts-1.3.10-clean-src.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..93bc89a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c40eb1f35ced7a287276af6a70efc319  struts-1.3.10-clean-src.tar.gz
diff --git a/struts-1.3.10-build.patch b/struts-1.3.10-build.patch
new file mode 100644
index 0000000..ebc0dfb
--- /dev/null
+++ b/struts-1.3.10-build.patch
@@ -0,0 +1,775 @@
+diff -Nru struts-1.3.10/src/core/pom.xml struts-1.3.10-gil/src/core/pom.xml
+--- struts-1.3.10/src/core/pom.xml	2008-11-28 23:43:44.000000000 +0100
++++ struts-1.3.10-gil/src/core/pom.xml	2012-06-06 21:29:42.596748554 +0200
+@@ -158,14 +158,26 @@
+         <dependency>
+             <groupId>javax.servlet</groupId>
+             <artifactId>servlet-api</artifactId>
+-            <version>2.3</version>
++            <version>7.0.27</version>
++            <scope>provided</scope>
++        </dependency>
++        <dependency>
++            <groupId>org.apache.tomcat</groupId>
++            <artifactId>tomcat-jsp-api</artifactId>
++            <version>7.0.27</version>
++            <scope>provided</scope>
++        </dependency>
++        <dependency>
++            <groupId>org.apache.tomcat</groupId>
++            <artifactId>tomcat-el-api</artifactId>
++            <version>7.0.27</version>
+             <scope>provided</scope>
+         </dependency>
+         <dependency>
+             <groupId>junit</groupId>
+             <artifactId>junit</artifactId>
+             <version>3.8.1</version>
+-            <optional>true</optional>
++            <!--optional>true</optional-->
+         </dependency>
+         <dependency>
+             <groupId>oro</groupId>
+diff -Nru struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockHttpServletRequest.java struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockHttpServletRequest.java
+--- struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockHttpServletRequest.java	2008-06-05 00:14:08.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockHttpServletRequest.java	2012-06-06 21:18:27.226707023 +0200
+@@ -20,16 +20,28 @@
+  */
+ package org.apache.struts.mock;
+ 
++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 java.io.BufferedReader;
++import java.io.IOException;
++
++import java.lang.IllegalStateException;
+ 
+ import java.security.Principal;
+ 
++import java.util.Collection;
+ import java.util.Enumeration;
+ import java.util.HashMap;
+ import java.util.Locale;
+@@ -425,4 +437,85 @@
+     public void setCharacterEncoding(String name) {
+         throw new UnsupportedOperationException();
+     }
++
++    public int getLocalPort() {
++        throw new UnsupportedOperationException();
++    }
++
++    public String getLocalAddr() {
++        throw new UnsupportedOperationException();
++    }
++
++    public String getLocalName() {
++        throw new UnsupportedOperationException();
++    }
++
++    public int getRemotePort() {
++        throw new UnsupportedOperationException();
++    }
++
++    public String getRemoteName() {
++        throw new UnsupportedOperationException();
++    }
++
++    public Part getPart(String name) throws IOException, IllegalStateException, ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Collection<Part> getParts() throws IOException, IllegalStateException, ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void logout() throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void login(String username, String password) throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public boolean authenticate(HttpServletResponse response) throws IOException, ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public DispatcherType getDispatcherType() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public AsyncContext getAsyncContext() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public boolean isAsyncSupported() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public boolean isAsyncStarted() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public AsyncContext startAsync() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ServletContext getServletContext() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
+ }
+diff -Nru struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockHttpServletResponse.java struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockHttpServletResponse.java
+--- struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockHttpServletResponse.java	2008-06-05 00:14:16.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockHttpServletResponse.java	2012-06-06 21:10:22.718677228 +0200
+@@ -20,6 +20,7 @@
+  */
+ package org.apache.struts.mock;
+ 
++import javax.servlet.ServletException;
+ import javax.servlet.ServletOutputStream;
+ import javax.servlet.http.Cookie;
+ import javax.servlet.http.HttpServletResponse;
+@@ -27,6 +28,7 @@
+ import java.io.IOException;
+ import java.io.PrintWriter;
+ 
++import java.util.Collection;
+ import java.util.Locale;
+ 
+ /**
+@@ -169,7 +171,40 @@
+         throw new UnsupportedOperationException();
+     }
+ 
++    public String getContentType() {
++        throw new UnsupportedOperationException();
++    }
++
+     public void setLocale(Locale locale) {
+         throw new UnsupportedOperationException();
+     }
++
++    public void setCharacterEncoding(String enc) {
++        throw new UnsupportedOperationException();
++    }
++
++    public Collection<String> getHeaderNames() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public String getHeader(String name) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Collection<String> getHeaders(String name) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void logout() throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public int getStatus() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
+ }
+diff -Nru struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockPageContext.java struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockPageContext.java
+--- struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockPageContext.java	2008-06-05 00:14:08.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockPageContext.java	2012-05-27 02:19:21.522285135 +0200
+@@ -20,6 +20,7 @@
+  */
+ package org.apache.struts.mock;
+ 
++import javax.el.ELContext;
+ import javax.servlet.Servlet;
+ import javax.servlet.ServletConfig;
+ import javax.servlet.ServletContext;
+@@ -29,6 +30,8 @@
+ import javax.servlet.http.HttpSession;
+ import javax.servlet.jsp.JspWriter;
+ import javax.servlet.jsp.PageContext;
++import javax.servlet.jsp.el.VariableResolver;
++import javax.servlet.jsp.el.ExpressionEvaluator;
+ import javax.servlet.jsp.tagext.BodyContent;
+ 
+ import java.io.IOException;
+@@ -533,6 +536,22 @@
+         throw new UnsupportedOperationException();
+     }
+ 
++    public void include(String relativeUrlPath, boolean flush) {
++        throw new UnsupportedOperationException();
++    }
++
++    public VariableResolver getVariableResolver() {
++        throw new UnsupportedOperationException();
++    }
++
++    public ELContext getELContext() {
++        throw new UnsupportedOperationException();
++    }
++
++    public ExpressionEvaluator getExpressionEvaluator() {
++        throw new UnsupportedOperationException();
++    }
++
+     public void initialize(Servlet servlet, ServletRequest request,
+         ServletResponse response, String errorPageURL, boolean needsSession,
+         int bufferSize, boolean autoFlush) {
+diff -Nru struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockServletContext.java struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockServletContext.java
+--- struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/MockServletContext.java	2008-06-05 00:14:06.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/MockServletContext.java	2012-06-06 21:17:42.445704268 +0200
+@@ -23,16 +23,32 @@
+ import org.apache.commons.logging.Log;
+ import org.apache.commons.logging.LogFactory;
+ 
++import javax.servlet.Filter;
++import javax.servlet.FilterRegistration;
++import javax.servlet.FilterRegistration.Dynamic;
+ import javax.servlet.RequestDispatcher;
+ import javax.servlet.Servlet;
+ import javax.servlet.ServletContext;
++import javax.servlet.ServletException;
++import javax.servlet.SessionCookieConfig;
++import javax.servlet.SessionTrackingMode;
++import javax.servlet.ServletRegistration;
++import javax.servlet.descriptor.JspConfigDescriptor;
+ 
+ import java.io.InputStream;
+ 
++import java.lang.Class;
++import java.lang.ClassLoader;
++import java.lang.IllegalArgumentException;
++import java.lang.IllegalStateException;
++import java.lang.UnsupportedOperationException;
++
+ import java.net.URL;
+ 
+ import java.util.Enumeration;
++import java.util.EventListener;
+ import java.util.HashMap;
++import java.util.Map;
+ import java.util.Set;
+ 
+ /**
+@@ -91,6 +107,10 @@
+         throw new UnsupportedOperationException();
+     }
+ 
++    public String getContextPath() {
++        throw new UnsupportedOperationException();
++    }
++
+     public String getInitParameter(String name) {
+         return ((String) parameters.get(name));
+     }
+@@ -182,4 +202,134 @@
+             attributes.put(name, value);
+         }
+     }
++
++    public JspConfigDescriptor getJspConfigDescriptor() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ClassLoader getClassLoader() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void declareRoles(String... roleNames) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public <T extends EventListener> T createListener(Class<T> c) throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public <T extends EventListener> void addListener(T t) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void addListener(String className) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void addListener(Class<? extends EventListener> listenerClass) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public void setSessionTrackingModes(Set<SessionTrackingMode> sessionTrackingModes) throws IllegalStateException, IllegalArgumentException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public SessionCookieConfig getSessionCookieConfig() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Map<String,? extends FilterRegistration> getFilterRegistrations() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public FilterRegistration getFilterRegistration(String filterName) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public <T extends Filter> T createFilter(Class<T> c) throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public FilterRegistration.Dynamic addFilter(String filterName, Class<? extends Filter> filterClass) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public FilterRegistration.Dynamic addFilter(String filterName, Filter filter) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public FilterRegistration.Dynamic addFilter(String filterName, String className) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public Map<String,? extends ServletRegistration> getServletRegistrations() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ServletRegistration getServletRegistration(String servletName) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public <T extends Servlet> T createServlet(Class<T> c) throws ServletException {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ServletRegistration.Dynamic addServlet(String servletName, Servlet servlet) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ServletRegistration.Dynamic addServlet(String servletName, Class<? extends Servlet> servletClass) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public ServletRegistration.Dynamic addServlet(String servletName, String className) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public boolean setInitParameter(String name, String value) {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public int getEffectiveMinorVersion() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
++
++    public int getEffectiveMajorVersion() {
++        // TODO
++        throw new UnsupportedOperationException("Not supported.");
++    }
+ }
+diff -Nru struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/TestMockBase.java struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/TestMockBase.java
+--- struts-1.3.10/src/core/src/main/java/org/apache/struts/mock/TestMockBase.java	2008-06-05 00:14:06.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/main/java/org/apache/struts/mock/TestMockBase.java	2012-05-27 02:21:05.658284389 +0200
+@@ -64,7 +64,7 @@
+     }
+ 
+     public static void main(String[] args) {
+-        junit.awtui.TestRunner.main(new String[] { TestMockBase.class.getName() });
++        junit.textui.TestRunner.main(new String[] { TestMockBase.class.getName() });
+     }
+ 
+     public static Test suite() {
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionMessage.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionMessage.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionMessage.java	2008-06-05 00:12:56.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionMessage.java	2012-05-27 02:22:27.698283801 +0200
+@@ -60,7 +60,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestActionMessage.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionMessages.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionMessages.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionMessages.java	2008-06-05 00:12:58.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionMessages.java	2012-05-27 02:23:25.020283390 +0200
+@@ -57,7 +57,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestActionMessages.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionServlet.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionServlet.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestActionServlet.java	2008-06-05 00:12:58.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestActionServlet.java	2012-05-27 02:23:54.441283179 +0200
+@@ -92,7 +92,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestActionServlet.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestDynaActionFormClass.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestDynaActionFormClass.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestDynaActionFormClass.java	2008-06-05 00:12:58.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestDynaActionFormClass.java	2012-05-27 02:24:37.423282870 +0200
+@@ -93,7 +93,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestDynaActionFormClass.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestDynaActionForm.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestDynaActionForm.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/action/TestDynaActionForm.java	2008-06-05 00:12:58.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/action/TestDynaActionForm.java	2012-05-27 02:25:12.292282620 +0200
+@@ -90,7 +90,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestDynaActionForm.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/config/TestActionConfigMatcher.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/config/TestActionConfigMatcher.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/config/TestActionConfigMatcher.java	2008-06-05 00:12:52.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/config/TestActionConfigMatcher.java	2012-05-27 02:26:01.325282270 +0200
+@@ -40,7 +40,7 @@
+     }
+ 
+     public static void main(String[] args) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestActionConfigMatcher.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestPropertyMessageResources.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestPropertyMessageResources.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestPropertyMessageResources.java	2008-06-05 00:13:00.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestPropertyMessageResources.java	2012-05-27 02:26:43.412281967 +0200
+@@ -45,7 +45,7 @@
+     }
+ 
+     public static void main(String[] args) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestPropertyMessageResources.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestRequestUtils.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestRequestUtils.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestRequestUtils.java	2008-06-05 00:13:02.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestRequestUtils.java	2012-05-27 02:27:22.964281684 +0200
+@@ -49,7 +49,7 @@
+     }
+ 
+     public static void main(String[] args) {
+-        junit.awtui.TestRunner.main(new String[] {
++        junit.textui.TestRunner.main(new String[] {
+                 TestRequestUtils.class.getName()
+             });
+     }
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestRequestUtilsPopulate.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestRequestUtilsPopulate.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/util/TestRequestUtilsPopulate.java	2008-06-05 00:13:00.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/util/TestRequestUtilsPopulate.java	2012-05-27 02:27:59.406281423 +0200
+@@ -55,7 +55,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(
++        junit.textui.TestRunner.main(
+             new String[] { TestRequestUtilsPopulate.class.getName()});
+     }
+ 
+diff -Nru struts-1.3.10/src/core/src/test/java/org/apache/struts/validator/TestValidWhen.java struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/validator/TestValidWhen.java
+--- struts-1.3.10/src/core/src/test/java/org/apache/struts/validator/TestValidWhen.java	2008-06-05 00:12:54.000000000 +0200
++++ struts-1.3.10-gil/src/core/src/test/java/org/apache/struts/validator/TestValidWhen.java	2012-05-27 02:28:46.006281088 +0200
+@@ -57,7 +57,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] { TestValidWhen.class.getName() });
++        junit.textui.TestRunner.main(new String[] { TestValidWhen.class.getName() });
+     }
+ 
+     /**
+diff -Nru struts-1.3.10/src/el/pom.xml struts-1.3.10-gil/src/el/pom.xml
+--- struts-1.3.10/src/el/pom.xml	2008-11-28 23:43:44.000000000 +0100
++++ struts-1.3.10-gil/src/el/pom.xml	2012-05-27 03:10:13.736263255 +0200
+@@ -67,7 +67,13 @@
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
++         <scope>provided</scope>
++      </dependency>
++      <dependency>
++         <groupId>org.apache.tomcat</groupId>
++         <artifactId>tomcat-jsp-api</artifactId>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+diff -Nru struts-1.3.10/src/extras/pom.xml struts-1.3.10-gil/src/extras/pom.xml
+--- struts-1.3.10/src/extras/pom.xml	2008-11-28 23:43:46.000000000 +0100
++++ struts-1.3.10-gil/src/extras/pom.xml	2012-05-27 02:48:00.775272811 +0200
+@@ -67,7 +67,7 @@
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+diff -Nru struts-1.3.10/src/faces/pom.xml struts-1.3.10-gil/src/faces/pom.xml
+--- struts-1.3.10/src/faces/pom.xml	2008-11-28 23:43:46.000000000 +0100
++++ struts-1.3.10-gil/src/faces/pom.xml	2012-06-06 21:25:23.609732627 +0200
+@@ -80,16 +80,16 @@
+       </dependency>
+ 
+       <dependency>
+-         <groupId>javax.servlet</groupId>
+-         <artifactId>jsp-api</artifactId>
+-         <version>2.0</version>
++         <groupId>org.apache.tomcat</groupId>
++         <artifactId>tomcat-jsp-api</artifactId>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+@@ -113,8 +113,8 @@
+ 
+ 
+       <dependency>
+-         <groupId>myfaces</groupId>
+-         <artifactId>myfaces-jsf-api</artifactId>
++         <groupId>org.jboss.spec.javax.faces</groupId>
++         <artifactId>jboss-jsf-api_2.1_spec</artifactId>
+          <version>1.0.9</version>
+         <scope>provided</scope>
+       </dependency>
+diff -Nru struts-1.3.10/src/pom.xml struts-1.3.10-gil/src/pom.xml
+--- struts-1.3.10/src/pom.xml	2012-06-06 21:31:25.719754895 +0200
++++ struts-1.3.10-gil/src/pom.xml	2012-06-06 21:19:46.182711877 +0200
+@@ -114,6 +114,14 @@
+                             </execution>
+                         </executions>
+                     </plugin>
++                    <plugin>
++                        <groupId>org.apache.maven.plugins</groupId>
++                        <artifactId>maven-resources-plugin</artifactId>
++                        <version>2.5</version>
++                        <configuration>
++                            <encoding>UTF-8</encoding>
++                        </configuration>
++                    </plugin>
+                 </plugins>
+             </build>
+         </profile>
+@@ -152,8 +160,8 @@
+                     <artifactId>maven-compiler-plugin</artifactId>
+                     <version>2.0.2</version>
+                     <configuration>
+-                        <source>1.4</source>
+-                        <target>1.4</target>
++                        <source>1.5</source>
++                        <target>1.5</target>
+                     </configuration>
+                 </plugin>
+                 <plugin>
+@@ -185,14 +193,14 @@
+                     <artifactId>dtddoc-maven-plugin</artifactId>
+                     <version>1.1</version>
+                 </plugin>
+-                <plugin>
++                <!--plugin>
+                     <groupId>net.sourceforge.maven-taglib</groupId>
+                     <artifactId>maven-taglib-plugin</artifactId>
+                     <version>2.3.1</version>
+                     <configuration>
+                       <parseHtml>true</parseHtml>
+                     </configuration>
+-                </plugin>
++                </plugin-->
+             </plugins>
+         </pluginManagement>
+         <plugins>
+diff -Nru struts-1.3.10/src/scripting/pom.xml struts-1.3.10-gil/src/scripting/pom.xml
+--- struts-1.3.10/src/scripting/pom.xml	2008-11-28 23:43:46.000000000 +0100
++++ struts-1.3.10-gil/src/scripting/pom.xml	2012-05-27 02:36:59.224277554 +0200
+@@ -68,7 +68,7 @@
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+@@ -79,7 +79,7 @@
+       </dependency>
+ 
+       <dependency>
+-         <groupId>bsf</groupId>
++         <groupId>org.apache.bsf</groupId>
+          <artifactId>bsf</artifactId>
+          <version>2.3.0</version>
+       </dependency>
+diff -Nru struts-1.3.10/src/taglib/pom.xml struts-1.3.10-gil/src/taglib/pom.xml
+--- struts-1.3.10/src/taglib/pom.xml	2008-11-28 23:43:46.000000000 +0100
++++ struts-1.3.10-gil/src/taglib/pom.xml	2012-05-27 02:53:50.870270301 +0200
+@@ -84,10 +84,16 @@
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+-
++      <dependency>
++         <groupId>org.apache.tomcat</groupId>
++         <artifactId>tomcat-jsp-api</artifactId>
++         <version>7.0.27</version>
++         <scope>provided</scope>
++      </dependency>
++      
+       <dependency>
+          <groupId>org.apache.struts</groupId>
+          <artifactId>struts-core</artifactId>
+diff -Nru struts-1.3.10/src/taglib/src/test/java/org/apache/struts/taglib/html/TestHtmlTag.java struts-1.3.10-gil/src/taglib/src/test/java/org/apache/struts/taglib/html/TestHtmlTag.java
+--- struts-1.3.10/src/taglib/src/test/java/org/apache/struts/taglib/html/TestHtmlTag.java	2008-06-05 00:04:20.000000000 +0200
++++ struts-1.3.10-gil/src/taglib/src/test/java/org/apache/struts/taglib/html/TestHtmlTag.java	2012-05-27 02:44:20.028274394 +0200
+@@ -55,7 +55,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] { TestHtmlTag.class.getName() });
++        junit.textui.TestRunner.main(new String[] { TestHtmlTag.class.getName() });
+     }
+ 
+     /**
+diff -Nru struts-1.3.10/src/taglib/src/test/java/org/apache/struts/taglib/TestTagUtils.java struts-1.3.10-gil/src/taglib/src/test/java/org/apache/struts/taglib/TestTagUtils.java
+--- struts-1.3.10/src/taglib/src/test/java/org/apache/struts/taglib/TestTagUtils.java	2008-06-05 00:04:22.000000000 +0200
++++ struts-1.3.10-gil/src/taglib/src/test/java/org/apache/struts/taglib/TestTagUtils.java	2012-05-27 02:43:48.393274620 +0200
+@@ -70,7 +70,7 @@
+      * @param theArgs the arguments. Not used
+      */
+     public static void main(String[] theArgs) {
+-        junit.awtui.TestRunner.main(new String[] { TestTagUtils.class.getName() });
++        junit.textui.TestRunner.main(new String[] { TestTagUtils.class.getName() });
+     }
+ 
+     /**
+diff -Nru struts-1.3.10/src/tiles/pom.xml struts-1.3.10-gil/src/tiles/pom.xml
+--- struts-1.3.10/src/tiles/pom.xml	2008-11-28 23:43:46.000000000 +0100
++++ struts-1.3.10-gil/src/tiles/pom.xml	2012-05-27 02:56:21.795269220 +0200
+@@ -70,7 +70,13 @@
+       <dependency>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+-         <version>2.3</version>
++         <version>7.0.27</version>
++         <scope>provided</scope>
++      </dependency>
++      <dependency>
++         <groupId>org.apache.tomcat</groupId>
++         <artifactId>tomcat-jsp-api</artifactId>
++         <version>7.0.27</version>
+          <scope>provided</scope>
+       </dependency>
+ 
+diff -Nru struts-1.3.10/src/tiles/src/test/java/org/apache/struts/tiles/TestTilesPlugin.java struts-1.3.10-gil/src/tiles/src/test/java/org/apache/struts/tiles/TestTilesPlugin.java
+--- struts-1.3.10/src/tiles/src/test/java/org/apache/struts/tiles/TestTilesPlugin.java	2008-06-05 00:02:02.000000000 +0200
++++ struts-1.3.10-gil/src/tiles/src/test/java/org/apache/struts/tiles/TestTilesPlugin.java	2012-05-27 02:42:52.572275020 +0200
+@@ -55,7 +55,7 @@
+ 
+ 
+     public static void main(String args[]) {
+-        junit.awtui.TestRunner.main
++        junit.textui.TestRunner.main
+             (new String[] { TestTilesPlugin.class.getName() } );
+     }
+ 
diff --git a/struts-1.3.10-depmap b/struts-1.3.10-depmap
new file mode 100644
index 0000000..16e3997
--- /dev/null
+++ b/struts-1.3.10-depmap
@@ -0,0 +1,48 @@
+<dependencies>
+<!--dependency>
+    <maven>
+        <groupId>javax.servlet</groupId>
+        <artifactId>jstl</artifactId>
+        <version>1.0.2</version>
+    </maven>
+    <jpp>
+        <groupId>JPP</groupId>
+        <artifactId>taglibs-core</artifactId>
+    </jpp>
+</dependency>
+<dependency>
+    <maven>
+        <groupId>taglibs</groupId>
+        <artifactId>standard</artifactId>
+        <version>1.0.6</version>
+    </maven>
+    <jpp>
+        <groupId>JPP</groupId>
+        <artifactId>taglibs-standard</artifactId>
+    </jpp>
+</dependency-->
+<dependency>
+    <maven>
+        <groupId>javax.servlet</groupId>
+        <artifactId>servlet-api</artifactId>
+        <version>7.0.27</version>
+    </maven>
+    <jpp>
+        <groupId>JPP</groupId>
+        <artifactId>tomcat-servlet-3.0-api</artifactId>
+        <version>7.0.27</version>
+    </jpp>
+</dependency>
+<dependency>
+    <maven>
+        <groupId>org.apache.tomcat</groupId>
+        <artifactId>tomcat-jsp-api</artifactId>
+        <version>7.0.27</version>
+    </maven>
+    <jpp>
+        <groupId>JPP</groupId>
+        <artifactId>tomcat-jsp-2.2-api</artifactId>
+        <version>7.0.27</version>
+    </jpp>
+</dependency>
+</dependencies>
\ No newline at end of file
diff --git a/struts-1.3.10-parent-pom.patch b/struts-1.3.10-parent-pom.patch
new file mode 100644
index 0000000..f180217
--- /dev/null
+++ b/struts-1.3.10-parent-pom.patch
@@ -0,0 +1,10 @@
+--- src/pom.xml	2008-11-28 23:43:00.000000000 +0100
++++ src/pom.xml-gil	2012-05-27 02:03:51.141291805 +0200
+@@ -24,6 +24,7 @@
+       <groupId>org.apache.struts</groupId>
+       <artifactId>struts-master</artifactId>
+       <version>4</version>
++      <relativePath>../pom.xml</relativePath>
+    </parent>
+ 
+     <modelVersion>4.0.0</modelVersion>
diff --git a/struts-master-4-pom.xml b/struts-master-4-pom.xml
new file mode 100644
index 0000000..f01bb30
--- /dev/null
+++ b/struts-master-4-pom.xml
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+   
+         http://www.apache.org/licenses/LICENSE-2.0
+   
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <parent>
+      <groupId>org.apache</groupId>
+      <artifactId>apache</artifactId>
+      <version>2</version>
+   </parent>
+   <groupId>org.apache.struts</groupId>
+   <artifactId>struts-master</artifactId>
+   <version>4</version>
+   <packaging>pom</packaging>
+   <name>Apache Struts</name>
+
+   <scm>
+     <connection>scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom</connection>
+     <developerConnection>scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom</developerConnection>
+     <url>http://svn.apache.org/repos/asf/struts/maven/trunk/pom</url>
+   </scm>
+   
+   <description>
+    The goal of the Apache Struts project is to encourage application 
+    architectures based on the "Model 2" approach, a variation of the classic 
+    Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or 
+    equivalent) manages business logic execution, and presentation logic 
+    resides mainly in server pages.
+   </description>
+   <url>http://struts.apache.org/</url>
+   <inceptionYear>2000</inceptionYear>
+
+   <mailingLists>
+      <mailingList>
+         <name>Struts User List</name>
+         <subscribe>user-subscribe at struts.apache.org</subscribe>
+         <unsubscribe>user-unsubscribe at struts.apache.org</unsubscribe>
+         <post>user at struts.apache.org</post>
+         <archive>http://mail-archives.apache.org/mod_mbox/struts-user/</archive>
+         <otherArchives>
+            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
+         </otherArchives>
+      </mailingList>
+      <mailingList>
+         <name>Struts Developer List</name>
+         <subscribe>dev-subscribe at struts.apache.org</subscribe>
+         <unsubscribe>dev-unsubscribe at struts.apache.org</unsubscribe>
+         <post>dev at struts.apache.org</post>
+         <archive>http://mail-archives.apache.org/mod_mbox/struts-dev/</archive>
+         <otherArchives>
+            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
+         </otherArchives>
+      </mailingList>
+      <mailingList>
+         <name>Struts Commits List</name>
+         <subscribe>commits-subscribe at struts.apache.org</subscribe>
+         <unsubscribe>commits-unsubscribe at struts.apache.org</unsubscribe>
+         <archive>http://mail-archives.apache.org/mod_mbox/struts-commits/</archive>
+         <otherArchives>
+            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
+         </otherArchives>
+      </mailingList>
+      <mailingList>
+         <name>Struts Issues List</name>
+         <subscribe>issues-subscribe at struts.apache.org</subscribe>
+         <unsubscribe>issues-unsubscribe at struts.apache.org</unsubscribe>
+         <archive>http://mail-archives.apache.org/mod_mbox/struts-issues/</archive>
+         <otherArchives>
+            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
+         </otherArchives>
+      </mailingList>
+   </mailingLists>
+
+   <developers>
+      <developer>
+         <name>Craig R. McClanahan</name>
+         <id>craigmcc</id>
+         <email>craigmcc at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Ted Husted</name>
+         <id>husted</id>
+         <email>husted at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Cedric Dumoulin</name>
+         <id>cedric</id>
+         <email>cedric.dumoulin at lifl.fr</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Martin Cooper</name>
+         <id>martinc</id>
+         <email>martinc at apache.org</email>
+         <roles>
+            <role>PMC Chair</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>James Holmes</name>
+         <id>jholmes</id>
+         <email>jholmes at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>David M. Karr</name>
+         <id>dmkarr</id>
+         <email>dmkarr at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Eddie Bush</name>
+         <id>ekbush</id>
+         <email>ekbush at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>David Graham</name>
+         <id>dgraham</id>
+         <email>dgraham at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>James Mitchell</name>
+         <id>jmitchell</id>
+         <email>jmitchell at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Don Brown</name>
+         <id>mrdon</id>
+         <email>mrdon at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Joe Germuska</name>
+         <id>germuska</id>
+         <email>germuska at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Niall Pemberton</name>
+         <id>niallp</id>
+         <email>niallp at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Hubert Rabago</name>
+         <id>hrabago</id>
+         <email>hrabago at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>David Geary</name>
+         <id>dgeary</id>
+         <email>dgeary at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Wendy Smoak</name>
+         <id>wsmoak</id>
+         <email>wsmoak at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Gary VanMatre</name>
+         <id>gvanmatre</id>
+         <email>gvanmatre at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Sean Schofield</name>
+         <id>schof</id>
+         <email>schof at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Greg Reddin</name>
+         <id>greddin</id>
+         <email>greddin at apache.org</email>
+         <roles>
+            <role>PMC Member</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Laurie Harper</name>
+         <id>laurieh</id>
+         <email>laurieh at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Richard Feit</name>
+         <id>rich</id>
+         <email>rich at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Jason Carreira</name>
+         <id>jcarreira</id>
+         <email>jcarreira at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Patrick Lightbody</name>
+         <id>plightbo</id>
+         <email>plightbo at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Alexandru Popescu</name>
+         <id>apopescu</id>
+         <email>apopescu at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Rene Gielen</name>
+         <id>rgielen</id>
+         <email>rgielen at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Rainer Hermanns</name>
+         <id>hermanns</id>
+         <email>hermanns at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Toby Jee</name>
+         <id>tmjee</id>
+         <email>tmjee at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Ian Roughley</name>
+         <id>roughley</id>
+         <email>roughley at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Paul Benedict</name>
+         <id></id>
+         <email></email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Michael Jouravlev</name>
+         <id>mikus</id>
+         <email>mikus at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>Bob Lee</name>
+         <id>crazybob</id>
+         <email>crazybob at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+      <developer>
+         <name>David H. DeWolf</name>
+         <id>ddewolf</id>
+         <email>ddewolf at apache.org</email>
+         <roles>
+            <role>Committer</role>
+         </roles>
+      </developer>
+
+   </developers>
+   <distributionManagement>
+      <repository>
+         <id>struts-staging</id>
+         <name>Apache Struts Staging Repository</name>
+         <url>scp://people.apache.org/www/people.apache.org/builds/struts/m2-staging-repository</url>
+      </repository>
+      <snapshotRepository>
+         <uniqueVersion>true</uniqueVersion>
+         <id>apache.snapshots</id>
+         <name>Apache Development Snapshot Repository</name>
+         <url>scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
+      </snapshotRepository>
+      <site>
+         <id>apache-site</id>
+         <name>Apache Struts Website</name>
+         <url>scp://people.apache.org/www/struts.apache.org</url>
+      </site>
+   </distributionManagement>
+</project>
+
+
diff --git a/struts.spec b/struts.spec
new file mode 100644
index 0000000..fdd0c80
--- /dev/null
+++ b/struts.spec
@@ -0,0 +1,167 @@
+%global master_version 4
+Name:          struts
+Version:       1.3.10
+Release:       2%{?dist}
+Summary:       Web application framework
+Group:         Development/Libraries
+License:       ASL 2.0
+URL:           http://struts.apache.org/
+# wget http://www.apache.org/dist/struts/source/struts-1.3.10-src.zip
+# remove non free resources
+# unzip -qq struts-1.3.10-src.zip
+# rm -r struts-1.3.10/src/core/src/main/resources/org/apache/struts/resources/web-app_2_3.dtd
+# tar czf struts-1.3.10-clean-src.tar.gz struts-1.3.10
+Source0:       %{name}-%{version}-clean-src.tar.gz
+# wget -O struts-master-4-pom.xml http://svn.apache.org/repos/asf/struts/maven/tags/STRUTS_MASTER_4/pom.xml
+Source1:       %{name}-master-%{master_version}-pom.xml
+# forcing the use of tomcat 7.x apis
+Source2:       %{name}-%{version}-depmap
+# add struts-master relativePath
+Patch0:        %{name}-%{version}-parent-pom.patch
+# fix build for junit servlet-3.0-api
+# change myfaces myfaces-jsf-api 1.0.9 with org.jboss.spec.javax.faces jboss-jsf-api_2.1_spec
+Patch1:        %{name}-%{version}-build.patch
+
+BuildRequires: java-devel
+BuildRequires: jpackage-utils
+
+BuildRequires: antlr
+BuildRequires: apache-commons-beanutils
+BuildRequires: apache-commons-chain
+BuildRequires: apache-commons-digester
+BuildRequires: apache-commons-fileupload
+BuildRequires: apache-commons-logging
+BuildRequires: apache-commons-validator
+BuildRequires: bsf
+BuildRequires: jakarta-oro
+BuildRequires: jakarta-taglibs-standard >= 1.1.2-5
+BuildRequires: jboss-jsf-2.1-api
+BuildRequires: tomcat-el-2.2-api
+BuildRequires: tomcat-jsp-2.2-api
+BuildRequires: tomcat-servlet-3.0-api
+
+# not only a test dep
+BuildRequires: junit
+
+BuildRequires: maven
+BuildRequires: maven-compiler-plugin
+BuildRequires: maven-install-plugin
+BuildRequires: maven-jar-plugin
+BuildRequires: maven-javadoc-plugin
+BuildRequires: maven-resources-plugin
+BuildRequires: maven-surefire-plugin
+BuildRequires: maven-surefire-provider-junit4
+
+Requires:      antlr
+Requires:      apache-commons-beanutils
+Requires:      apache-commons-chain
+Requires:      apache-commons-digester
+Requires:      apache-commons-fileupload
+Requires:      apache-commons-logging
+Requires:      apache-commons-validator
+Requires:      bsf
+Requires:      jakarta-oro
+Requires:      jakarta-taglibs-standard >= 1.1.2-5
+Requires:      jboss-jsf-2.1-api
+Requires:      junit
+Requires:      tomcat-el-2.2-api
+Requires:      tomcat-jsp-2.2-api
+Requires:      tomcat-servlet-3.0-api
+
+Requires:      java
+Requires:      jpackage-utils
+BuildArch:     noarch
+Obsoletes:     %{name}-manual < %{version}
+Obsoletes:     %{name}-webapps-tomcat5 < %{version}
+
+%description
+Welcome to the Struts Framework! The goal of this project is to provide
+an open source framework useful in building web applications with Java
+Servlet and JavaServer Pages (JSP) technology. Struts encourages
+application architectures based on the Model-View-Controller (MVC)
+design paradigm, colloquially known as Model 2 in discussions on various
+servlet and JSP related mailing lists.
+Struts includes the following primary areas of functionality:
+A controller servlet that dispatches requests to appropriate Action
+classes provided by the application developer.
+JSP custom tag libraries, and associated support in the controller
+servlet, that assists developers in creating interactive form-based
+applications.
+Utility classes to support XML parsing, automatic population of
+JavaBeans properties based on the Java reflection APIs, and
+internationalization of prompts and messages.
+
+%package javadoc
+Group:         Documentation
+Summary:       Javadoc for %{name}
+Requires:      jpackage-utils
+
+%description javadoc
+This package contains javadoc for %{name}.
+
+%prep
+%setup -q
+find -name "*.jar" -delete
+find -name "*.class" -delete
+%patch0 -p0
+%patch1 -p1
+
+sed -i 's/\r//' LICENSE.txt NOTICE.txt
+
+# fix non ASCII chars
+for s in src/tiles/src/main/java/org/apache/struts/tiles/ComponentDefinition.java;do
+  native2ascii -encoding UTF8 ${s} ${s}
+done
+
+cp -p %{SOURCE1} pom.xml
+
+%build
+
+cd src
+mvn-rpmbuild \
+  -Dproject.build.sourceEncoding=UTF-8 \
+  -Dmaven.local.depmap.file="%{SOURCE2}" \
+  install javadoc:aggregate
+
+%install
+
+mkdir -p %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-master.pom
+%add_maven_depmap JPP.%{name}-master.pom
+
+install -pm 644 src/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-parent.pom
+%add_maven_depmap JPP.%{name}-parent.pom
+
+mkdir -p %{buildroot}%{_javadir}/%{name}
+for m in core \
+ el \
+ extras \
+ faces \
+ mailreader-dao \
+ scripting \
+ taglib \
+ tiles; do
+  install -pm 644 src/${m}/target/%{name}-${m}-%{version}.jar %{buildroot}%{_javadir}/%{name}/${m}.jar
+  install -pm 644 src/${m}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-${m}.pom
+  %add_maven_depmap JPP.%{name}-${m}.pom %{name}/${m}.jar
+done
+
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr src/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+%files
+%{_javadir}/%{name}/*.jar
+%{_mavenpomdir}/JPP.%{name}-*.pom
+%{_mavendepmapfragdir}/%{name}
+%doc LICENSE.txt NOTICE.txt
+
+%files javadoc
+%{_javadocdir}/%{name}
+%doc LICENSE.txt NOTICE.txt
+
+%changelog
+* Sat Jun 23 2012 gil cattaneo <puntogil at libero.it> 1.3.10-2
+- removed non-free resources
+
+* Sat May 26 2012 gil cattaneo <puntogil at libero.it> 1.3.10-1
+- initial rpm
\ No newline at end of file


More information about the scm-commits mailing list