aboutsummaryrefslogtreecommitdiffstats
path: root/docs/sandbox/scripts/precompile-jsp.build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/sandbox/scripts/precompile-jsp.build.xml')
-rw-r--r--docs/sandbox/scripts/precompile-jsp.build.xml137
1 files changed, 137 insertions, 0 deletions
diff --git a/docs/sandbox/scripts/precompile-jsp.build.xml b/docs/sandbox/scripts/precompile-jsp.build.xml
new file mode 100644
index 000000000..bdabff97b
--- /dev/null
+++ b/docs/sandbox/scripts/precompile-jsp.build.xml
@@ -0,0 +1,137 @@
+<!-- @author Wes Isberg -->
+<!-- START-SAMPLE j2ee-tomcat4-precompileJsp Precompile JSP's for Tomcat 4.x using AspectJ -->
+<project name="Precompile Tomcat JSPs" default="all" basedir=".">
+
+ <target name="all" depends="jspc,compile"/>
+
+ <target name="info">
+ <echo>
+This Ant script precompiles deployed .jsp files in Tomcat
+using AspectJ 1.1.
+
+Usage:
+
+ {ant} -f {this-script} \
+ -Dtomcat.home=/home/tomcat \
+ -Dwebapp.name=launchWeb \
+ -DASPECTJ_HOME=/dev/tools/aspectj-1.1.0
+
+
+This defines the web application deployment $${webapp.dir} as
+
+ $${tomcat.home}/webapps/$${webapp.name}
+
+, generates the Java source files to
+
+ $${webapp.dir}/WEB-INF/src
+
+, uses iajc (AspectJ) to compile them to
+
+ $${webapp.dir}/WEB-INF/classes,
+
+, and creates the mappings
+
+ $${webapp.dir}/WEB-INF/generated_web.xml,
+
+which must be manually inserted into
+
+ $${webapp.dir}/WEB-INF/generated_web.xml,
+
+at which point the web application can be reloaded.
+
+This assumes that aspectjrt.jar is already deployed in
+any of places on the Tomcat application classpath
+(the application, shared, or common classpath).
+If ASPECTJ_HOME is not defined, it assumes that
+aspectjtools.jar is in
+
+ ${CATALINA_HOME}/common/lib
+
+</echo>
+ </target>
+
+ <target name="init">
+ <!-- declare these two on command-line -->
+ <property name="webapp.name"
+ value="launchWeb"/>
+
+ <property name="tomcat.home"
+ location="i:/home/tomcat"/>
+
+ <property name="webapp.path"
+ location="${tomcat.home}/webapps/${webapp.name}"/>
+ <property name="webapp.src.dir"
+ location="${webapp.path}/WEB-INF/src"/>
+
+ <property name="ASPECTJ_HOME"
+ location="${tomcat.home}/common"/>
+
+ </target>
+
+ <target name="jspc" depends="init">
+
+ <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
+ <classpath id="jspc.classpath">
+ <pathelement location="${java.home}/../lib/tools.jar"/>
+ <fileset dir="${tomcat.home}/server/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${tomcat.home}/common/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </classpath>
+ </taskdef>
+
+ <mkdir dir="${webapp.src.dir}"/>
+ <jasper2
+ validateXml="true"
+ uriroot="${webapp.path}"
+ webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
+ outputDir="${webapp.src.dir}" />
+
+ </target>
+
+ <target name="compile" depends="init">
+
+ <mkdir dir="${webapp.path}/WEB-INF/classes"/>
+ <mkdir dir="${webapp.path}/WEB-INF/lib"/>
+
+ <path id="iajc.classpath">
+ <fileset dir="${ASPECTJ_HOME}/lib">
+ <include name="aspectjtools.jar"/>
+ </fileset>
+ </path>
+ <taskdef
+ resource="org/aspectj/tools/ant/taskdefs/aspectjTaskdefs.properties">
+ <classpath refid="iajc.classpath"/>
+ </taskdef>
+
+ <!-- forking compile so it runs in Eclipse -->
+ <iajc destdir="${webapp.path}/WEB-INF/classes"
+ sourceroots="${webapp.src.dir}"
+ debug="on"
+ verbose="true"
+ fork="true"
+ forkclasspathRef="iajc.classpath"
+ failonerror="true"
+ >
+ <classpath>
+ <pathelement location="${webapp.path}/WEB-INF/classes"/>
+ <fileset dir="${webapp.path}/WEB-INF/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <pathelement location="${tomcat.home}/common/classes"/>
+ <fileset dir="${tomcat.home}/common/lib">
+ <include name="*.jar"/>
+ </fileset>
+ <pathelement location="${tomcat.home}/shared/classes"/>
+ <fileset dir="${tomcat.home}/shared/lib">
+ <include name="*.jar"/>
+ </fileset>
+ </classpath>
+ </iajc>
+
+ </target>
+
+</project>
+<!-- END-SAMPLE j2ee-tomcat4-precompileJsp -->