<?xml version="1.0" encoding="utf-8"?> <project name="h5ai" basedir="." default="release" > <target name="init"> <property file="build.properties" /> <tstamp> <format property="build.stamp" pattern="yyyy-MM-dd-HHmmss" /> </tstamp> <property name="build.label" value="${project.name} ${project.version} b${build.stamp}" /> <echo>Build: ${build.label}</echo> </target> <target name="clean" depends="init"> <delete dir="${build.dir}" /> <delete dir="${release.dir}" /> </target> <target name="build-prepare" depends="clean"> <mkdir dir="${build.dir}" /> <copy todir="${build.dir}"> <fileset dir="${src.dir}" /> <fileset file="LICENSE.txt" /> <fileset file="README.md" /> </copy> <replace dir="${build.dir}"> <replacefilter token="%BUILD%" value="${build.label}" /> <replacefilter token="%BUILD_NAME%" value="${project.name}" /> <replacefilter token="%BUILD_VERSION%" value="${project.version}" /> <replacefilter token="%BUILD_STAMP%" value="${build.stamp}" /> </replace> </target> <target name="build" depends="build-prepare"> <wepp-dir-min dir="${build.dir}/_h5ai/css" todir="${build.dir}/_h5ai/css" /> <wepp-dir-min dir="${build.dir}/_h5ai/js" todir="${build.dir}/_h5ai/js" /> <delete dir="${build.dir}/_h5ai/css/inc" > <fileset dir="." includes="${build.dir}/_h5ai/css/**/*.less" /> </delete> <delete dir="${build.dir}/_h5ai/js/inc" /> </target> <target name="build-uncompressed" depends="build-prepare"> <wepp-dir dir="${build.dir}/_h5ai/css" todir="${build.dir}/_h5ai/css" /> <wepp-dir dir="${build.dir}/_h5ai/js" todir="${build.dir}/_h5ai/js" /> <delete dir="${build.dir}/_h5ai/css/inc" > <fileset dir="." includes="${build.dir}/_h5ai/css/**/*.less" /> </delete> <delete dir="${build.dir}/_h5ai/js/inc" /> </target> <target name="release" depends="build"> <mkdir dir="${release.dir}" /> <zip destfile="${release.dir}/${project.name}-${project.version}.zip" basedir="${build.dir}" /> </target> <target name="lint" depends="build-prepare"> <wepp file="${build.dir}/_h5ai/js/main-js.js" tofile="${build.dir}/_h5ai/js/main-js.js" /> <jslint files="${build.dir}/_h5ai/js/main-js.js" /> </target> <macrodef name="wepp-args"> <attribute name="args" default="" /> <sequential> <exec executable="${tool.wepp}" failonerror="true"> <arg line="@{args}" /> </exec> </sequential> </macrodef> <macrodef name="wepp"> <attribute name="file" /> <attribute name="tofile" /> <sequential> <wepp-args args="--nc --inFile '@{file}' --outFile '@{toFile}'" /> </sequential> </macrodef> <macrodef name="wepp-min"> <attribute name="file" /> <attribute name="tofile" /> <sequential> <wepp-args args="--inFile '@{file}' --outFile '@{toFile}'" /> <bytes file="@{file}" toFile="@{toFile}" /> </sequential> </macrodef> <macrodef name="wepp-dir"> <attribute name="dir" /> <attribute name="todir" /> <sequential> <wepp-args args="--nc --inDir '@{dir}' --outDir '@{todir}'" /> </sequential> </macrodef> <macrodef name="wepp-dir-min"> <attribute name="dir" /> <attribute name="todir" /> <sequential> <wepp-args args="--inDir '@{dir}' --outDir '@{todir}'" /> </sequential> </macrodef> <macrodef name="jslint"> <attribute name="files" /> <sequential> <echo>JSLint @{files}</echo> <exec executable="${tool.jslint}" failonerror="false"> <arg line="@{files}" /> </exec> </sequential> </macrodef> </project>