One option might be to tease out the functionality into a helper class that
<wljspc> and the new (and somewhat, how do you say, 'historically unlucky',
<jspc> task framework) can both use.

As with all of the optional tasks, testing is hard. We need tests, but wont
be able to run them on Gump so will have to take the word of other users
that the patches are good to go.

----- Original Message -----
From: "Matt Bishop" <[EMAIL PROTECTED]>
To: "Ant Developers List" <[EMAIL PROTECTED]>
Sent: Wednesday, October 09, 2002 11:06 AM
Subject: RE: wljspc contribution


> Hi Valerio,
>
> Thank you for taking on the task of updating this task!
>
> Several important changes I would make to this task are as follows:
>
> 1. Change line 456 from "break;" to "continue;" to fix the fact that the
task will skip out of scanning the rest of the directory if a non-jsp file
is found.  This is a logged bug.
>
> 2. Remove the requirement to set a package; it's default value is
"jsp_servlet", so if it isn't set, use that.
>
> 3. If the build fails, throw a BuildException in line 320.  That will
trigger the target/project to display a proper "build failed" message.
>
> 4. The biggest change I would make would be to not use the args array and
instead use the newer createArg command.  The reasons for this are the
space-delimited list approach is deprecated, and the createArg method
properly handles files with spaces in the path.
>
> Here's a block of code that goes in execute to demonstrate:
>
>         helperTask.setClassname("weblogic.jspc");
>         helperTask.setTaskName(getTaskName());
>
>         scanDir(files);
>         log("Compiling " + filesToDo.size() + " JSP files");
>         boolean buildFailed = false;
>
>         Iterator fi = filesToDo.iterator();
>         while (fi.hasNext())
>         {
>             File file = new File(sourceDirectory, (String) fi.next());
>             helperTask.clearArgs();
>
>             helperTask.setClasspath(compileClasspath);
>
>             helperTask.createArg().setValue("-d");
>             helperTask.createArg().setFile(destinationDirectory);
>
>             helperTask.createArg().setValue("-docroot");
>             helperTask.createArg().setFile(sourceDirectory);
>
> //            helperTask.createArg().setValue("-compileAll");
>
>             helperTask.createArg().setValue("-webapp");
>             helperTask.createArg().setFile(sourceDirectory);
>
> //            helperTask.createArg().setValue("-keepgenerated");
>
> //            helperTask.createArg().setValue("-verbose");
>
> //            helperTask.createArg().setValue("-skipJavac");
>
> //            helperTask.createArg().setValue("-verboseJavac");
>
>             helperTask.createArg().setValue("-compilerclass");
>             helperTask.createArg().setValue("com.sun.tools.javac.Main");
>
> //            helperTask.createArg().setValue("-classpath");
> //            helperTask.createArg().setPath(compileClasspath);
>
>             helperTask.createArg().setFile(file);
>
> if (helperTask.executeJava() != 0)
>             {
>                 log("jspc failed to compile", Project.MSG_ERR);
>                 buildFailed = true;
>             }
>         }
>
>         if (buildFailed)
>             throw new BuildException("Build failed");
>
> Good luck, and if I can help in any way (besides submitting :) ) let me
know!
>
> ____________________________________________
>
> Matt Bishop
> bea Systems
> 999 North Northlake Way
> Seattle, WA  98103
>
> 206.926.2924 - phone
>
> http://www.bea.com
>
>
> -----Original Message-----
> From: Valerio Gentile [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 09, 2002 9:50 AM
> To: [EMAIL PROTECTED]
> Subject: wljspc contribution
>
>
> Hello everyone.
>
> I had to modify a little the wljspc task (under
org\apache\tools\ant\taskdefs\optional\jsp). I added three optional
parameters: docroot, compiler and compilerclass, and I tested succesfully
with wl 5.1
>
> I attach the class code to this msg. I'd like to know other members'
opinion about the code I modified... maybe my code will be appreciated.. :-D
so much to be included in future Ant releases.
>
> Thanks' a lot
> Valerio Gentile
>
>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to