org.apache.tools.ant.taskdefs.optional.jsp

Class JspC

public class JspC extends MatchingTask

Runs a JSP compiler.

This task takes the given jsp files and compiles them into java files. It is then up to the user to compile the java files into classes.

The task requires the srcdir and destdir attributes to be set. This Task is a MatchingTask, so the files to be compiled can be specified using includes/excludes attributes or nested include/exclude elements. Optional attributes are verbose (set the verbosity level passed to jasper), package (name of the destination package for generated java classes and classpath (the classpath to use when running the jsp compiler).

This task supports the nested elements classpath (A Path) and classpathref (A Reference) which can be used in preference to the attribute classpath, if the jsp compiler is not already in the ant classpath.

Usage

 <jspc srcdir="${basedir}/src/war"
       destdir="${basedir}/gensrc"
       package="com.i3sp.jsp"
       verbose="9">
   <include name="**\/*.jsp" />
 </jspc>
 

Large Amount of cutting and pasting from the Javac task...

Since: 1.5

Nested Class Summary
static classJspC.WebAppParameter
static inner class used as a parameter element
Field Summary
protected VectorcompileList
protected booleanfailOnError
flag to control action on execution trouble
protected JspC.WebAppParameterwebApp
web apps
Method Summary
voidaddWebApp(JspC.WebAppParameter webappParam)
Adds a single webapp.
PathcreateClasspath()
Adds a path to the classpath.
PathcreateCompilerclasspath()
Support nested compiler classpath, used to locate compiler adapter
voiddeleteEmptyJavaFiles()
delete any java output files that are empty this is to get around a little defect in jasper: when it fails, it leaves incomplete files around.
voidexecute()
execute by building up a list of files that have changed and hand them off to a jsp compiler
PathgetClasspath()
Get the classpath.
VectorgetCompileList()
get the list of files to compile
PathgetCompilerclasspath()
get the classpath used to find the compiler adapter
FilegetDestdir()
Get the destination directory.
booleangetFailonerror()
Gets the failonerror flag.
StringgetIeplugin()
Get the IE CLASSID value.
StringgetPackage()
Get the name of the package.
PathgetSrcDir()
Get the source dir.
FilegetUribase()
Get the uri base value.
FilegetUriroot()
Get the uri root value.
intgetVerbose()
Get the verbose level.
JspC.WebAppParametergetWebApp()
Get the web app.
FilegetWebinc()
Get the webinc attribute.
FilegetWebxml()
Filename for web.xml.
booleanisMapped()
If true, generate separate write() calls for each HTML line in the JSP.
protected FilemapToJavaFile(JspMangler mangler, File srcFile, File srcDir, File dest)
get a filename from our jsp file.
protected voidresetFileLists()
Clear the list of files to be compiled and copied..
protected voidscanDir(File srcDir, File dest, JspMangler mangler, String[] files)
Scans the directory looking for source files to be compiled.
voidsetClasspath(Path cp)
Set the classpath to be used for this compilation.
voidsetClasspathRef(Reference r)
Adds a reference to a classpath defined elsewhere
voidsetCompiler(String compiler)
Class name of a JSP compiler adapter.
voidsetCompilerclasspath(Path cp)
Set the classpath to be used to find this compiler adapter
voidsetDestdir(File destDir)
Set the destination directory into which the JSP source files should be compiled.
voidsetFailonerror(boolean fail)
Whether or not the build should halt if compilation fails.
voidsetIeplugin(String iepluginid)
Java Plugin CLASSID for Internet Explorer
voidsetMapped(boolean mapped)
If true, generate separate write() calls for each HTML line in the JSP.
voidsetPackage(String pkg)
Set the name of the package the compiled jsp files should be in.
voidsetSrcDir(Path srcDir)
Set the path for source JSP files.
voidsetUribase(File uribase)
The URI context of relative URI references in the JSP pages.
voidsetUriroot(File uriroot)
The root directory that uri files should be resolved against.
voidsetVerbose(int i)
Set the verbose level of the compiler
voidsetWebinc(File webinc)
output filename for the fraction of web.xml that lists servlets.
voidsetWebxml(File webxml)
Filename for web.xml.

Field Detail

compileList

protected Vector compileList

failOnError

protected boolean failOnError
flag to control action on execution trouble

webApp

protected JspC.WebAppParameter webApp
web apps

Method Detail

addWebApp

public void addWebApp(JspC.WebAppParameter webappParam)
Adds a single webapp.

Parameters: webappParam add a web app parameter

Throws: BuildException if more than one webapp is specified.

createClasspath

public Path createClasspath()
Adds a path to the classpath.

Returns: a path to be configured.

createCompilerclasspath

public Path createCompilerclasspath()
Support nested compiler classpath, used to locate compiler adapter

Returns: a path to be configured.

deleteEmptyJavaFiles

public void deleteEmptyJavaFiles()
delete any java output files that are empty this is to get around a little defect in jasper: when it fails, it leaves incomplete files around.

execute

public void execute()
execute by building up a list of files that have changed and hand them off to a jsp compiler

Throws: BuildException on error.

getClasspath

public Path getClasspath()
Get the classpath.

Returns: the classpath.

getCompileList

public Vector getCompileList()
get the list of files to compile

Returns: the list of files.

getCompilerclasspath

public Path getCompilerclasspath()
get the classpath used to find the compiler adapter

Returns: the compiler classpath.

getDestdir

public File getDestdir()
Get the destination directory.

Returns: the directory.

getFailonerror

public boolean getFailonerror()
Gets the failonerror flag.

Returns: the flag.

getIeplugin

public String getIeplugin()
Get the IE CLASSID value.

Returns: the value.

getPackage

public String getPackage()
Get the name of the package.

Returns: the package.

getSrcDir

public Path getSrcDir()
Get the source dir.

Returns: the source path.

getUribase

public File getUribase()
Get the uri base value.

Returns: the value.

getUriroot

public File getUriroot()
Get the uri root value.

Returns: the value.

getVerbose

public int getVerbose()
Get the verbose level.

Returns: the level.

getWebApp

public JspC.WebAppParameter getWebApp()
Get the web app.

Returns: the web app attribute.

getWebinc

public File getWebinc()
Get the webinc attribute.

Returns: the webinc attribute.

getWebxml

public File getWebxml()
Filename for web.xml.

Returns: The filename for web.xml.

isMapped

public boolean isMapped()
If true, generate separate write() calls for each HTML line in the JSP.

Returns: mapping status

mapToJavaFile

protected File mapToJavaFile(JspMangler mangler, File srcFile, File srcDir, File dest)
get a filename from our jsp file.

Parameters: mangler the jsp filename managler. srcFile the source file. srcDir the source directory. dest the destination directory.

Returns: the filename.

UNKNOWN: support packages and subdirs

resetFileLists

protected void resetFileLists()
Clear the list of files to be compiled and copied..

scanDir

protected void scanDir(File srcDir, File dest, JspMangler mangler, String[] files)
Scans the directory looking for source files to be compiled. The results are returned in the class variable compileList

Parameters: srcDir the source directory. dest the destination directory. mangler the jsp filename mangler. files the file names to mangle.

setClasspath

public void setClasspath(Path cp)
Set the classpath to be used for this compilation.

Parameters: cp the path to be used.

setClasspathRef

public void setClasspathRef(Reference r)
Adds a reference to a classpath defined elsewhere

Parameters: r a reference to a classpath.

setCompiler

public void setCompiler(String compiler)
Class name of a JSP compiler adapter.

Parameters: compiler the compiler class name.

setCompilerclasspath

public void setCompilerclasspath(Path cp)
Set the classpath to be used to find this compiler adapter

Parameters: cp the compiler classpath.

setDestdir

public void setDestdir(File destDir)
Set the destination directory into which the JSP source files should be compiled.

Parameters: destDir the destination directory.

setFailonerror

public void setFailonerror(boolean fail)
Whether or not the build should halt if compilation fails. Defaults to true.

Parameters: fail a boolean value.

setIeplugin

public void setIeplugin(String iepluginid)
Java Plugin CLASSID for Internet Explorer

Parameters: iepluginid the id to use.

setMapped

public void setMapped(boolean mapped)
If true, generate separate write() calls for each HTML line in the JSP.

Parameters: mapped a boolean value.

setPackage

public void setPackage(String pkg)
Set the name of the package the compiled jsp files should be in.

Parameters: pkg the name of the package.

setSrcDir

public void setSrcDir(Path srcDir)
Set the path for source JSP files.

Parameters: srcDir the source path.

setUribase

public void setUribase(File uribase)
The URI context of relative URI references in the JSP pages. If it does not exist then it is derived from the location of the file relative to the declared or derived value of uriroot.

Parameters: uribase The new Uribase value

setUriroot

public void setUriroot(File uriroot)
The root directory that uri files should be resolved against. (Default is the directory jspc is invoked from)

Parameters: uriroot The new Uribase value

setVerbose

public void setVerbose(int i)
Set the verbose level of the compiler

Parameters: i the verbose level to use.

setWebinc

public void setWebinc(File webinc)
output filename for the fraction of web.xml that lists servlets.

Parameters: webinc The new Webinc value

setWebxml

public void setWebxml(File webxml)
Filename for web.xml.

Parameters: webxml The new Webxml value