[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