| <project name="Struts Web Applications" default="compile" basedir="."> |
| |
| |
| <!-- |
| This is a build file that creates all of the web applications included |
| in a Struts distribution, using the generic "build-webapp.xml" script |
| for the details |
| --> |
| |
| |
| <!-- ========== Prerequisite Properties =================================== --> |
| |
| |
| <!-- |
| These properties MUST be set on the "ant" command line, the "antrc" |
| properties file in your home directory, or from settings in a superior |
| build.xml script. |
| |
| build.home Base directory into which we are building |
| the Struts components. |
| |
| compile.classpath If specified, contains a set of JAR files |
| and/or directories to be added to the |
| compilation classpath. |
| |
| servlet.jar The pathname of the servlet API classes |
| that you wish to compile against. |
| |
| struts.libs The directory containing struts.jar and |
| the associated TLD files. |
| |
| webapp.libs If specified, must be the pathname of a |
| directory from which all available |
| "*.jar" files are copied to the web |
| application's WEB-INF/lib directory. |
| --> |
| |
| <property name="build.home" value="${basedir}/target"/> |
| <property name="servlet.jar" value="../jakarta-servletapi/lib/servlet.jar"/> |
| <property name="struts.libs" value="${build.home}/library"/> |
| |
| |
| |
| <!-- ========== Initialization Properties ================================= --> |
| |
| |
| <!-- |
| These property values may optionally be overridden with property |
| settings from an "ant" command line, the "antrc" properties file |
| in your home directory, or from settings in a superior build.xml |
| script. |
| --> |
| |
| |
| <!-- Should Java compilations set the debug compiler option? --> |
| <property name="compile.debug" value="true" /> |
| |
| <!-- Should Java compilations set the deprecation compiler option? --> |
| <property name="compile.deprecation" value="false" /> |
| |
| <!-- Should Java compilations set the optimize compiler option? --> |
| <property name="compile.optimize" value="true" /> |
| |
| <!-- The base directory for distribution targets --> |
| <property name="dist.home" value="${basedir}/dist" /> |
| |
| <!-- The directory into which Struts JAR and TLD files have been created --> |
| <property name="struts.home" value="${build.home}/library" /> |
| |
| <!-- Directory where core struts library configurations files are stored --> |
| <property name="conf.share.dir" value="${basedir}/conf/share"/> |
| |
| <!-- Doc directory --> |
| <property name="doc.dir" value="doc"/> |
| |
| |
| <!-- ========== Executable Targets ======================================== --> |
| |
| |
| <!-- |
| The "static.generic" target causes the "static" target of each |
| individual web application to be executed. |
| --> |
| <target name="static.generic"> |
| <ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="blank"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="documentation"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="example"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="examples"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="tiles-documentation"/> |
| </ant> |
| <!--ant antfile="build-webapp.xml" target="static"> |
| <property name="webapp.name" value="test"/> |
| </ant--> |
| </target> |
| |
| |
| <!-- |
| The "static" target causes non-generic static activity required |
| for specific tag libraries to be executed. |
| --> |
| <target name="static" depends="static.generic" |
| description="Copy static resources for individual web applications"> |
| <!-- Copy DTDs for Struts constructs --> |
| <copy todir="${build.home}/documentation/dtds"> |
| <fileset dir="${conf.share.dir}" includes="**/*.dtd"/> |
| </copy> |
| <!-- Copy required image for the Struts example application --> |
| <copy tofile="${build.home}/example/struts-power.gif" |
| file="${doc.dir}/images/struts-power.gif"/> |
| <!-- Copy validator-rules.xml for the Struts example application --> |
| <copy tofile="${build.home}/example/WEB-INF/validator-rules.xml" |
| file="${basedir}/conf/share/validator-rules.xml"/> |
| <!-- Copy validator-rules.xml for the Struts blank application --> |
| <copy tofile="${build.home}/blank/WEB-INF/validator-rules.xml" |
| file="${basedir}/conf/share/validator-rules.xml"/> |
| <!-- Copy validator-rules.xml for the Struts examples application --> |
| <copy tofile="${build.home}/examples/WEB-INF/validator-rules.xml" |
| file="${basedir}/conf/share/validator-rules.xml"/> |
| <!-- Copy required image for the Struts examples exercise module --> |
| <copy tofile="${build.home}/examples/exercise/struts-power.gif" |
| file="${doc.dir}/images/struts-power.gif"/> |
| <!-- Copy required image for the Struts examples validator module --> |
| <copy tofile="${build.home}/examples/validator/struts-power.gif" |
| file="${doc.dir}/images/struts-power.gif"/> |
| <copy todir="${build.home}/blank/WEB-INF/classes" |
| file="${basedir}/web/blank/WEB-INF/src/java/MessageResources.properties"/> |
| </target> |
| |
| |
| <!-- |
| The "compile.generic" target causes the "compile" target of each |
| individual web application to be executed. |
| --> |
| <target name="compile.generic"> |
| <ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="blank"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="documentation"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="example"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="examples"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="tiles-documentation"/> |
| </ant> |
| <!--ant antfile="build-webapp.xml" target="compile"> |
| <property name="webapp.name" value="test"/> |
| </ant--> |
| </target> |
| |
| |
| <!-- |
| The "compile" target causes non-generic compile activity required |
| for specific tag libraries to be executed. |
| --> |
| <target name="compile" depends="compile.generic,compile.docs, validate.docs" |
| description="Compile individual web applications"> |
| |
| <!-- Create the Tiles documentation --> |
| <style basedir="${doc.dir}/tiles" |
| destdir="${build.home}/tiles-documentation" |
| extension=".html" style="${doc.dir}/stylesheets/struts.xsl" |
| includes="*.xml" |
| excludes="project.xml"> |
| <param name="relative-path" expression="."/> |
| <param name="project-path" expression="../tiles/project.xml"/> |
| </style> |
| |
| <!-- Copy the tiles documentation files --> |
| <copy todir="${build.home}/tiles-documentation"> |
| <fileset dir="${doc.dir}"> |
| <include name="*.css"/> |
| <include name="images/*.gif"/> |
| <include name="images/*.jpg"/> |
| </fileset> |
| </copy> |
| |
| <!-- Validate tiles docs --> |
| <xmlvalidate warn="yes" failonerror="yes" lenient="no"> |
| <fileset dir="${build.home}/tiles-documentation" includes="**/*.html"/> |
| |
| <!-- Reference local DTDS to avoid network lookup --> |
| <dtd publicId="-//W3C//DTD XHTML 1.0 Strict//EN" |
| location="${doc.dir}/dtds/xhtml1-strict.dtd"/> |
| <dtd publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" |
| location="${doc.dir}/dtds/xhtml1-transitional.dtd"/> |
| |
| </xmlvalidate> |
| |
| </target> |
| |
| |
| <!-- |
| The "compile.docs" target transforms the documentation using XSLT |
| --> |
| <target name="compile.docs" |
| description="Perform XSLT transformations"> |
| <!-- Create the taglib documentation --> |
| <style basedir="${doc.dir}" destdir="${build.home}/documentation" |
| extension=".html" style="${doc.dir}/stylesheets/struts.xsl" |
| includes="*.xml" |
| excludes="project.xml" |
| reloadstylesheet="true"> |
| <param name="relative-path" expression="."/> |
| </style> |
| <!-- Create the FAQs --> |
| <style basedir="${doc.dir}/faqs" |
| destdir="${build.home}/documentation/faqs" |
| extension=".html" style="${doc.dir}/stylesheets/struts.xsl" |
| includes="*.xml" |
| excludes="project.xml" |
| reloadstylesheet="true"> |
| <param name="project-path" expression="../faqs/project.xml"/> |
| </style> |
| <!-- Create the proposals --> |
| <style basedir="${doc.dir}/proposals" |
| destdir="${build.home}/documentation/proposals" |
| extension=".html" style="${doc.dir}/stylesheets/struts.xsl" |
| includes="*.xml" |
| excludes="project.xml" |
| reloadstylesheet="true"> |
| <param name="project-path" expression="../proposals/project.xml"/> |
| </style> |
| <!-- Create the user guide --> |
| <style basedir="${doc.dir}/userGuide" |
| destdir="${build.home}/documentation/userGuide" |
| extension=".html" style="${doc.dir}/stylesheets/struts.xsl" |
| includes="*.xml" |
| excludes="project.xml" |
| reloadstylesheet="true"> |
| <param name="project-path" expression="../userGuide/project.xml"/> |
| </style> |
| |
| <!-- Copy the basic documentation files --> |
| <copy todir="${build.home}/documentation"> |
| <fileset dir="${doc.dir}"> |
| <include name="**/*.cgi"/> |
| <include name="**/*.css"/> |
| <include name="**/*.gif"/> |
| <include name="**/*.html"/> |
| <include name="**/*.jpg"/> |
| <include name="**/*.js"/> |
| </fileset> |
| </copy> |
| <!-- Copy the basic user guide files --> |
| <copy todir="${build.home}/documentation/userGuide"> |
| <fileset dir="${doc.dir}/userGuide"> |
| <include name="**/*.css"/> |
| <include name="**/*.gif"/> |
| <include name="**/*.html"/> |
| <include name="**/*.jpg"/> |
| <include name="**/*.js"/> |
| </fileset> |
| </copy> |
| <!-- Copy the proposal files --> |
| <copy todir="${build.home}/documentation/proposals"> |
| <fileset dir="${doc.dir}/proposals"> |
| <include name="**/*.css"/> |
| <include name="**/*.gif"/> |
| <include name="**/*.html"/> |
| <include name="**/*.jpg"/> |
| <include name="**/*.js"/> |
| </fileset> |
| </copy> |
| <!-- Copy the FAQ files --> |
| <copy todir="${build.home}/documentation/faqs"> |
| <fileset dir="${doc.dir}/faqs"> |
| <include name="**/*.zip"/> |
| </fileset> |
| </copy> |
| |
| </target> |
| |
| |
| <!-- |
| The "validate.docs" target validates the generated XHTML |
| documentation against the DTDs |
| --> |
| <target name="validate.docs" description="Validate generated XHTML documents"> |
| <xmlvalidate warn="yes" failonerror="yes" lenient="no"> |
| <fileset dir="${build.home}/documentation"> |
| <include name="**/*.html"/> |
| <exclude name="download.html"/> |
| <exclude name="api/**"/> |
| </fileset> |
| |
| <!-- Reference local DTDS to avoid network lookup --> |
| <dtd publicId="-//W3C//DTD XHTML 1.0 Strict//EN" |
| location="${doc.dir}/dtds/xhtml1-strict.dtd"/> |
| <dtd publicId="-//W3C//DTD XHTML 1.0 Transitional//EN" |
| location="${doc.dir}/dtds/xhtml1-transitional.dtd"/> |
| |
| </xmlvalidate> |
| </target> |
| |
| |
| <!-- |
| The "dist.generic" target causes the "dist" target of each |
| individual web application to be executed. |
| --> |
| <target name="dist.generic"> |
| <ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="blank"/> |
| <property name="webapp.war" value="struts-blank.war"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="documentation"/> |
| <property name="webapp.war" value="struts-documentation.war"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="example"/> |
| <property name="webapp.war" value="struts-mailreader.war"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="examples"/> |
| <property name="webapp.war" value="struts-examples.war"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="tiles-documentation"/> |
| <property name="webapp.war" value="tiles-documentation.war"/> |
| </ant> |
| <!--ant antfile="build-webapp.xml" target="dist"> |
| <property name="webapp.name" value="test"/> |
| <property name="webapp.war" value="struts-test.war"/> |
| </ant--> |
| </target> |
| |
| |
| <!-- |
| The "dist" target causes non-generic dist activity required |
| for specific tag libraries to be executed. |
| --> |
| <target name="dist" depends="dist.generic" |
| description="Create distribution output of web applications"> |
| |
| <!-- Compile Tiles dist --> |
| <!-- |
| <ant antFile="build.xml" dir="contrib/tiles" target="dist.for.struts"> |
| <property name="struts.home" value="${struts.home}"/> |
| <property name="struts.libs" value="${struts.libs}"/> |
| <property name="build.home" value="${build.home}/tiles"/> |
| <property name="dist.home" value="${dist.home}"/> |
| <property name="app.name" value="tiles"/> |
| <property name="project.name" value="Tiles"/> |
| </ant> |
| --> |
| |
| </target> |
| |
| |
| <!-- |
| The "clean.generic" target causes the "clean" target of each |
| individual web application to be executed. |
| --> |
| <target name="clean.generic"> |
| <ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="blank"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="documentation"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="example"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="examples"/> |
| </ant> |
| <ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="tiles-documentation"/> |
| </ant> |
| <!--ant antfile="build-webapp.xml" target="clean"> |
| <property name="webapp.name" value="test"/> |
| </ant--> |
| </target> |
| |
| |
| <!-- |
| The "clean" target causes non-generic clean activity required |
| for specific tag libraries to be executed. |
| --> |
| <target name="clean" depends="clean.generic" |
| description="Clean output for individual web applications"> |
| </target> |
| |
| |
| </project> |