org.apache.tools.ant.taskdefs.optional.jspClass JspC
- java.lang.Object
- org.apache.tools.ant.ProjectComponent
- org.apache.tools.ant.Task
- org.apache.tools.ant.taskdefs.MatchingTask
- org.apache.tools.ant.taskdefs.optional.jsp.JspC
- All Implemented Interfaces:
- java.lang.Cloneable, SelectorContainer
public class JspC extends MatchingTaskRuns 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
Nested Classes Modifier and Type Class and Description static class
JspC.WebAppParameter
static inner class used as a parameter element
Field Summary
Fields Modifier and Type Field and Description protected java.util.Vector
compileList
protected boolean
failOnError
flag to control action on execution troubleprotected JspC.WebAppParameter
webApp
web apps
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
Constructor Summary
Constructors Constructor and Description JspC()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
addWebApp(JspC.WebAppParameter webappParam)
Adds a single webapp.Path
createClasspath()
Adds a path to the classpath.Path
createCompilerclasspath()
Support nested compiler classpath, used to locate compiler adaptervoid
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.void
execute()
execute by building up a list of files that have changed and hand them off to a jsp compilerPath
getClasspath()
Get the classpath.java.util.Vector
getCompileList()
get the list of files to compilePath
getCompilerclasspath()
get the classpath used to find the compiler adapterjava.io.File
getDestdir()
Get the destination directory.boolean
getFailonerror()
Gets the failonerror flag.java.lang.String
getIeplugin()
Get the IE CLASSID value.java.lang.String
getPackage()
Get the name of the package.Path
getSrcDir()
Get the source dir.java.io.File
getUribase()
Get the uri base value.java.io.File
getUriroot()
Get the uri root value.int
getVerbose()
Get the verbose level.JspC.WebAppParameter
getWebApp()
Get the web app.java.io.File
getWebinc()
Get the webinc attribute.java.io.File
getWebxml()
Filename for web.xml.boolean
isMapped()
If true, generate separate write() calls for each HTML line in the JSP.protected java.io.File
mapToJavaFile(JspMangler mangler, java.io.File srcFile, java.io.File srcDir, java.io.File dest)
get a filename from our jsp file.protected void
resetFileLists()
Clear the list of files to be compiled and copied..protected void
scanDir(java.io.File srcDir, java.io.File dest, JspMangler mangler, java.lang.String[] files)
Scans the directory looking for source files to be compiled.void
setClasspath(Path cp)
Set the classpath to be used for this compilation.void
setClasspathRef(Reference r)
Adds a reference to a classpath defined elsewherevoid
setCompiler(java.lang.String compiler)
Class name of a JSP compiler adapter.void
setCompilerclasspath(Path cp)
Set the classpath to be used to find this compiler adaptervoid
setDestdir(java.io.File destDir)
Set the destination directory into which the JSP source files should be compiled.void
setFailonerror(boolean fail)
Whether or not the build should halt if compilation fails.void
setIeplugin(java.lang.String iepluginid)
Java Plugin CLASSID for Internet Explorervoid
setMapped(boolean mapped)
If true, generate separate write() calls for each HTML line in the JSP.void
setPackage(java.lang.String pkg)
Set the name of the package the compiled jsp files should be in.void
setSrcDir(Path srcDir)
Set the path for source JSP files.void
setUribase(java.io.File uribase)
The URI context of relative URI references in the JSP pages.void
setUriroot(java.io.File uriroot)
The root directory that uri files should be resolved against.void
setVerbose(int i)
Set the verbose level of the compilervoid
setWebinc(java.io.File webinc)
output filename for the fraction of web.xml that lists servlets.void
setWebxml(java.io.File webxml)
Filename for web.xml.
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation
Field Detail
compileList
protected java.util.Vector compileList
failOnError
protected boolean failOnErrorflag to control action on execution trouble
webApp
protected JspC.WebAppParameter webAppweb apps
Method Detail
setSrcDir
public void setSrcDir(Path srcDir)Set the path for source JSP files.
- Parameters:
srcDir
- the source path.
getSrcDir
public Path getSrcDir()Get the source dir.
- Returns:
- the source path.
setDestdir
public void setDestdir(java.io.File destDir)Set the destination directory into which the JSP source files should be compiled.
- Parameters:
destDir
- the destination directory.
getDestdir
public java.io.File getDestdir()Get the destination directory.
- Returns:
- the directory.
setPackage
public void setPackage(java.lang.String pkg)Set the name of the package the compiled jsp files should be in.
- Parameters:
pkg
- the name of the package.
getPackage
public java.lang.String getPackage()Get the name of the package.
- Returns:
- the package.
setVerbose
public void setVerbose(int i)Set the verbose level of the compiler
- Parameters:
i
- the verbose level to use.
getVerbose
public int getVerbose()Get the verbose level.
- Returns:
- the level.
setFailonerror
public void setFailonerror(boolean fail)Whether or not the build should halt if compilation fails. Defaults totrue
.
- Parameters:
fail
- aboolean
value.
getFailonerror
public boolean getFailonerror()Gets the failonerror flag.
- Returns:
- the flag.
getIeplugin
public java.lang.String getIeplugin()Get the IE CLASSID value.
- Returns:
- the value.
setIeplugin
public void setIeplugin(java.lang.String iepluginid)Java Plugin CLASSID for Internet Explorer
- Parameters:
iepluginid
- the id to use.
isMapped
public boolean isMapped()If true, generate separate write() calls for each HTML line in the JSP.
- Returns:
- mapping status
setMapped
public void setMapped(boolean mapped)If true, generate separate write() calls for each HTML line in the JSP.
- Parameters:
mapped
- aboolean
value.
setUribase
public void setUribase(java.io.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
getUribase
public java.io.File getUribase()Get the uri base value.
- Returns:
- the value.
setUriroot
public void setUriroot(java.io.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
getUriroot
public java.io.File getUriroot()Get the uri root value.
- Returns:
- the value.
setClasspath
public void setClasspath(Path cp)Set the classpath to be used for this compilation.
- Parameters:
cp
- the path to be used.
createClasspath
public Path createClasspath()Adds a path to the classpath.
- Returns:
- a path to be configured.
setClasspathRef
public void setClasspathRef(Reference r)Adds a reference to a classpath defined elsewhere
- Parameters:
r
- a reference to a classpath.
getClasspath
public Path getClasspath()Get the classpath.
- Returns:
- the classpath.
setCompilerclasspath
public void setCompilerclasspath(Path cp)Set the classpath to be used to find this compiler adapter
- Parameters:
cp
- the compiler classpath.
getCompilerclasspath
public Path getCompilerclasspath()get the classpath used to find the compiler adapter
- Returns:
- the compiler classpath.
createCompilerclasspath
public Path createCompilerclasspath()Support nested compiler classpath, used to locate compiler adapter
- Returns:
- a path to be configured.
setWebxml
public void setWebxml(java.io.File webxml)Filename for web.xml.
- Parameters:
webxml
- The new Webxml value
getWebxml
public java.io.File getWebxml()Filename for web.xml.
- Returns:
- The filename for web.xml.
setWebinc
public void setWebinc(java.io.File webinc)output filename for the fraction of web.xml that lists servlets.
- Parameters:
webinc
- The new Webinc value
getWebinc
public java.io.File getWebinc()Get the webinc attribute.
- Returns:
- the webinc attribute.
addWebApp
public void addWebApp(JspC.WebAppParameter webappParam) throws BuildExceptionAdds a single webapp.
- Parameters:
webappParam
- add a web app parameter- Throws:
BuildException
- if more than one webapp is specified.
getWebApp
public JspC.WebAppParameter getWebApp()Get the web app.
- Returns:
- the web app attribute.
setCompiler
public void setCompiler(java.lang.String compiler)Class name of a JSP compiler adapter.
- Parameters:
compiler
- the compiler class name.
getCompileList
public java.util.Vector getCompileList()get the list of files to compile
- Returns:
- the list of files.
execute
public void execute() throws BuildExceptionexecute by building up a list of files that have changed and hand them off to a jsp compiler
- Overrides:
execute
in classTask
- Throws:
BuildException
- on error.
resetFileLists
protected void resetFileLists()Clear the list of files to be compiled and copied..
scanDir
protected void scanDir(java.io.File srcDir, java.io.File dest, JspMangler mangler, java.lang.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.
mapToJavaFile
protected java.io.File mapToJavaFile(JspMangler mangler, java.io.File srcFile, java.io.File srcDir, java.io.File dest)get a filename from our jsp file.
- Parameters:
mangler
- the jsp filename manager.srcFile
- the source file.srcDir
- the source directory.dest
- the destination directory.- Returns:
- the filename.
- To do:
- support packages and subdirs
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.