Author: jmitchell Date: Fri Mar 18 19:25:45 2005 New Revision: 158194 URL: http://svn.apache.org/viewcvs?view=rev&rev=158194 Log: add jsp precompile capability (not working yet, but its here)
Modified: struts/taglib/trunk/maven.xml Modified: struts/taglib/trunk/maven.xml URL: http://svn.apache.org/viewcvs/struts/taglib/trunk/maven.xml?view=diff&r1=158193&r2=158194 ============================================================================== --- struts/taglib/trunk/maven.xml (original) +++ struts/taglib/trunk/maven.xml Fri Mar 18 19:25:45 2005 @@ -1,38 +1,120 @@ -<project default="jar:jar" - xmlns:j="jelly:core" - xmlns:ant="jelly:ant"> - - <postGoal name="dist"> - <attainGoal name="jar:install"/> - </postGoal> - - <preGoal name="xdoc:jelly-transform"> - <attainGoal name="html2xdoc"/> - </preGoal> - - <!-- Prepare additional Jar resources --> - <postGoal name="java:jar-resources"> - <attainGoal name="struts:generate-tlds"/> - </postGoal> - - - <goal name="struts:generate-tlds"> +<project default="jar:jar" + xmlns:j="jelly:core" + xmlns:ant="jelly:ant" + xmlns:maven="jelly:maven" + xmlns:util="jelly:util"> + + + <postGoal name="dist"> + <attainGoal name="jar:install"/> + </postGoal> + + <preGoal name="xdoc:jelly-transform"> + <attainGoal name="html2xdoc"/> + </preGoal> + + <!-- Prepare additional Jar resources --> + <postGoal name="java:jar-resources"> + <attainGoal name="struts:generate-tlds"/> + </postGoal> + - <!-- Generate TLDs --> - ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} + <goal name="struts:generate-tlds"> + + <!-- Generate TLDs --> + ${systemScope.setProperty('javax.xml.transform.TransformerFactory','org.apache.xalan.processor.TransformerFactoryImpl')} <ant:style basedir="doc/userGuide" destdir="${maven.build.dir}/classes/META-INF/tlds" extension=".tld" style="doc/stylesheets/tld.xsl" includes="struts-*.xml"/> - - </goal> + + </goal> <preGoal name="java:compile"> <mkdir dir="${maven.build.dir}/xdoclet/webdoclet/WEB-INF" /> <attainGoal name="xdoclet:webdoclet" /> </preGoal> + + <preGoal name="war:webapp"> + <j:set var="precompileJsp" value="${precompile.jsp}"/> + <j:if test="${precompileJsp == 'true'}"> + <attainGoal name="precompile-jsp"/> + </j:if> + </preGoal> + + <goal name="precompile-jsp" description="Precompile all JSPs into java classes, and then into classes" prereqs="war:load,java:compile"> + + <maven:get var="warSource" property="maven.war.src" plugin="maven-war-plugin" /> + + <ant:mkdir dir="${maven.build.dir}/jspc"/> + <ant:mkdir dir="${maven.build.dir}/jspc-processed"/> + <ant:mkdir dir="${maven.build.dir}/jspc-classes"/> + + <j:set var="jspOutDir" value="${maven.build.dir}/jspc"/> + <j:set var="jspClassesOutDir" value="${maven.build.dest}"/> + + <ant:path id="jspc.classpath"> + <ant:pathelement location="${tomcat.home}/common/lib/jasper-runtime.jar"/> + <ant:pathelement location="${tomcat.home}/common/lib/jasper-compiler.jar"/> + <ant:pathelement location="${tomcat.home}/common/lib/servlet.jar"/> + <ant:path refid="maven.dependency.classpath"/> + <ant:pathelement path="${maven.build.dest}"/> + </ant:path> + +<!-- + <ant:path id="jspc.classpath"> + <ant:pathelement location="${tomcat.home}/common/lib/jasper-runtime.jar"/> + <ant:pathelement location="${tomcat.home}/common/lib/jasper-compiler.jar"/> + <ant:pathelement location="${tomcat.home}/common/lib/servlet-api.jar"/> + <ant:pathelement location="${tomcat.home}/common/lib/jsp-api.jar"/> + <ant:path refid="maven.dependency.classpath"/> + <ant:pathelement path="${maven.build.dest}"/> + </ant:path> +--> + + <ant:taskdef name="jasper2" + classname="org.apache.jasper.JspC" + classpathref="jspc.classpath"/> + + <echo>jspc.classpath=${jspc.classpath}</echo> + <echo>maven.build.dir=${maven.build.dir}</echo> + <echo>jspOutDir=${jspOutDir}</echo> + <echo>warSource=${warSource}</echo> + <echo>/pom.artifactId=/${pom.artifactId}</echo> + + <ant:jasper2 + webXmlFragment="${maven.build.dir}/web-fragment.xml" + package="${pom.package}.jsp.${pom.artifactId}" + outputDir="${jspOutDir}" + srcdir="${warSource}" + uriroot="${warSource}" + uribase="/${pom.artifactId}" + verbose="9"/> + + <ant:javac + srcdir="${jspOutDir}" + destdir="${jspClassesOutDir}" + debug="${maven.compile.debug}" + deprecation="${maven.compile.deprecation}" + optimize="${maven.compile.optimize}" + classpathref="jspc.classpath"/> + + </goal> + + + <postGoal name="war:webapp"> + <j:set var="precompileJsp" value="${precompile.jsp}"/> + <j:if test="${precompileJsp == 'true'}"> + <maven:get var="target" property="maven.war.webapp.dir" plugin="maven-war-plugin" /> + <util:available file="${maven.build.dir}/web-fragment.xml"> + <util:loadText var="fragment" file="${maven.build.dir}/web-fragment.xml"/> + <ant:replace file="${target}/WEB-INF/web.xml" token="<!-- [INSERT FRAGMENT HERE] -->" value="${fragment}"/> + </util:available> + </j:if> + </postGoal> + </project> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]