Class JspC
- All Implemented Interfaces:
- Cloneable,- SelectorContainer
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 SummaryNested ClassesModifier and TypeClassDescriptionstatic classstatic inner class used as a parameter element
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected booleanflag to control action on execution troubleprotected JspC.WebAppParameterweb appsFields inherited from class org.apache.tools.ant.taskdefs.MatchingTaskfilesetFields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddWebApp(JspC.WebAppParameter webappParam) Adds a single webapp.Adds a path to the classpath.Support nested compiler classpath, used to locate compiler adaptervoiddelete 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 compilerGet the classpath.get the list of files to compileget the classpath used to find the compiler adapterGet the destination directory.booleanGets the failonerror flag.Get the IE CLASSID value.Get the name of the package.Get the source dir.Get the uri base value.Get the uri root value.intGet the verbose level.Get the web app.Get the webinc attribute.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 voidClear 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.voidAdds a reference to a classpath defined elsewherevoidsetCompiler(String compiler) Class name of a JSP compiler adapter.voidSet the classpath to be used to find this compiler adaptervoidsetDestdir(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 ExplorervoidsetMapped(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.voidSet 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 compilervoidoutput filename for the fraction of web.xml that lists servlets.voidFilename for web.xml.Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTaskadd, 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, XsetItemsMethods inherited from class org.apache.tools.ant.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation
- 
Field Details- 
compileList
- 
failOnErrorprotected boolean failOnErrorflag to control action on execution trouble
- 
webAppweb apps
 
- 
- 
Constructor Details- 
JspCpublic JspC()
 
- 
- 
Method Details- 
setSrcDirSet the path for source JSP files.- Parameters:
- srcDir- the source path.
 
- 
getSrcDir
- 
setDestdirSet the destination directory into which the JSP source files should be compiled.- Parameters:
- destDir- the destination directory.
 
- 
getDestdir
- 
setPackageSet the name of the package the compiled jsp files should be in.- Parameters:
- pkg- the name of the package.
 
- 
getPackage
- 
setVerbosepublic void setVerbose(int i) Set the verbose level of the compiler- Parameters:
- i- the verbose level to use.
 
- 
getVerbosepublic int getVerbose()Get the verbose level.- Returns:
- the level.
 
- 
setFailonerrorpublic void setFailonerror(boolean fail) Whether or not the build should halt if compilation fails. Defaults totrue.- Parameters:
- fail- a- booleanvalue.
 
- 
getFailonerrorpublic boolean getFailonerror()Gets the failonerror flag.- Returns:
- the flag.
 
- 
getIeplugin
- 
setIepluginJava Plugin CLASSID for Internet Explorer- Parameters:
- iepluginid- the id to use.
 
- 
isMappedpublic boolean isMapped()If true, generate separate write() calls for each HTML line in the JSP.- Returns:
- mapping status
 
- 
setMappedpublic void setMapped(boolean mapped) If true, generate separate write() calls for each HTML line in the JSP.- Parameters:
- mapped- a- booleanvalue.
 
- 
setUribaseThe 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
- 
setUrirootThe root directory that uri files should be resolved against. (Default is the directory jspc is invoked from)- Parameters:
- uriroot- The new Uribase value
 
- 
getUriroot
- 
setClasspathSet the classpath to be used for this compilation.- Parameters:
- cp- the path to be used.
 
- 
createClasspath
- 
setClasspathRefAdds a reference to a classpath defined elsewhere- Parameters:
- r- a reference to a classpath.
 
- 
getClasspath
- 
setCompilerclasspathSet the classpath to be used to find this compiler adapter- Parameters:
- cp- the compiler classpath.
 
- 
getCompilerclasspathget the classpath used to find the compiler adapter- Returns:
- the compiler classpath.
 
- 
createCompilerclasspathSupport nested compiler classpath, used to locate compiler adapter- Returns:
- a path to be configured.
 
- 
setWebxml
- 
getWebxml
- 
setWebincoutput filename for the fraction of web.xml that lists servlets.- Parameters:
- webinc- The new Webinc value
 
- 
getWebinc
- 
addWebAppAdds a single webapp.- Parameters:
- webappParam- add a web app parameter
- Throws:
- BuildException- if more than one webapp is specified.
 
- 
getWebApp
- 
setCompilerClass name of a JSP compiler adapter.- Parameters:
- compiler- the compiler class name.
 
- 
getCompileList
- 
executeexecute by building up a list of files that have changed and hand them off to a jsp compiler- Overrides:
- executein class- Task
- Throws:
- BuildException- on error.
 
- 
resetFileListsprotected void resetFileLists()Clear the list of files to be compiled and copied..
- 
scanDirScans 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.
 
- 
mapToJavaFileget 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
 
- 
deleteEmptyJavaFilespublic 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.
 
-