| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <project default="jar" name="commons-jelly-build-all" basedir="."> |
| |
| <property name="libdir" value="target/lib"/> |
| |
| <!-- |
| Documentation: |
| |
| call "clean jar" to build Jelly and each taglib from scratch, |
| or "clean jar-<tagName>" if you want to build a particular |
| taglib. |
| If you don't call clean first, you can get a false positive; |
| if the "depends" of a jar-* task is incomplete, the build might |
| pull in an older jar. |
| |
| Also, will copy all built jars into each successive build, so |
| it's possible for a tag to build successfully without declaring |
| all its dependencies, if its dependencies happen to have been built |
| first. This is bad, but it keeps the script simple |
| |
| WRITTEN FOR SIMPLICITY, NOT ENFORCING STRICTNESS. |
| |
| when adding tags to the build, add them to the |
| "subant" and "subexec" target, |
| add a jar-<tagName> target, and add that target as a dependency |
| of the "jar" target. (Yes, that's a lot of places.) |
| --> |
| |
| <!-- |
| target that can be used via antcall task |
| to call a single target on all jelly build.xml scripts |
| --> |
| <target name="subant"> |
| <ant dir="." target="${sub.target}"/> |
| <ant dir="jelly-tags/ant" target="${sub.target}"/> |
| <ant dir="jelly-tags/antlr" target="${sub.target}"/> |
| <ant dir="jelly-tags/avalon" target="${sub.target}"/> |
| <ant dir="jelly-tags/bean" target="${sub.target}"/> |
| <ant dir="jelly-tags/beanshell" target="${sub.target}"/> |
| <ant dir="jelly-tags/betwixt" target="${sub.target}"/> |
| <ant dir="jelly-tags/bsf" target="${sub.target}"/> |
| <ant dir="jelly-tags/email" target="${sub.target}"/> |
| <ant dir="jelly-tags/fmt" target="${sub.target}"/> |
| <ant dir="jelly-tags/html" target="${sub.target}"/> |
| <ant dir="jelly-tags/http" target="${sub.target}"/> |
| <ant dir="jelly-tags/interaction" target="${sub.target}"/> |
| <ant dir="jelly-tags/jetty" target="${sub.target}"/> |
| <ant dir="jelly-tags/jms" target="${sub.target}"/> |
| <ant dir="jelly-tags/jsl" target="${sub.target}"/> |
| <ant dir="jelly-tags/junit" target="${sub.target}"/> |
| <ant dir="jelly-tags/log" target="${sub.target}"/> |
| <ant dir="jelly-tags/ojb" target="${sub.target}"/> |
| <ant dir="jelly-tags/quartz" target="${sub.target}"/> |
| <ant dir="jelly-tags/soap" target="${sub.target}"/> |
| <ant dir="jelly-tags/sql" target="${sub.target}"/> |
| <ant dir="jelly-tags/swing" target="${sub.target}"/> |
| <ant dir="jelly-tags/swt" target="${sub.target}"/> |
| <ant dir="jelly-tags/threads" target="${sub.target}"/> |
| <ant dir="jelly-tags/util" target="${sub.target}"/> |
| <ant dir="jelly-tags/validate" target="${sub.target}"/> |
| <ant dir="jelly-tags/velocity" target="${sub.target}"/> |
| <ant dir="jelly-tags/xml" target="${sub.target}"/> |
| <ant dir="jelly-tags/xmlunit" target="${sub.target}"/> |
| </target> |
| |
| <target name="subexec"> |
| <exec dir="." command="${sub.command}"/> |
| <exec dir="jelly-tags/ant" command="${sub.command}"/> |
| <exec dir="jelly-tags/antlr" command="${sub.command}"/> |
| <exec dir="jelly-tags/avalon" command="${sub.command}"/> |
| <exec dir="jelly-tags/bean" command="${sub.command}"/> |
| <exec dir="jelly-tags/beanshell" command="${sub.command}"/> |
| <exec dir="jelly-tags/betwixt" command="${sub.command}"/> |
| <exec dir="jelly-tags/bsf" command="${sub.command}"/> |
| <exec dir="jelly-tags/email" command="${sub.command}"/> |
| <exec dir="jelly-tags/fmt" command="${sub.command}"/> |
| <exec dir="jelly-tags/html" command="${sub.command}"/> |
| <exec dir="jelly-tags/http" command="${sub.command}"/> |
| <exec dir="jelly-tags/interaction" command="${sub.command}"/> |
| <exec dir="jelly-tags/jetty" command="${sub.command}"/> |
| <exec dir="jelly-tags/jms" command="${sub.command}"/> |
| <exec dir="jelly-tags/jsl" command="${sub.command}"/> |
| <exec dir="jelly-tags/junit" command="${sub.command}"/> |
| <exec dir="jelly-tags/log" command="${sub.command}"/> |
| <exec dir="jelly-tags/ojb" command="${sub.command}"/> |
| <exec dir="jelly-tags/quartz" command="${sub.command}"/> |
| <exec dir="jelly-tags/soap" command="${sub.command}"/> |
| <exec dir="jelly-tags/sql" command="${sub.command}"/> |
| <exec dir="jelly-tags/swing" command="${sub.command}"/> |
| <exec dir="jelly-tags/swt" command="${sub.command}"/> |
| <exec dir="jelly-tags/threads" command="${sub.command}"/> |
| <exec dir="jelly-tags/util" command="${sub.command}"/> |
| <exec dir="jelly-tags/validate" command="${sub.command}"/> |
| <exec dir="jelly-tags/velocity" command="${sub.command}"/> |
| <exec dir="jelly-tags/xml" command="${sub.command}"/> |
| <exec dir="jelly-tags/xmlunit" command="${sub.command}"/> |
| </target> |
| |
| <target name="clean"> |
| <antcall target="subant"> |
| <param name="sub.target" value="clean"/> |
| </antcall> |
| </target> |
| |
| <!-- |
| clean out all jelly-related builds without |
| deleting existing target/lib directories, |
| not quite as safe as a clean build but much faster |
| than reloading all the "target/lib" directories |
| --> |
| <target name="clean-skiplib"> |
| <delete> |
| <fileset dir="." > |
| <include name="**/target/**"/> |
| <exclude name="**/target/lib/*"/> |
| </fileset> |
| </delete> |
| </target> |
| |
| <target name="ant"> |
| <antcall target="subexec"> |
| <param name="sub.command" value="maven.bat ant"/> |
| </antcall> |
| </target> |
| |
| <!-- |
| putting jar-http last, because it currently fails |
| putting jetty last, seems to have an undeclared |
| dependency on a java extension "javax/net/SocketFactory" |
| --> |
| <target name="jar" |
| depends="jar-jelly,jar-ant,jar-antlr,jar-avalon,jar-bean,jar-beanshell, |
| jar-betwixt,jar-bsf,jar-email,jar-fmt, |
| jar-http,jar-interaction,jar-jms,jar-jsl, |
| jar-junit,jar-log,jar-ojb,jar-quartz,jar-soap,jar-sql, |
| jar-swing,jar-swt,jar-threads,jar-util,jar-validate, |
| jar-velocity,jar-xml,jar-xmlunit,jar-html,jar-jetty"/> |
| |
| <target name="jar-jelly"> |
| <echo message="Building Jelly..."/> |
| <ant dir="." target="jar"/> |
| </target> |
| |
| <target name="jar-ant" depends="jar-jelly,jar-util,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="ant"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-antlr" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="antlr"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-avalon" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="avalon"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-bean" depends="jar-jelly,jar-junit,jar-log"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="bean"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-beanshell" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="beanshell"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-betwixt" depends="jar-jelly,jar-junit,jar-log"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="betwixt"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-bsf" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="bsf"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-email" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="email"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-fmt" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="fmt"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-html" depends="jar-jelly,jar-xml"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="html"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-http" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="http"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-interaction" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="interaction"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-jetty" depends="jar-jelly,jar-http"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="jetty"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-jms" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="jms"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-jsl" depends="jar-jelly,jar-xml,jar-ant,jar-log,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="jsl"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-junit" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="junit"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-log" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="log"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-ojb" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="ojb"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-quartz" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="quartz"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-soap" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="soap"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-sql" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="sql"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-swing" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="swing"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-swt" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="swt"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-threads" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="threads"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-util" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="util"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-validate" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="validate"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-velocity" depends="jar-jelly"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="velocity"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-xml" depends="jar-jelly,jar-junit"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="xml"/> |
| </antcall> |
| </target> |
| |
| <target name="jar-xmlunit" depends="jar-jelly,jar-xml"> |
| <antcall target="taglib-template"> |
| <param name="sub.taglib" value="xmlunit"/> |
| </antcall> |
| </target> |
| |
| <!-- don't call directly, called inside jar-* tasks --> |
| <target name="taglib-template"> |
| <echo message="Building "${sub.taglib}" taglib..."/> |
| |
| <!-- maven-generated ant scripts freak out when this |
| directory is missing --> |
| <mkdir dir="jelly-tags/${sub.taglib}/src/test"/> |
| |
| <antcall target="prepare-taglib-deps"> |
| <param name="sub.taglib" value="${sub.taglib}"/> |
| </antcall> |
| |
| <!-- copy in other Jelly taglib dependencies --> |
| <antcall target="get-ext-taglibs"> |
| <param name="sub.taglib" value="${sub.taglib}"/> |
| </antcall> |
| |
| <antcall target="build-taglib"> |
| <param name="sub.taglib" value="${sub.taglib}"/> |
| </antcall> |
| </target> |
| |
| <!-- |
| don't call directly, called inside jar-* tasks |
| if you set the noget property, the jars will |
| not be checked against the server |
| --> |
| <target name="prepare-taglib-deps"> |
| <ant dir="jelly-tags/${sub.taglib}" target="get-deps"/> |
| |
| <delete> |
| <fileset dir="jelly-tags/${sub.taglib}/${libdir}" includes="commons-jelly-*"/> |
| </delete> |
| <copy todir="jelly-tags/${sub.taglib}/${libdir}"> |
| <fileset dir="target" includes="commons-jelly-*.jar"/> |
| </copy> |
| </target> |
| |
| <!-- don't call directly, called inside jar-* tasks --> |
| <target name="get-ext-taglibs"> |
| <copy todir="jelly-tags/${sub.taglib}/${libdir}" flatten="true"> |
| <fileset dir="." includes="jelly-tags/*/target/commons-jelly-*.jar"/> |
| </copy> |
| </target> |
| |
| <!-- don't call directly, called inside jar-* tasks --> |
| <target name="build-taglib"> |
| <ant dir="jelly-tags/${sub.taglib}" target="jar"> |
| <property name="noget" value="true"/> |
| </ant> |
| </target> |
| |
| |
| </project> |
| |