Author: lukaszlenart
Date: Tue Dec 28 20:48:55 2010
New Revision: 1053429

URL: http://svn.apache.org/viewvc?rev=1053429&view=rev
Log:
Merges branch 2.2.1.1 back to trunk

Modified:
    struts/struts2/trunk/   (props changed)
    struts/struts2/trunk/apps/   (props changed)
    struts/struts2/trunk/apps/jboss-blank/pom.xml
    struts/struts2/trunk/apps/mailreader/pom.xml
    struts/struts2/trunk/assembly/   (props changed)
    struts/struts2/trunk/assembly/pom.xml
    struts/struts2/trunk/bundles/   (props changed)
    struts/struts2/trunk/core/pom.xml
    struts/struts2/trunk/plugins/   (props changed)
    struts/struts2/trunk/plugins/convention/pom.xml
    struts/struts2/trunk/plugins/pom.xml
    
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
    
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
    struts/struts2/trunk/pom.xml
    struts/struts2/trunk/xwork-core/pom.xml
    struts/struts2/trunk/xwork-core/test-output/   (props changed)

Propchange: struts/struts2/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Tue Dec 28 20:48:55 2010
@@ -0,0 +1,2 @@
+/struts/struts2/branches/STRUTS_2_2_1_1:1037870-1053416
+/struts/struts2/tags/STRUTS_2_2_1:965062-1037869

Propchange: struts/struts2/trunk/apps/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 28 20:48:55 2010
@@ -1,7 +1,6 @@
-.classpath
-.project
-.settings
 *.ipr
-*.iml
 *.iws
+.classpath
+.project
 target
+.settings

Modified: struts/struts2/trunk/apps/jboss-blank/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/jboss-blank/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/apps/jboss-blank/pom.xml (original)
+++ struts/struts2/trunk/apps/jboss-blank/pom.xml Tue Dec 28 20:48:55 2010
@@ -1,3 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * $Id$
+ *
+ * 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>

Modified: struts/struts2/trunk/apps/mailreader/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/pom.xml (original)
+++ struts/struts2/trunk/apps/mailreader/pom.xml Tue Dec 28 20:48:55 2010
@@ -44,7 +44,6 @@
         <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
-           <version>2.4</version>
            <scope>provided</scope>
         </dependency>
 

Propchange: struts/struts2/trunk/assembly/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 28 20:48:55 2010
@@ -1,9 +1,8 @@
-.classpath
-.project
-.settings
 *.ipr
-*.iml
 *.iws
-target
+.classpath
+.project
 2.x
+target
 WW
+.settings

Modified: struts/struts2/trunk/assembly/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/assembly/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/assembly/pom.xml (original)
+++ struts/struts2/trunk/assembly/pom.xml Tue Dec 28 20:48:55 2010
@@ -198,6 +198,7 @@
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>dependency-maven-plugin</artifactId>
+                <version>1.0</version>
                 <executions>
                     <execution>
                         <id>copy-war</id>

Propchange: struts/struts2/trunk/bundles/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 28 20:48:55 2010
@@ -1,6 +1,5 @@
-target
-.*
-*.iml
-*.ipr
 *.idea
+*.ipr
 *.iws
+target
+.*

Modified: struts/struts2/trunk/core/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/core/pom.xml (original)
+++ struts/struts2/trunk/core/pom.xml Tue Dec 28 20:48:55 2010
@@ -210,7 +210,7 @@
         <dependency>
             <groupId>org.apache.struts.xwork</groupId>
             <artifactId>xwork-core</artifactId>
-            <version>${version}</version>
+            <version>${project.version}</version>
         </dependency>
 
         <!--<dependency>-->

Propchange: struts/struts2/trunk/plugins/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 28 20:48:55 2010
@@ -1,7 +1,6 @@
-.classpath
-.project
-.settings
 *.ipr
-*.iml
 *.iws
+.classpath
+.project
 target
+.settings

