Added comments and some docs to ant build

This commit is contained in:
Jörn Zaefferer 2006-11-07 10:01:45 +00:00
parent 78ed830b9b
commit 2aa96154b7

309
build.xml
View File

@ -1,173 +1,194 @@
<project name="jQuery" default="all" basedir="."> <project name="jQuery" default="all" basedir=".">
<!--
- Using this build file to create your own custom distribution -
If you want to include jQuery on your site with a certain set of plugins,
follow these steps to create your custom build:
1. Copy the plugins you need to the plugins folder (if you haven't already, checkout
the plugins folder from SVN.
2. Modify the PLUGINS property to include all plugins you want, see PLUGINS_ALL for syntax
eg. if you need form and tabs plugin, set the value for PLUGINS to this:
form/*.js, tabs/*.js
3. Execute the standard jquery and packed targets to build your distribution
TODO Using this build file to create docs for a single plugin
-->
<!-- SETUP --> <!-- SETUP -->
<property name="SRC_DIR" value="src" /> <property description="Source Folder" name="SRC_DIR" value="src" />
<property name="BUILD_DIR" value="build" /> <property description="Files executefor parsing etc." name="BUILD_DIR" value="build" />
<property name="JAR" value="${BUILD_DIR}/js.jar" /> <property description="Rhino JS Engine" name="JAR" value="${BUILD_DIR}/js.jar" />
<property name="PLUGIN_DIR" location="../plugins" /> <property description="Dir to look for plugins" name="PLUGIN_DIR" location="../plugins" />
<property name="PLUGINS" value="none" /> <property description="Add single plugins here" name="PLUGINS" value="none" />
<property name="PLUGINS_ALL" value="button/*.js,center/*.js,cookie/*.js,form/*.js,greybox/*.js,interface/*.js,pager/*.js,tablesorter/*.js,tabs/*.js" /> <property description="Add all plugins here" name="PLUGINS_ALL"
value="button/*.js,center/*.js,cookie/*.js,form/*.js,greybox/*.js,interface/*.js,pager/*.js,tablesorter/*.js,tabs/*.js" />
<property name="PREFIX" value="." /> <property description="Target parent folder for built files" name="PREFIX" value="." />
<property name="DOCS_DIR" value="${PREFIX}/docs" /> <property description="Folder for docs target" name="DOCS_DIR" value="${PREFIX}/docs" />
<property name="TEST_DIR" value="${PREFIX}/test" /> <property description="Folder for test target" name="TEST_DIR" value="${PREFIX}/test" />
<property name="DIST_DIR" value="${PREFIX}/dist" /> <property description="Folder for jquery, min, lite and packed target" name="DIST_DIR" value="${PREFIX}/dist" />
<property name="JQ" value="${DIST_DIR}/jquery.js" /> <!-- Files names for distribution -->
<property name="JQ_LITE" value="${DIST_DIR}/jquery.lite.js" /> <property name="JQ" value="${DIST_DIR}/jquery.js" />
<property name="JQ_MIN" value="${DIST_DIR}/jquery.min.js" /> <property name="JQ_LITE" value="${DIST_DIR}/jquery.lite.js" />
<property name="JQ_PACK" value="${DIST_DIR}/jquery.pack.js" /> <property name="JQ_MIN" value="${DIST_DIR}/jquery.min.js" />
<property name="JQ_PACK" value="${DIST_DIR}/jquery.pack.js" />
<property name="TABS" value="${PLUGIN_DIR}/tabs/tabs.js" />
<property name="TABS_PACK" value="${DIST_DIR}/jquery.tabs.pack.js" />
<!-- MAIN --> <!-- MAIN -->
<target name="jquery"> <target name="jquery" description="Main jquery build, set PLUGINS property to include plugins">
<echo message="Building ${JQ}" /> <echo message="Building ${JQ}" />
<mkdir dir="${DIST_DIR}" /> <mkdir dir="${DIST_DIR}" />
<concat destfile="${JQ}"> <concat destfile="${JQ}">
<fileset dir="${SRC_DIR}" includes="intro.js" /> <fileset dir="${SRC_DIR}" includes="intro.js" />
<fileset dir="${SRC_DIR}" includes="jquery/*.js" /> <fileset dir="${SRC_DIR}" includes="jquery/*.js" />
<fileset dir="${SRC_DIR}" includes="event/*.js" /> <fileset dir="${SRC_DIR}" includes="event/*.js" />
<fileset dir="${SRC_DIR}" includes="fx/*.js" /> <fileset dir="${SRC_DIR}" includes="fx/*.js" />
<fileset dir="${SRC_DIR}" includes="ajax/*.js" /> <fileset dir="${SRC_DIR}" includes="ajax/*.js" />
<fileset dir="${PLUGIN_DIR}" includes="${PLUGINS}" /> <fileset dir="${PLUGIN_DIR}" includes="${PLUGINS}" />
<fileset dir="${SRC_DIR}" includes="outro.js" /> <fileset dir="${SRC_DIR}" includes="outro.js" />
</concat> </concat>
<echo message="${JQ} built." /> <echo message="${JQ} built." />
</target> </target>
<target name="jquery_with_plugins" description="Build jquery with all plugins"> <target name="jquery_with_plugins" description="Build jquery with all plugins, useful to full documentation">
<antcall target="jquery"> <antcall target="jquery">
<param name="PLUGINS" value="${PLUGINS_ALL}" /> <param name="PLUGINS" value="${PLUGINS_ALL}" />
</antcall> </antcall>
</target> </target>
<target name="lite" depends="jquery"> <target name="lite" depends="jquery" description="Remove all /** */ comments">
<echo message="Building ${JQ_LITE}" /> <echo message="Building ${JQ_LITE}" />
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/lite.js" /> <arg value="${BUILD_DIR}/build/lite.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${JQ_LITE}" /> <arg value="${JQ_LITE}" />
</java> </java>
<echo message="${JQ_LITE} built." /> <echo message="${JQ_LITE} built." />
</target> </target>
<target name="min" depends="jquery"> <target name="min" depends="jquery" description="Remove all comments and whitespace, no compression">
<echo message="Building ${JQ_MIN}" /> <echo message="Building ${JQ_MIN}" />
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/min.js" /> <arg value="${BUILD_DIR}/build/min.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${JQ_MIN}" /> <arg value="${JQ_MIN}" />
</java> </java>
<echo message="${JQ_MIN} built." /> <echo message="${JQ_MIN} built." />
</target> </target>
<target name="pack" depends="jquery"> <target name="pack" depends="jquery" description="Remove all comments and whitespace and compress">
<echo message="Building ${JQ_PACK}" /> <echo message="Building ${JQ_PACK}" />
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/pack.js" /> <arg value="${BUILD_DIR}/build/pack.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${JQ_PACK}" /> <arg value="${JQ_PACK}" />
</java> </java>
<echo message="${JQ_PACK} built." /> <echo message="${JQ_PACK} built." />
</target> </target>
<target name="pack_with_plugins" depends="jquery_with_plugins"> <target name="pack_with_plugins" depends="jquery_with_plugins" description="Pack jquery with all plugins, not very useful">
<echo message="Building ${JQ_PACK}" /> <echo message="Building ${JQ_PACK}" />
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/pack.js" /> <arg value="${BUILD_DIR}/build/pack.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${JQ_PACK}" /> <arg value="${JQ_PACK}" />
</java> </java>
<echo message="${JQ_PACK} built." /> <echo message="${JQ_PACK} built." />
</target> </target>
<target name="test" depends="jquery"> <target name="test" depends="jquery" description="Reads tests from source and compiles into html file, testsuite must be run on a webserver">
<echo message="Building Test Suite" /> <echo message="Building Test Suite" />
<delete dir="${TEST_DIR}" /> <delete dir="${TEST_DIR}" />
<mkdir dir="${TEST_DIR}/data" /> <mkdir dir="${TEST_DIR}/data" />
<copy todir="${TEST_DIR}/data"> <copy todir="${TEST_DIR}/data">
<fileset dir="${BUILD_DIR}/test/data/" /> <fileset dir="${BUILD_DIR}/test/data/" />
</copy> </copy>
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/test/test.js" /> <arg value="${BUILD_DIR}/test/test.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${TEST_DIR}" /> <arg value="${TEST_DIR}" />
</java> </java>
<echo message="Test Suite built." /> <echo message="Test Suite built." />
</target> </target>
<target name="docs" depends="jquery"> <target name="docs" depends="jquery" description="Reads inline docs from source and compiles into xml file">
<echo message="Building Documentation" /> <echo message="Building Documentation" />
<delete dir="${DOCS_DIR}" /> <delete dir="${DOCS_DIR}" />
<mkdir dir="${DOCS_DIR}/data" /> <mkdir dir="${DOCS_DIR}/data" />
<copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" /> <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />
<mkdir dir="${DOCS_DIR}/js" /> <mkdir dir="${DOCS_DIR}/js" />
<copy todir="${DOCS_DIR}/js" > <copy todir="${DOCS_DIR}/js">
<fileset dir="${BUILD_DIR}/docs/js"> <fileset dir="${BUILD_DIR}/docs/js">
<include name="**/*.js"/> <include name="**/*.js" />
</fileset> </fileset>
</copy> </copy>
<copy todir="${DOCS_DIR}/style" > <copy todir="${DOCS_DIR}/style">
<fileset dir="${BUILD_DIR}/docs/style"> <fileset dir="${BUILD_DIR}/docs/style">
<include name="**"/> <include name="**" />
</fileset> </fileset>
</copy> </copy>
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/docs/docs.js" /> <arg value="${BUILD_DIR}/docs/docs.js" />
<arg value="${JQ}" /> <arg value="${JQ}" />
<arg value="${DOCS_DIR}" /> <arg value="${DOCS_DIR}" />
</java> </java>
<echo message="Documentation built." /> <echo message="Documentation built." />
</target> </target>
<target name="docs_with_plugins" depends="jquery_with_plugins"> <!-- TODO refactor to remove duplication with above -->
<echo message="Building Documentation" /> <target name="docs_with_plugins" depends="jquery_with_plugins">
<delete dir="${DOCS_DIR}" /> <echo message="Building Documentation" />
<mkdir dir="${DOCS_DIR}/data" /> <delete dir="${DOCS_DIR}" />
<copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" /> <mkdir dir="${DOCS_DIR}/data" />
<mkdir dir="${DOCS_DIR}/js" /> <copy todir="${DOCS_DIR}" file="${BUILD_DIR}/docs/.htaccess" />
<copy todir="${DOCS_DIR}/js" > <mkdir dir="${DOCS_DIR}/js" />
<fileset dir="${BUILD_DIR}/docs/js"> <copy todir="${DOCS_DIR}/js">
<include name="**/*.js"/> <fileset dir="${BUILD_DIR}/docs/js">
</fileset> <include name="**/*.js" />
</copy> </fileset>
<copy todir="${DOCS_DIR}/style" > </copy>
<fileset dir="${BUILD_DIR}/docs/style"> <copy todir="${DOCS_DIR}/style">
<include name="**"/> <fileset dir="${BUILD_DIR}/docs/style">
</fileset> <include name="**" />
</copy> </fileset>
<java jar="${JAR}" fork="true"> </copy>
<arg value="${BUILD_DIR}/docs/docs.js" /> <java jar="${JAR}" fork="true">
<arg value="${JQ}" /> <arg value="${BUILD_DIR}/docs/docs.js" />
<arg value="${DOCS_DIR}" /> <arg value="${JQ}" />
</java> <arg value="${DOCS_DIR}" />
<echo message="Documentation built." /> </java>
</target> <echo message="Documentation built." />
</target>
<target name="clean"> <target name="clean">
<delete dir="${DOCS_DIR}" /> <delete dir="${DOCS_DIR}" />
<delete dir="${TEST_DIR}" /> <delete dir="${TEST_DIR}" />
<delete dir="${DIST_DIR}" /> <delete dir="${DIST_DIR}" />
</target> </target>
<target name="all" depends="clean,jquery,lite,min,pack,docs,test" > <target name="all" depends="clean,jquery,lite,min,pack,docs,test">
<echo message="Build complete." /> <echo message="Build complete." />
</target> </target>
<!-- Extra stuff for Tabs plugin -->
<property name="TABS" value="${PLUGIN_DIR}/tabs/tabs.js" />
<property name="TABS_PACK" value="${DIST_DIR}/jquery.tabs.pack.js" />
<target name="pack_tabs"> <target name="pack_tabs">
<echo message="Building ${TABS_PACK}" /> <echo message="Building ${TABS_PACK}" />
<mkdir dir="${DIST_DIR}" /> <mkdir dir="${DIST_DIR}" />
<java jar="${JAR}" fork="true"> <java jar="${JAR}" fork="true">
<arg value="${BUILD_DIR}/build/pack.js" /> <arg value="${BUILD_DIR}/build/pack.js" />
<arg value="${TABS}" /> <arg value="${TABS}" />
<arg value="${TABS_PACK}" /> <arg value="${TABS_PACK}" />
</java> </java>
<echo message="${TABS_PACK} built." /> <echo message="${TABS_PACK} built." />
</target> </target>
</project> </project>