<?xml version="1.0" encoding="iso-8859-1"?> <!-- jQuery UI Release! Call task called 'deploy-release' to build a full release. The release built will be stored on 'dist' dir. @author Eduardo Lundgren (eduardo.lundgren@gmail.com) --> <project name="jquery-ui" default="deploy-release" basedir="."> <taskdef resource="net/sf/antcontrib/antcontrib.properties"> <classpath> <pathelement location="build/ant-contrib-0.6.jar"/> </classpath> </taskdef> <target name="deploy-release" depends="load.properties, concatenate, minify, pack, copy, replace-version, prepend-header, zip" description="Release builder"> </target> <target name="load.properties"> <property file="ant.properties" /> <loadfile srcFile="../version.txt" property="release.version" /> <property name="release.filename" value="jquery.ui-${release.version}" /> <property name="dist.dir" value="dist/${release.filename}/" /> <property name="build.dir" value="build" /> <property name="ui.dir" value="../" /> <property name="src.dir" value="${ui.dir}/ui/" /> <property name="min.folder" value="${dist.dir}/ui/minified" /> <property name="packed.folder" value="${dist.dir}/ui/packed" /> <property name="concatenated" value="jquery.ui.all" /> <property name="concatenated.i18n" value="jquery.ui.i18n.all" /> <property name="core.files" value="ui.core.js, ui.draggable.js, ui.droppable.js, ui.resizable.js, ui.selectable.js, ui.sortable.js, effects.core.js" /> <property description="YUI Compressor" name="yui-jar" value="${build.dir}/yuicompressor.jar" /> <property description="Dean Edwards Packer" name="pack.php" value="${build.dir}/pack.php" /> </target> <target name="replace-version" depends="load.properties"> <replaceregexp match="@VERSION" replace="${release.version}" flags="g" byline="true"> <fileset dir="${dist.dir}/ui/" includes="*.js"/> <fileset dir="${dist.dir}/ui/minified/" includes="*.js"/> <fileset dir="${dist.dir}/ui/packed/" includes="*.js"/> </replaceregexp> <echo message="Replaced all @VERSION to ${release.version}." /> </target> <target name="prepend-header" depends="load.properties"> <!-- TODO: refactor this ugly mess --> <copy todir="${dist.dir}/headers/"> <fileset dir="${dist.dir}/ui/" includes="*.js" /> </copy> <replaceregexp match="^(\/\*.*?\*\/\s).+" replace="\1" flags="s"> <fileset dir="${dist.dir}/headers/" includes="*.js"/> </replaceregexp> <for param="file"> <path><fileset dir="${dist.dir}/ui/minified/" includes="*.js" /></path> <sequential> <propertyregex override="yes" property="target" input="@{file}" regexp=".+\\(.+)\.min\.js$" replace="\1"/> <concat destfile="${dist.dir}/ui-headered/${target}.min.js"> <header file="${dist.dir}/headers/${target}.js" /> <fileset file="@{file}" /> </concat> </sequential> </for> <copy todir="${dist.dir}/ui/minified"> <fileset dir="${dist.dir}/ui-headered/" includes="*.js" /> </copy> <delete dir="${dist.dir}/ui-headered/" /> <for param="file"> <path><fileset dir="${dist.dir}/ui/packed/" includes="*.js" /></path> <sequential> <propertyregex override="yes" property="target" input="@{file}" regexp=".+\\(.+)\.packed\.js$" replace="\1"/> <concat destfile="${dist.dir}/ui-headered/${target}.packed.js"> <header file="${dist.dir}/headers/${target}.js" /> <fileset file="@{file}" /> </concat> </sequential> </for> <copy todir="${dist.dir}/ui/packed"> <fileset dir="${dist.dir}/ui-headered/" includes="*.js" /> </copy> <delete dir="${dist.dir}/ui-headered/" /> <delete dir="${dist.dir}/headers/" /> </target> <target description="Zip the package" name="zip"> <zip destfile="${dist.dir}/../${release.filename}.zip"> <zipfileset dir="${dist.dir}/" /> </zip> </target> <target name="concatenate" depends="load.properties"> <echo message="Building concatenated" /> <mkdir dir="${dist.dir}/ui/" /> <delete file="${dist.dir}/ui/${concatenated}.js" /> <concat destfile="${dist.dir}/ui/${concatenated}.js"> <filelist dir="${src.dir}/" files="${core.files}" /> <fileset dir="${src.dir}/" includes="ui.*.js, effects.*.js" excludes="${core.files}" /> </concat> <echo message="Concatenated built." /> <mkdir dir="${dist.dir}/ui/i18n/" /> <delete file="${dist.dir}/ui/i18n/${concatenated.i18n}.js" /> <concat destfile="${dist.dir}/ui/i18n/${concatenated.i18n}.js" encoding="utf-8"> <fileset dir="${src.dir}/i18n/" includes="ui.*.js" /> </concat> <echo message="Concatenated i18n built." /> </target> <target name="minify" depends="load.properties, concatenate" description="Remove all comments and whitespace, no compression, great in combination with GZip"> <echo message="Building minified" /> <delete dir="${min.folder}/" /> <mkdir dir="${min.folder}" /> <delete dir="${min.folder}/i18n/" /> <mkdir dir="${min.folder}/i18n/" /> <apply executable="java" parallel="false"> <filelist dir="${dist.dir}/ui/" files="${concatenated}.js" /> <fileset dir="${src.dir}/" includes="ui.*.js, effects.*.js" /> <arg line="-jar" /> <arg path="${yui-jar}" /> <arg value="--charset" /> <arg value="UTF-8" /> <srcfile /> <arg line="-o" /> <mapper type="glob" from="*.js" to="${min.folder}/*.min.js" /> <targetfile /> </apply> <echo message="Minified built." /> <apply executable="java" parallel="false"> <filelist dir="${dist.dir}/ui/i18n/" files="${concatenated.i18n}.js" /> <fileset dir="${src.dir}/i18n/" includes="ui.*.js" /> <arg line="-jar" /> <arg path="${yui-jar}" /> <arg value="--charset" /> <arg value="UTF-8" /> <srcfile /> <arg line="-o" /> <mapper type="glob" from="*.js" to="${min.folder}/i18n/*.min.js" /> <targetfile /> </apply> <echo message="Minified i18n built." /> </target> <!-- Using PHP Dean Edwards Packer --> <target name="pack" depends="load.properties, concatenate" description="Remove all comments and whitespace and compress"> <echo message="Building packed" /> <delete dir="${packed.folder}/" /> <mkdir dir="${packed.folder}" /> <delete dir="${packed.folder}/i18n/" /> <mkdir dir="${packed.folder}/i18n/" /> <apply executable="php" parallel="false"> <filelist dir="${min.folder}" files="${concatenated}.min.js" /> <fileset dir="${min.folder}" includes="ui.*.min.js, effects.*.min.js" /> <arg path="${pack.php}" /> <srcfile /> <mapper type="glob" from="*.min.js" to="${packed.folder}/*.packed.js" /> <targetfile /> </apply> <echo message="Packed built." /> <apply executable="php" parallel="false"> <filelist dir="${min.folder}/i18n/" files="${concatenated.i18n}.min.js" /> <fileset dir="${min.folder}/i18n/" includes="ui.*.min.js" /> <arg path="${pack.php}" /> <srcfile /> <mapper type="glob" from="*.min.js" to="${packed.folder}/i18n/*.packed.js" /> <targetfile /> </apply> <echo message="Packed i18n built." /> </target> <target description="Copy needed folders" name="copy" depends="load.properties"> <echo message="Copying files" /> <mkdir dir="${dist.dir}" /> <copy overwrite="true" todir="${dist.dir}/"> <fileset dir="${ui.dir}/" includes="jquery-*.js" /> </copy> <copy overwrite="true" todir="${dist.dir}/ui/"> <fileset dir="${src.dir}/" includes="ui.*.js, effects.*.js" /> </copy> <copy overwrite="true" todir="${dist.dir}/ui/i18n/" > <fileset dir="${src.dir}/i18n/" /> </copy> <copy overwrite="true" todir="${dist.dir}/"> <fileset dir="${ui.dir}/" includes="*.txt" /> </copy> <copy overwrite="true" todir="${dist.dir}/demos/" > <fileset dir="${ui.dir}/demos/" /> </copy> <copy overwrite="true" todir="${dist.dir}/tests/" > <fileset dir="${ui.dir}/tests/" /> </copy> <copy overwrite="true" todir="${dist.dir}/themes/" > <fileset dir="${ui.dir}/themes/" /> </copy> <echo message="Files copied." /> </target> <target depends="load.properties" name="clean"> <delete dir="${dist.dir}" /> </target> </project>