Modified: struts/struts2/trunk/plugins/convention/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/pom.xml (original)
+++ struts/struts2/trunk/plugins/convention/pom.xml Tue Dec 28 20:48:55 2010
@@ -50,30 +50,25 @@
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
-            <version>3.8.1</version>
         </dependency>
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
-            <version>2.4</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymockclassextension</artifactId>
-            <version>2.4</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
-            <version>2.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>jsp-api</artifactId>
-            <version>2.0</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>

Modified: struts/struts2/trunk/plugins/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/pom.xml (original)
+++ struts/struts2/trunk/plugins/pom.xml Tue Dec 28 20:48:55 2010
@@ -80,18 +80,14 @@
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>compile</scope>
-            <version>3.8.2</version>
         </dependency>
 
-
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
-            <version>2.4</version>
             <scope>provided</scope>
         </dependency>
 
-
     </dependencies>
 
     <reporting>

Modified: 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
 (original)
+++ 
struts/struts2/trunk/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
 Tue Dec 28 20:48:55 2010
@@ -109,6 +109,7 @@ public class RestActionMapper extends De
     private String optionsMethodName = "options";
     private String postContinueMethodName = "createContinue";
     private String putContinueMethodName = "updateContinue";
+    private boolean allowDynamicMethodCalls = true;    
     
     public RestActionMapper() {
     }
@@ -172,6 +173,11 @@ public class RestActionMapper extends De
         this.putContinueMethodName = putContinueMethodName;
     }
 
+    @Inject(required = false, value = 
StrutsConstants.STRUTS_ENABLE_DYNAMIC_METHOD_INVOCATION)
+    public void setAllowDynamicMethodCalls(String allowDynamicMethodCalls) {
+        this.allowDynamicMethodCalls = 
"true".equalsIgnoreCase(allowDynamicMethodCalls);
+    }
+    
     public ActionMapping getMapping(HttpServletRequest request,
             ConfigurationManager configManager) {
         ActionMapping mapping = new ActionMapping();
@@ -191,12 +197,7 @@ public class RestActionMapper extends De
         }
 
         // handle "name!method" convention.
-        String name = mapping.getName();
-        int exclamation = name.lastIndexOf("!");
-        if (exclamation != -1) {
-            mapping.setName(name.substring(0, exclamation));
-            mapping.setMethod(name.substring(exclamation + 1));
-        }
+        handleDynamicMethodInvocation(mapping, mapping.getName());
 
         String fullName = mapping.getName();
         // Only try something if the action name is specified
@@ -204,7 +205,7 @@ public class RestActionMapper extends De
 
             // cut off any ;jsessionid= type appendix but allow the rails-like 
;edit
             int scPos = fullName.indexOf(';');
-            if (scPos > -1 && !"edit".equals(fullName.substring(scPos+1))) {
+            if (scPos > -1 && !"edit".equals(fullName.substring(scPos + 1))) {
                 fullName = fullName.substring(0, scPos);
             }
 
@@ -215,11 +216,11 @@ public class RestActionMapper extends De
                 // fun trickery to parse 'actionName/id/methodName' in the 
case of 'animals/dog/edit'
                 int prevSlashPos = fullName.lastIndexOf('/', lastSlashPos - 1);
                 if (prevSlashPos > -1) {
-                    mapping.setMethod(fullName.substring(lastSlashPos+1));
+                    mapping.setMethod(fullName.substring(lastSlashPos + 1));
                     fullName = fullName.substring(0, lastSlashPos);
                     lastSlashPos = prevSlashPos;
                 }
-                id = fullName.substring(lastSlashPos+1);
+                id = fullName.substring(lastSlashPos + 1);
             }
 
 
@@ -293,7 +294,19 @@ public class RestActionMapper extends De
 
         return mapping;
     }
