| <!-- ANT Build Script for the "bsf" Custom Tag Library --> |
| <project name="bsf" default="main" basedir="."> |
| |
| <!-- ******************** Adjustable Properties *********************** --> |
| |
| <!-- |
| |
| The following property values should be examined and customized |
| for each custom tag library subproject. |
| |
| ant.home Home directory for the ANT build tool |
| This is normally defaulted from the |
| ANT_HOME environment variable in the |
| build script. |
| |
| servlet.jar Pathname of the servlet API classes |
| you are using to compile, such as the |
| one that comes with Tomcat. This is |
| normally defaulted from the SERVLET_JAR |
| environment variable in the build script. |
| |
| taglib.name Base name of this tag library subproject. |
| |
| --> |
| |
| <property name="taglib.name" value="bsf"/> |
| <property name="ant.home" value="../../jakarta-ant"/> |
| <property name="servlet.jar" value="../../jakarta-servletapi/lib/servlet.jar"/> |
| |
| |
| <!-- ****************** Project Standard Properties ******************* --> |
| |
| <!-- |
| |
| The following property values reflect the standard directory |
| organization for the jakarta-taglibs project, and should not |
| be changed or overridden. |
| |
| build.dir Base directory for build targets |
| dist.dir Base directory for distribution targets |
| taglibs.xsl Taglibs stylesheet |
| |
| --> |
| |
| <property name="build.dir" value="../build"/> |
| <property name="dist.dir" value="../dist"/> |
| <property name="taglibs.xsl" value="src/doc/stylesheets/taglibs.xsl"/> |
| |
| <!-- *********************** Default Properties ********************** --> |
| |
| <!-- |
| |
| The following property values reflect the recommended directory |
| structure for each custom tag library subproject. You should only |
| need to adjust or override them if you use a different organization. |
| |
| conf.src Library configuration source directory |
| doc.src Documentation app source directory |
| examples.src Examples app source directory |
| library.src Library Java source directory |
| |
| --> |
| |
| <property name="conf.src" value="conf"/> |
| <property name="doc.src" value="doc"/> |
| <property name="examples.src" value="examples"/> |
| <property name="library.src" value="src"/> |
| <property name="lib.src" value="lib"/> |
| |
| |
| <!-- ********************* Derived Properties ************************* --> |
| |
| <!-- |
| |
| These property values are derived from the previously defined values, |
| and should not normally be overridden from the command line. |
| |
| build.doc Target directory for documentation app |
| build.examples Target directory for examples app |
| build.library Target directory for tag library |
| dist.doc Destination WAR for documentation app |
| dist.examples Destination WAR for examples app |
| dist.library Destination JAR for tag library |
| dist.tld Destination TLD file for tag library |
| |
| --> |
| |
| <property name="build.doc" value="${build.dir}/${taglib.name}-doc"/> |
| <property name="build.examples" value="${build.dir}/${taglib.name}-examples"/> |
| <property name="build.library" value="${build.dir}/classes"/> |
| <property name="dist.doc" value="${dist.dir}/${taglib.name}-doc.war"/> |
| <property name="dist.examples" value="${dist.dir}/${taglib.name}-examples.war"/> |
| <property name="dist.library" value="${dist.dir}/${lib.src}/${taglib.name}.jar"/> |
| <property name="dist.tld" value="${dist.dir}/${taglib.name}.tld"/> |
| <property name="taglibs.doc" value="${dist.dir}/${taglib.name}-doc"/> |
| |
| |
| <!-- ********************** Destination Preparation ********************* --> |
| |
| <target name="prepare"> |
| <!-- Set up build directories --> |
| <mkdir dir="${build.dir}"/> |
| <mkdir dir="${build.doc}"/> |
| <mkdir dir="${build.doc}/WEB-INF"/> |
| <mkdir dir="${build.doc}/WEB-INF/classes"/> |
| <mkdir dir="${build.doc}/WEB-INF/lib"/> |
| <mkdir dir="${build.examples}"/> |
| <mkdir dir="${build.examples}/WEB-INF"/> |
| <mkdir dir="${build.examples}/WEB-INF/classes"/> |
| <mkdir dir="${build.examples}/WEB-INF/lib"/> |
| <mkdir dir="${build.library}"/> |
| <mkdir dir="${build.library}/META-INF"/> |
| <!-- Set up distribution directory --> |
| <mkdir dir="${dist.dir}"/> |
| <mkdir dir="${dist.dir}/${taglib.name}"/> |
| </target> |
| |
| |
| <!-- **************** Compile Tag Library Components ******************** --> |
| |
| <!-- Compile the documentation application --> |
| <target name="documentation" depends="prepare"> |
| <copy todir="${build.doc}/WEB-INF"> |
| <fileset dir="${doc.src}/conf"/> |
| </copy> |
| <!-- intro.xml isn't part of the documentation application, |
| this is just a handy place to build it for the web site. --> |
| <style in="xml/intro.xml" |
| destdir="${build.doc}" |
| out="${build.doc}/intro.html" |
| style="${taglibs.xsl}"> |
| <param name="prefix" expression="../../"/> |
| </style> |
| <copy todir="${build.doc}"> |
| <fileset dir="${doc.src}/web"> |
| <include name="**/*.html"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- Compile the examples application --> |
| <target name="examples" depends="library-dist"> |
| <copy todir="${build.examples}/WEB-INF"> |
| <fileset dir="${examples.src}/conf"/> |
| </copy> |
| <copy todir="${build.examples}"> |
| <fileset dir="${examples.src}/web"/> |
| </copy> |
| <copy file="${dist.tld}" |
| tofile="${build.examples}/WEB-INF/${taglib.name}.tld"/> |
| <copy file="${dist.library}" |
| tofile="${build.examples}/WEB-INF/lib/${taglib.name}.jar"/> |
| </target> |
| |
| <!-- Compile the tag library itself --> |
| <target name="compile" depends="prepare"> |
| <copy file="${conf.src}/taglib.tld" |
| tofile="${build.library}/META-INF/taglib.tld"/> |
| <javac srcdir="${library.src}" destdir="${build.library}" debug="on"> |
| <classpath> |
| <pathelement location="${servlet.jar}"/> |
| <pathelement location="${taglib.extraclasspath}"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <!-- Compile the library as well as the associated applications --> |
| <target name="main" depends="compile,documentation,examples"/> |
| |
| |
| <!-- ******************* Create Distribution Files ********************** --> |
| |
| <!-- Create the documentation application WAR file --> |
| <target name="documentation-dist" depends="documentation"> |
| <jar jarfile="${dist.doc}" basedir="${build.doc}" excludes="intro.html"/> |
| <mkdir dir="${taglibs.doc}"/> |
| <copy todir="${taglibs.doc}"> |
| <fileset dir="${build.doc}"> |
| <exclude name="WEB-INF"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- Create the examples application WAR file --> |
| <target name="examples-dist" depends="examples"> |
| <jar jarfile="${dist.examples}" basedir="${build.examples}"/> |
| </target> |
| |
| <!-- Create the library distribution files --> |
| <target name="library-dist" depends="compile"> |
| <jar jarfile="${dist.library}" basedir="${build.library}"/> |
| <copy file="${conf.src}/taglib.tld" tofile="${dist.tld}"/> |
| </target> |
| |
| <!-- Create the entire set of distribution files --> |
| <target name="dist" depends="library-dist,examples-dist,documentation-dist"/> |
| |
| |
| |
| <!-- ************************ Utility Commands ************************** --> |
| |
| <!-- Delete output directories and files so we can build from scratch --> |
| <target name="clean"> |
| <delete dir="${build.dir}/${taglib.name}"/> |
| <delete dir="${dist.dir}/${taglib.name}"/> |
| </target> |
| |
| </project> |