ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gert Driesen" <gert.drie...@pandora.be>
Subject Re: cvs commit: jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional JspcTest.java
Date Mon, 11 Mar 2002 06:55:28 GMT
Hi Steve,

I seems that the scandir method in the Jspc class does not take the package
attribute into account.

If a package was specified and the destDir/package (converted to path)
exists, the java file (if it was already generated before) would be located
in a package underneath the destDir path.

So you should compare the last modified date of the java file in the
destDir/package location with the jsp file in de srcDir location.

eg.

If srcDir is 'c:/application/src' and contains 'test.jsp', the destDir is
'c:/application/build' and the package is 'com.company.application', then
Jspc should compare the last modified date/time of
c:/application/build/test.jsp with the last modified time of
'c:/application/build/com/company/application/test.java'.

I think you should also throw a BuildException if the source file that's
passed to the mapToJavaFile method isn't a jsp page.

Regards,

Gert Driesen

----- Original Message -----
From: <stevel@apache.org>
To: <jakarta-ant-cvs@apache.org>
Sent: Monday, March 11, 2002 5:41 AM
Subject: cvs commit:
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional
JspcTest.java


> stevel      02/03/10 20:41:21
>
>   Added:       src/testcases/org/apache/tools/ant/taskdefs/optional
>                         JspcTest.java
>   Log:
>   silly me, I forgot to check this in
>
>   Revision  Changes    Path
>   1.1
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/optional/JspcTest.ja
va
>
>   Index: JspcTest.java
>   ===================================================================
>   /*
>    *  The Apache Software License, Version 1.1
>    *
>    *  Copyright (c) 2002 The Apache Software Foundation.  All rights
>    *  reserved.
>    *
>    *  Redistribution and use in source and binary forms, with or without
>    *  modification, are permitted provided that the following conditions
>    *  are met:
>    *
>    *  1. Redistributions of source code must retain the above copyright
>    *  notice, this list of conditions and the following disclaimer.
>    *
>    *  2. Redistributions in binary form must reproduce the above copyright
>    *  notice, this list of conditions and the following disclaimer in
>    *  the documentation and/or other materials provided with the
>    *  distribution.
>    *
>    *  3. The end-user documentation included with the redistribution, if
>    *  any, must include the following acknowlegement:
>    *  "This product includes software developed by the
>    *  Apache Software Foundation (http://www.apache.org/)."
>    *  Alternately, this acknowlegement may appear in the software itself,
>    *  if and wherever such third-party acknowlegements normally appear.
>    *
>    *  4. The names "The Jakarta Project", "Ant", and "Apache Software
>    *  Foundation" must not be used to endorse or promote products derived
>    *  from this software without prior written permission. For written
>    *  permission, please contact apache@apache.org.
>    *
>    *  5. Products derived from this software may not be called "Apache"
>    *  nor may "Apache" appear in their names without prior written
>    *  permission of the Apache Group.
>    *
>    *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>    *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>    *  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>    *  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>    *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>    *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>    *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>    *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>    *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>    *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>    *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>    *  SUCH DAMAGE.
>    *  ====================================================================
>    *
>    *  This software consists of voluntary contributions made by many
>    *  individuals on behalf of the Apache Software Foundation.  For more
>    *  information on the Apache Software Foundation, please see
>    *  <http://www.apache.org/>.
>    */
>   package org.apache.tools.ant.taskdefs.optional;
>
>   import java.io.*;
>   import java.util.Properties;
>
>   import org.apache.tools.ant.BuildFileTest;
>
>   /**
>    * Tests the Jspc task.
>    *
>    * @author slo
>    * @created 07 March 2002
>    * @since Ant 1.5
>    */
>   public class JspcTest extends BuildFileTest {
>       /**
>        * Description of the Field
>        */
>       private File baseDir;
>       /**
>        * Description of the Field
>        */
>       private File outDir;
>
>       /**
>        * Description of the Field
>        */
>       private final static String TASKDEFS_DIR =
"src/etc/testcases/taskdefs/optional/";
>
>
>       /**
>        * Constructor for the JspcTest object
>        *
>        * @param name Description of Parameter
>        */
>       public JspcTest(String name) {
>           super(name);
>       }
>
>
>       /**
>        * The JUnit setup method
>        */
>       public void setUp() {
>           configureProject(TASKDEFS_DIR + "jspc.xml");
>           baseDir = new File(TASKDEFS_DIR);
>           outDir = new File(baseDir, "jsp/java");
>       }
>
>
>       /**
>        * The teardown method for JUnit
>        */
>       public void tearDown() {
>           executeTarget("cleanup");
>       }
>
>
>       /**
>        * A unit test for JUnit
>        */
>       public void testSimple() throws Exception {
>           executeJspCompile("testSimple", "simple.java");
>       }
>
>
>       /**
>        * A unit test for JUnit
>        */
>       public void testUriroot() throws Exception {
>           executeJspCompile("testUriroot", "uriroot.java");
>       }
>
>
>       /**
>        * A unit test for JUnit
>        */
>       public void testXml() throws Exception {
>           executeJspCompile("testXml", "xml.java");
>       }
>
>
>       /**
>        * try a keyword in a file
>        */
>       public void testKeyword() throws Exception {
>           executeJspCompile("testKeyword", "default_00025.java");
>       }
>
>
>       /**
>        * what happens to 1nvalid-classname
>        */
>       public void testInvalidClassname() throws Exception {
>           executeJspCompile("testInvalidClassname",
>                   "_00031nvalid_0002dclassname.java");
>       }
>
>
>       /**
>        * A unit test for JUnit
>        */
>       public void testNoTld() throws Exception {
>           expectBuildExceptionContaining("testNoTld",
>                   "exec failure",
>                   "JasperException");
>       }
>
>
>
>       /**
>        * run a target then verify the named file gets created
>        *
>        * @param target Description of Parameter
>        * @param javafile Description of Parameter
>        * @exception Exception trouble
>        */
>       protected void executeJspCompile(String target, String javafile)
>           throws Exception {
>           executeTarget(target);
>           assertJavaFileCreated(javafile);
>       }
>
>
>       /**
>        * verify that a named file was created
>        *
>        * @param filename Description of Parameter
>        * @exception Exception trouble
>        */
>       protected void assertJavaFileCreated(String filename)
>           throws Exception {
>           File file = getOutputFile(filename);
>           assertTrue("file " + filename + " not found", file.exists());
>           assertTrue("file " + filename + " is empty", file.length() > 0);
>       }
>
>
>       /**
>        * Gets the OutputFile attribute of the JspcTest object
>        *
>        * @param subpath Description of Parameter
>        * @return The OutputFile value
>        */
>       protected File getOutputFile(String subpath) {
>           return new File(outDir, subpath);
>       }
>   }
>
>
>
>
>
> --
> To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>
>
>


--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message