aboutsummaryrefslogtreecommitdiffstats
path: root/build/build.xml
diff options
context:
space:
mode:
authorRichard Worth <rdworth@gmail.com>2009-01-22 12:10:03 +0000
committerRichard Worth <rdworth@gmail.com>2009-01-22 12:10:03 +0000
commit1acfe427460d5539f0d12f8e5cada682c87e3017 (patch)
treefa1a055458e72cf89bc6a70db1d6464d38a4c4fd /build/build.xml
parent55109e2acea11557c8d4fd3177fd9ce8a6a41a99 (diff)
downloadjquery-ui-1acfe427460d5539f0d12f8e5cada682c87e3017.tar.gz
jquery-ui-1acfe427460d5539f0d12f8e5cada682c87e3017.zip
renamed 'release' folder 'build'
Diffstat (limited to 'build/build.xml')
-rw-r--r--build/build.xml201
1 files changed, 201 insertions, 0 deletions
diff --git a/build/build.xml b/build/build.xml
new file mode 100644
index 000000000..863ef6f98
--- /dev/null
+++ b/build/build.xml
@@ -0,0 +1,201 @@
+<?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.
+
+-->
+
+<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>
+
+ <property file="ant.properties" />
+
+ <loadfile failonerror="no" 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="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-2.4.2.jar" />
+
+ <target name="deploy-release" depends="docs-process, concatenate, minify, copy, replace-version, prepend-header, zip" description="Release builder">
+ </target>
+
+ <target name="replace-version">
+ <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"/>
+ </replaceregexp>
+ <echo message="Replaced all @VERSION to ${release.version}." />
+ </target>
+
+ <target name="prepend-header">
+ <!-- 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/" />
+ </target>
+
+ <target description="Zip the package" name="zip">
+ <zip destfile="${dist.dir}/../${release.filename}.zip">
+ <zipfileset dir="dist/" />
+ </zip>
+ </target>
+
+ <target name="concatenate">
+ <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="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>
+
+ <target description="Copy needed folders" name="copy">
+ <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 name="clean">
+ <delete dir="dist" />
+ </target>
+
+ <target name="docs-download">
+ <property name="url" value="http://www.exfer.net/jquery/createjQueryXMLDocs.py?start=UI/" />
+ <get src="${url}Accordion" dest="docs-accordion.xml" />
+ <get src="${url}Datepicker" dest="docs-datepicker.xml" />
+ <get src="${url}Dialog" dest="docs-dialog.xml" />
+ <get src="${url}Draggable" dest="docs-draggable.xml" />
+ <get src="${url}Droppable" dest="docs-droppable.xml" />
+ <get src="${url}Progressbar" dest="docs-progressbar.xml" />
+ <get src="${url}Resizable" dest="docs-resizable.xml" />
+ <get src="${url}Selectable" dest="docs-selectable.xml" />
+ <get src="${url}Slider" dest="docs-slider.xml" />
+ <get src="${url}Sortable" dest="docs-sortable.xml" />
+ <get src="${url}Tabs" dest="docs-tabs.xml" />
+ </target>
+
+ <target name="docs-process" depends="docs-download">
+ <property name="docs.dir" value="${ui.dir}/demos/documentation" />
+ <delete dir="${docs.dir}" />
+ <mkdir dir="${docs.dir}" />
+ <xslt includes="docs-*.xml" destdir="${docs.dir}" style="build/style.xsl" />
+ </target>
+
+ <target name="docs-clean">
+ <delete>
+ <fileset file="*.xml" excludes="build.xml" />
+ </delete>
+ </target>
+
+</project>