-    
+
+    private void handleDynamicMethodInvocation(ActionMapping mapping, String 
name) {
+        int exclamation = name.lastIndexOf("!");
+        if (exclamation != -1) {
+            mapping.setName(name.substring(0, exclamation));
+            if (allowDynamicMethodCalls) {
+                mapping.setMethod(name.substring(exclamation + 1));
+            } else {
+                mapping.setMethod(null);
+            }
+        }
+    }
+
     /**
      * Parses the name and namespace from the uri.  Uses the configured 
package 
      * namespaces to determine the name and id parameter, to be parsed later.

Modified: 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/rest/src/test/java/org/apache/struts2/rest/RestActionMapperTest.java
 Tue Dec 28 20:48:55 2010
@@ -35,6 +35,7 @@ public class RestActionMapperTest extend
     private ConfigurationManager configManager;
     private Configuration config;
     private MockHttpServletRequest req;
+    private String allowDynamicMethodInvocation = "true";
 
     protected void setUp() throws Exception {
         super.setUp();
@@ -89,7 +90,7 @@ public class RestActionMapperTest extend
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
         assertEquals("destroy", mapping.getMethod());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
     }
 
     public void testPutMapping() throws Exception {
@@ -102,7 +103,7 @@ public class RestActionMapperTest extend
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
         assertEquals("update", mapping.getMethod());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
     }
 
     public void testGetIdMapping() throws Exception {
@@ -115,7 +116,7 @@ public class RestActionMapperTest extend
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
         assertEquals("show", mapping.getMethod());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
     }
 
     public void testNewMapping() throws Exception {
@@ -139,7 +140,7 @@ public class RestActionMapperTest extend
 
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
         assertEquals("edit", mapping.getMethod());
     }
 
@@ -152,7 +153,7 @@ public class RestActionMapperTest extend
 
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
         assertEquals("edit", mapping.getMethod());
     }
 
@@ -165,7 +166,7 @@ public class RestActionMapperTest extend
 
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
         assertEquals("show", mapping.getMethod());
     }
 
@@ -175,23 +176,79 @@ public class RestActionMapperTest extend
         tryUri("foo", "", "foo");
         tryUri("/", "/", "");
     }
-    
+
     public void testParseNameAndNamespaceWithNamespaces() {
         tryUri("/my/foo/23", "/my", "foo/23");
         tryUri("/my/foo/", "/my", "foo/");
     }
-    
+
     public void testParseNameAndNamespaceWithEdit() {
         tryUri("/my/foo/23;edit", "/my", "foo/23;edit");
     }
+
+    public void testShouldAllowExclamation() throws Exception {
+        req.setRequestURI("/myapp/animals/dog/fido!edit");
+        req.setServletPath("/animals/dog/fido!edit");
+        req.setMethod("GET");
+
+        ActionMapping mapping = mapper.getMapping(req, configManager);
+
+        assertEquals("/animals", mapping.getNamespace());
+        assertEquals("dog", mapping.getName());
+        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("edit", mapping.getMethod());
+    }
+
+    public void testShouldBlockDynamicMethodInvocationAnsUseShow() throws 
Exception {
+        req.setRequestURI("/myapp/animals/dog/fido!edit");
+        req.setServletPath("/animals/dog/fido!edit");
+        req.setMethod("GET");
+
+        mapper.setAllowDynamicMethodCalls("false");
+        ActionMapping mapping = mapper.getMapping(req, configManager);
+
+        assertEquals("/animals", mapping.getNamespace());
+        assertEquals("dog", mapping.getName());
+        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("show", mapping.getMethod());
+    }
+
+    public void testShouldBlockDynamicMethodInvocationAnsUseDestroy() throws 
Exception {
+        req.setRequestURI("/myapp/animals/dog/fido!destroy");
+        req.setServletPath("/animals/dog/fido!destroy");
+        req.setMethod("DELETE");
+
+        mapper.setAllowDynamicMethodCalls("false");
+        ActionMapping mapping = mapper.getMapping(req, configManager);
+
+        assertEquals("/animals", mapping.getNamespace());
+        assertEquals("dog", mapping.getName());
+        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("destroy", mapping.getMethod());
+    }
+
+    public void testShouldBlockDynamicMethodInvocationAndUseUpdate() throws 
Exception {
+        req.setRequestURI("/myapp/animals/dog/fido!update");
+        req.setServletPath("/animals/dog/fido!update");
+        req.setMethod("PUT");
+
+        mapper.setAllowDynamicMethodCalls("false");
+        ActionMapping mapping = mapper.getMapping(req, configManager);
+
+        assertEquals("/animals", mapping.getNamespace());
+        assertEquals("dog", mapping.getName());
+        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("update", mapping.getMethod());
+    }
     
     private void tryUri(String uri, String expectedNamespace, String 
expectedName) {
         ActionMapping mapping = new ActionMapping();
+        mapper.setAllowDynamicMethodCalls(allowDynamicMethodInvocation);
         mapper.parseNameAndNamespace(uri, mapping, configManager);
         assertEquals(expectedName, mapping.getName());
         assertEquals(expectedNamespace, mapping.getNamespace());
     }
-    
+
     public void testOptionsMapping() throws Exception {
         req.setRequestURI("/myapp/animals/dog");
         req.setServletPath("/animals/dog");
@@ -203,7 +260,7 @@ public class RestActionMapperTest extend
         assertEquals("dog", mapping.getName());
         assertEquals("options", mapping.getMethod());
     }
-    
+
     public void testPostContinueMapping() throws Exception {
         req.setRequestURI("/myapp/animals/dog");
         req.setServletPath("/animals/dog");
@@ -216,7 +273,7 @@ public class RestActionMapperTest extend
         assertEquals("dog", mapping.getName());
         assertEquals("createContinue", mapping.getMethod());
     }
-    
+
     public void testPutContinueMapping() throws Exception {
         req.setRequestURI("/myapp/animals/dog/fido");
         req.setServletPath("/animals/dog/fido");
@@ -228,7 +285,23 @@ public class RestActionMapperTest extend
         assertEquals("/animals", mapping.getNamespace());
         assertEquals("dog", mapping.getName());
         assertEquals("updateContinue", mapping.getMethod());
-        assertEquals("fido", ((String[])mapping.getParams().get("id"))[0]);
+        assertEquals("fido", ((String[]) mapping.getParams().get("id"))[0]);
+    }
+
+    public void testDynamicMethodInvocation() throws Exception {
+        // given
+        req.setRemoteAddr("/myapp/animals/dog/23!edit");
+        req.setServletPath("/animals/dog/23!edit");
+        req.setMethod("GET");
+
+        // when
+        ActionMapping actionMapping = mapper.getMapping(req, configManager);
+
+        // then
+        assertEquals("dog", actionMapping.getName());
+        assertEquals("edit", actionMapping.getMethod());
+        assertEquals("/animals", actionMapping.getNamespace());
+        assertEquals("23", ((String[]) 
actionMapping.getParams().get("id"))[0]);
     }
 
 }

Modified: struts/struts2/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/pom.xml (original)
+++ struts/struts2/trunk/pom.xml Tue Dec 28 20:48:55 2010
@@ -1,10 +1,10 @@
 <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";>
 
-   <parent>
-      <groupId>org.apache.struts</groupId>
-      <artifactId>struts-master</artifactId>
-      <version>7</version>
-   </parent>
+    <parent>
+        <groupId>org.apache.struts</groupId>
+        <artifactId>struts-master</artifactId>
+        <version>8</version>
+    </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.struts</groupId>
@@ -155,13 +155,13 @@
                 </plugin>
                 <plugin>
                     <artifactId>maven-site-plugin</artifactId>
-                    <version>2.0-beta-7</version>
+                    <version>2.1.1</version>
                 </plugin>
                 <plugin>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <configuration>
-                      <source>1.5</source>
-                      <target>1.5</target>
+                        <source>1.5</source>
+                        <target>1.5</target>
                     </configuration>
                 </plugin>
                 <plugin>
@@ -178,35 +178,48 @@
                     </configuration>
                 </plugin>
                 <plugin>
-                  <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-release-plugin</artifactId>
-                    <configuration>
-                        <preparationGoals>clean verify 
install</preparationGoals>
-                    </configuration>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-war-plugin</artifactId>
+                    <version>2.1</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>2.1.0</version>
+                </plugin>
+
             </plugins>
         </pluginManagement>
         <plugins>
             <plugin>
-              <artifactId>maven-jar-plugin</artifactId>
-              <configuration>
-                <archive>
-                  
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                </archive>
-              </configuration>
-            </plugin>
-            <plugin>
-              <groupId>org.apache.felix</groupId>
-              <artifactId>maven-bundle-plugin</artifactId>
-              <executions>
-                <execution>
-                  <id>bundle-manifest</id>
-                  <phase>process-classes</phase>
-                  <goals>
-                    <goal>manifest</goal>
-                  </goals>
-                </execution>
-              </executions>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-release-plugin</artifactId>
+                <version>2.1</version>
+                <configuration>
+                    <releaseProfiles>release</releaseProfiles>
+                    <goals>deploy</goals>
+                </configuration>
+            </plugin>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                    </archive>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>manifest</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
             <!--
             <plugin>
@@ -291,7 +304,7 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-project-info-reports-plugin</artifactId>
-             </plugin>
+            </plugin>
             <plugin>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <version>2.2</version>
@@ -341,23 +354,56 @@
     </reporting>
 
     <dependencyManagement>
-      <dependencies>
-        <dependency>
-            <groupId>org.apache.struts</groupId>
-            <artifactId>struts-annotations</artifactId>
-            <version>1.0.5</version>
-            <scope>compile</scope>
-            <optional>true</optional>
-        </dependency>
-      </dependencies>
-    </dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.struts</groupId>
+                <artifactId>struts-annotations</artifactId>
+                <version>1.0.5</version>
+                <scope>compile</scope>
+                <optional>true</optional>
+            </dependency>
+
+            <dependency>
+                <groupId>javassist</groupId>
+                <artifactId>javassist</artifactId>
+                <version>3.8.0.GA</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.8.2</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.easymock</groupId>
+                <artifactId>easymock</artifactId>
+                <version>2.4</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.easymock</groupId>
+                <artifactId>easymockclassextension</artifactId>
+                <version>2.4</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>servlet-api</artifactId>
+                <version>2.4</version>
+                <scope>provided</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>jsp-api</artifactId>
+                <version>2.0</version>
+                <scope>provided</scope>
+            </dependency>
 
-    <dependencies>
-        <dependency>
-            <groupId>javassist</groupId>
-            <artifactId>javassist</artifactId>
-            <version>3.8.0.GA</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
+        </dependencies>
+    </dependencyManagement>
 </project>

Modified: struts/struts2/trunk/xwork-core/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/pom.xml?rev=1053429&r1=1053428&r2=1053429&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/pom.xml (original)
+++ struts/struts2/trunk/xwork-core/pom.xml Tue Dec 28 20:48:55 2010
@@ -103,8 +103,14 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.4.2</version>
+                <version>2.6</version>
                 <configuration>
+                    <properties>
+                        <property>
+                            <name>maven.testng.output.dir</name>
+                            
<value>${project.basedir}/target/surefire-reports</value>
+                        </property>
+                    </properties>
                     <useSystemClassLoader>false</useSystemClassLoader>
                     <additionalClasspathElements>
                         
<element>${project.build.testOutputDirectory}/xwork-jar.jar</element>
@@ -129,6 +135,7 @@
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>cobertura-maven-plugin</artifactId>
+                <version>2.4</version>
                 <executions>
                     <execution>
                         <goals>
@@ -343,7 +350,7 @@
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.5</version>
+            <scope>compile</scope>
             <optional>true</optional>
         </dependency>
 

Propchange: struts/struts2/trunk/xwork-core/test-output/
------------------------------------------------------------------------------
    svn:mergeinfo = 


Reply via email to