felipeal 2005/04/21 04:56:33
Modified: integration/ant/src/java/org/apache/cactus/integration/ant
CactifyWarTask.java
integration/ant/src/test/org/apache/cactus/integration/ant
TestCactifyWarTask.java
integration/ant/src/test-input/org/apache/cactus/integration/ant
test-cactifywar.xml
documentation/docs/xdocs changes.xml
Log:
CACTUS-204: CactifyWar task should not require a web.xml
Revision Changes Path
1.33 +4 -9
jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/CactifyWarTask.java
Index: CactifyWarTask.java
===================================================================
RCS file:
/home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/CactifyWarTask.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- CactifyWarTask.java 31 May 2004 20:05:24 -0000 1.32
+++ CactifyWarTask.java 21 Apr 2005 11:56:33 -0000 1.33
@@ -353,7 +353,7 @@
// Parse the original deployment descriptor
webXml = getOriginalWebXml();
}
- else
+ if (this.srcFile == null || webXml == null)
{
if (this.version == null)
{
@@ -674,8 +674,8 @@
* Extracts and parses the original web deployment descriptor from the
* web-app.
*
- * @return The parsed descriptor
- * @throws BuildException If the descriptor is not found or could not be
+ * @return The parsed descriptor or null if not found
+ * @throws BuildException If the descriptor could not be
* parsed
*/
private WebXml getOriginalWebXml() throws BuildException
@@ -686,11 +686,6 @@
{
war = new DefaultWarArchive(this.srcFile);
WebXml webXml = war.getWebXml();
- if (webXml == null)
- {
- throw new BuildException("The WAR source file does not "
- + "contain a WEB-INF/web.xml deployment descriptor");
- }
return webXml;
}
catch (SAXException e)
1.22 +43 -3
jakarta-cactus/integration/ant/src/test/org/apache/cactus/integration/ant/TestCactifyWarTask.java
Index: TestCactifyWarTask.java
===================================================================
RCS file:
/home/cvs/jakarta-cactus/integration/ant/src/test/org/apache/cactus/integration/ant/TestCactifyWarTask.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- TestCactifyWarTask.java 31 May 2004 20:05:23 -0000 1.21
+++ TestCactifyWarTask.java 21 Apr 2005 11:56:33 -0000 1.22
@@ -124,11 +124,51 @@
}
catch (BuildException expected)
{
- assertEquals("The WAR source file does not contain a "
- + "WEB-INF/web.xml deployment descriptor",
+ assertEquals("You need to specify either the [srcfile] or the "
+ + "[version] attribute",
expected.getMessage());
}
}
+
+ /**
+ * Verifies an empty web was created when the source archive does not
+ * contain a web deployment descriptor but specifies the version.
+ *
+ * @throws Exception If an unexpected error occurs
+ */
+ public void testSrcFileWithoutWebXmlNewWebXml22() throws Exception
+ {
+ try
+ {
+ executeTestTarget();
+ }
+ catch (BuildException e)
+ {
+ fail("The WAR source file does not contain a "
+ + "WEB-INF/web.xml deployment
descriptor, but Cactus should "
+ + "should have created an empty one" );
+ }
+ }
+
+ /**
+ * Verifies an empty web was created when the source archive does not
+ * contain a web deployment descriptor but specifies the version.
+ *
+ * @throws Exception If an unexpected error occurs
+ */
+ public void testSrcFileWithoutWebXmlNewWebXml23() throws Exception
+ {
+ try
+ {
+ executeTestTarget();
+ }
+ catch (BuildException e)
+ {
+ fail("The WAR source file does not contain a "
+ + "WEB-INF/web.xml deployment
descriptor, but Cactus should "
+ + "should have created an empty one" );
+ }
+ }
/**
* Tests whether the Cactus test redirectors are correctly added to the
1.10 +10 -0
jakarta-cactus/integration/ant/src/test-input/org/apache/cactus/integration/ant/test-cactifywar.xml
Index: test-cactifywar.xml
===================================================================
RCS file:
/home/cvs/jakarta-cactus/integration/ant/src/test-input/org/apache/cactus/integration/ant/test-cactifywar.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- test-cactifywar.xml 15 Jun 2003 13:18:11 -0000 1.9
+++ test-cactifywar.xml 21 Apr 2005 11:56:33 -0000 1.10
@@ -21,6 +21,16 @@
destfile="${work.dir}/destfile.war"/>
</target>
+ <target name="testSrcFileWithoutWebXmlNewWebXml22">
+ <cactifywar srcfile="nowebxml.war" version="2.2"
+ destfile="${work.dir}/destfile.war"/>
+ </target>
+
+ <target name="testSrcFileWithoutWebXmlNewWebXml23">
+ <cactifywar srcfile="nowebxml.war" version="2.3"
+ destfile="${work.dir}/destfile.war"/>
+ </target>
+
<target name="testDefaultRedirectorsNoDoctype">
<cactifywar srcfile="empty.war"
destfile="${work.dir}/destfile.war"/>
1.215 +4 -0 jakarta-cactus/documentation/docs/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-cactus/documentation/docs/xdocs/changes.xml,v
retrieving revision 1.214
retrieving revision 1.215
diff -u -r1.214 -r1.215
--- changes.xml 10 Feb 2005 19:51:34 -0000 1.214
+++ changes.xml 21 Apr 2005 11:56:33 -0000 1.215
@@ -91,6 +91,10 @@
</devs>
<release version="1.8dev" date="in CVS">
+ <action dev="FAL" type="fix" issue="CACTUS-204">
+ <code>CactifyWar</code> task now does not require a <code>web.xml
+ </code> and creates an empty one if necessary.
+ </action>
<action dev="VMA" type="update" issue="CACTUS-189" due-to="Magnus
Grimsell">
Added support for merging <code><run-as></code> element from
a
provided <code>web.xml</code> file in the cactifywar Ant task.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]