--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+********************************** DO NOT EDIT **********************************
+
+This file will be replaced during upgrades so DO NOT EDIT this file. If you need to
+adjust the process, reading and understanding this file is the first step.
+
+In most cases, the adjustments can be achieved by setting properties or providing one
+of the "hooks" in the form of a "-before-" or "-after-" target. Whenever possible, look
+for one of these solutions.
+
+Failing that, you can copy whole targets to your build.xml file and it will overrride
+the target provided here. Doing that can create problems for upgrading to newer
+versions of Cmd so it is not recommended but it will be easier to manage than editing
+this file in most cases.
+-->
+<project name="app-build-impl">
+ <!--
+ ===============================================================
+ helper targets for ant integrations with IDE's
+ (human readable target names)
+ ===============================================================
+ -->
+ <target name="-before-build-testing"/>
+ <target name="-build-testing" depends="testing,build"/>
+ <target name="-after-build-testing"/>
+ <target name="build-testing"
+ depends="-before-build-testing,
+ -build-testing,
+ -after-build-testing"/>
+
+ <target name="Build - Testing"
+ description="Create a Testing build of this project"
+ depends="build-testing"/>
+
+ <target name="-before-build-production"/>
+ <target name="-build-production" depends="production,build"/>
+ <target name="-after-build-production"/>
+ <target name="build-production"
+ depends="-before-build-production,
+ -build-production,
+ -after-build-production"/>
+
+ <target name="Build - Production"
+ description="Create a Production build of this project"
+ depends="build-production"/>
+
+ <target name="-before-build-native"/>
+ <target name="-build-native" depends="native,build"/>
+ <target name="-after-build-native"/>
+ <target name="build-native"
+ depends="-before-build-native,
+ -build-native,
+ -after-build-native"/>
+
+ <target name="Build - Native"
+ description="Create a Native build of this project"
+ depends="build-native"/>
+
+ <target name="-before-start-local-webserver"/>
+ <target name="-start-local-webserver" depends="init">
+ <x-launch-terminal>
+ <![CDATA[
+ ${cmd.dir}/sencha fs web -port=${build.web.port} start -map=${build.web.root}
+ ]]>
+ </x-launch-terminal>
+ </target>
+ <target name="-after-start-local-webserver"/>
+ <target name="start-local-webserver"
+ depends="-before-start-local-webserver,
+ -start-local-webserver,
+ -after-start-local-webserver"/>
+
+ <target name="WebServer - Start Local"
+ description="Starts a local webserver for this project"
+ depends="start-local-webserver"/>
+
+ <target name="-before-compass-watch"/>
+ <target name="-compass-watch" depends="init">
+ <x-launch-terminal>
+ compass watch ${app.sass.dir}
+ </x-launch-terminal>
+ </target>
+ <target name="-after-compass-watch"/>
+ <target name="compass-watch"
+ depends="-before-compass-watch,
+ -compass-watch,
+ -after-compass-watch"/>
+
+ <target name="Compass - Watch"
+ description="Opens terminal and watches for SASS updates"
+ depends="compass-watch"/>
+
+ <!--
+ ===============================================================
+ environment setters
+ ===============================================================
+ -->
+ <target name="production"
+ description="Sets the build environment to production.">
+ <property name="build.environment" value="production"/>
+ </target>
+
+ <target name="testing"
+ description="Sets the build environment to testing.">
+ <property name="build.environment" value="testing"/>
+ </target>
+
+ <target name="native"
+ description="Sets the build environment to native.">
+ <property name="build.environment" value="native"/>
+ </target>
+
+ <target name="package"
+ description="Sets the build environment to package.">
+ <property name="build.environment" value="package"/>
+ </target>
+
+
+ <!--
+ ===============================================================
+ Find Cmd
+ uses targets from find-cmd-impl.xml to detect the current
+ install of Sencha Cmd
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/find-cmd-impl.xml"/>
+ <target name="init-cmd"
+ depends="find-cmd-in-path,
+ find-cmd-in-environment,
+ find-cmd-in-shell">
+ <echo>Using Sencha Cmd from ${cmd.dir} for ${ant.file}</echo>
+
+ <!--
+ load the sencha.jar ant task definitions.
+
+ NOTE: the 'loaderref' attribute stores this task def's class loader
+ on the project by that name, so it will be sharable across sub-projects.
+ This fixes out-of-memory issues, as well as increases performance.
+
+ To supoprt this, it is recommended that any customizations that use
+ 'ant' or 'antcall' tasks set 'inheritrefs=true' on those tasks, in order
+ to propagate the senchaloader reference to those subprojects.
+
+ The sencha 'x-ant-call' task, which extends 'antcall' and defaults
+ 'inheritrefs' to true, may be used in place of antcall in
+ build process customizations.
+ -->
+ <taskdef resource="com/sencha/ant/antlib.xml"
+ classpath="${cmd.dir}/sencha.jar"
+ loaderref="senchaloader"/>
+
+ <!--
+ Some operations require sencha.jar in the current java classpath,
+ so this will extend the java.lang.Thread#contextClassLoader with the
+ specified java classpath entries
+ -->
+ <x-extend-classpath>
+ <jar path="${cmd.dir}/sencha.jar"/>
+ </x-extend-classpath>
+ </target>
+
+ <!--
+ ===============================================================
+ Init
+ uses targets from init-impl.xml to load Sencha Cmd config
+ system properties and ant task definitions
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/init-impl.xml"/>
+ <target name="init"
+ depends="init-local,
+ init-cmd,
+ -before-init,
+ -init,
+ -after-init,
+ -before-init-defaults,
+ -init-defaults,
+ -after-init-defaults,
+ -init-compiler"/>
+
+ <!--
+ ===============================================================
+ Build
+ this is the starting point for the build process. The 'depends'
+ attribute on the -build target controls the ordering of the
+ different build phases
+ ===============================================================
+ -->
+ <target name="-before-build"/>
+ <target name="-build"
+ depends="refresh,
+ resolve,
+ js,
+ resources,
+ sass,
+ slice,
+ page,
+ native-package"/>
+ <target name="-after-build"/>
+ <target name="build"
+ depends="init,-before-build,-build,-after-build"
+ description="Builds the application"/>
+
+ <!--
+ ===============================================================
+ Clean
+ removes all artifacts from the output build directories
+ ===============================================================
+ -->
+ <target name="-before-clean"/>
+ <target name="-clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${build.temp.dir}"/>
+ </target>
+ <target name="-after-clean"/>
+ <target name="clean"
+ depends="init"
+ description="Removes all build output produced by the 'build' target">
+ <x-ant-call unless="skip.clean">
+ <target name="-before-clean"/>
+ <target name="-clean"/>
+ <target name="-after-clean"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Watch
+ uses targets from watch-impl.xml to initiate the application
+ watch process using instrumented state from the compiler
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/watch-impl.xml"/>
+ <target name="watch">
+ <property name="build.optimize" value=""/>
+ <x-ant-call>
+ <target name="-before-watch"/>
+ <target name="-watch"/>
+ <target name="-after-watch"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ JS
+ uses targets from js-impl.xml to produce the output js files
+ containing needed application and framework js classes
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/js-impl.xml"/>
+ <target name="js"
+ depends="init"
+ description="Builds the output javascript file(s)">
+ <x-ant-call unless="skip.js">
+ <target name="-before-js"/>
+ <target name="-js"/>
+ <target name="-after-js"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Sass
+ uses targets from sass-impl.xml to produce the output css
+ files for the application's styling
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/sass-impl.xml"/>
+ <target name="sass"
+ depends="init"
+ description="Builds the Sass files using Compass.">
+ <x-ant-call unless="skip.sass">
+ <target name="-before-sass"/>
+ <target name="-sass"/>
+ <target name="-after-sass"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Resources
+ uses targets from resources-impl.xml to copy resources from
+ the application and required packages to the output directory
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/resources-impl.xml"/>
+ <target name="resources"
+ depends="init"
+ description="Copy resources to build folder.">
+ <x-ant-call unless="skip.resources">
+ <target name="-before-resources"/>
+
+ <!-- Legacy targets: -->
+ <target name="-before-inherit-resources"/>
+ <target name="-before-copy-resources"/>
+
+ <target name="-resources"/>
+
+ <!-- Legacy targets: -->
+ <target name="-after-copy-resources"/>
+ <target name="-after-inherit-resources"/>
+
+ <target name="-after-resources"/>
+ </x-ant-call>
+ </target>
+
+
+ <!--
+ ===============================================================
+ Slice
+ uses targets from slice-impl.xml to extract theme images from
+ the application for use with older browsers that don't
+ support modern css features
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/slice-impl.xml"/>
+ <target name="slice"
+ depends="init"
+ description="Slices CSS3 theme to produce non-CSS3 images and sprites.">
+ <x-ant-call unless="skip.slice">
+ <target name="-before-slice"/>
+ <target name="-slice"/>
+ <target name="-after-slice"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ Theme - this is a legacy support target for extjs 4.1 apps. It redirects
+ to the "slice" ant target
+ -->
+ <target name="theme"
+ depends="init"
+ description="Builds the application's theme(s) images using the slicer (Ext JS 4.1 only).">
+ <x-ant-call unless="skip.theme">
+ <target name="-before-theme"/>
+ <target name="slice"/>
+ <target name="-after-theme"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ Refresh Theme - uses targets from refresh-impl.xml to rebuild the current
+ theme
+ -->
+ <target name="refresh-theme"
+ depends="init"
+ description="Rebuilds the currently enabled app theme (Ext JS 4.1 only).">
+ <x-ant-call unless="skip.theme">
+ <target name="-before-refresh-theme"/>
+ <target name="-refresh-theme"/>
+ <target name="-after-refresh-theme"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Refresh
+ uses targets from refresh-impl.xml to generate bootstrapping
+ information for the application
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/refresh-impl.xml"/>
+ <target name="refresh"
+ depends="init"
+ description="Refreshes the application bootstrap data.">
+ <x-ant-call unless="skip.refresh">
+ <target name="-before-refresh"/>
+ <target name="-refresh"/>
+ <target name="-after-refresh"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Page
+ uses targets from page-impl.xml to generate the output markup
+ file and associated microloader / app manifest
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/page-impl.xml"/>
+ <target name="page"
+ depends="init"
+ description="Builds the application's HTML page.">
+ <x-ant-call unless="skip.page">
+ <target name="-before-page"/>
+ <target name="-page"/>
+ <target name="-after-page"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Resolve
+ uses targets from resolve-impl.xml to detect dynamic app
+ dependencies using phantomjs
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/resolve-impl.xml"/>
+ <target name="resolve"
+ depends="init"
+ description="Resolve application dependencies dynamically.">
+ <x-ant-call unless="skip.resolve">
+ <target name="-before-resolve"/>
+ <target name="-resolve"/>
+ <target name="-after-resolve"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Native Package
+ uses targets from packager-impl.xml to run native packager
+ applications to produce stand-alone installable web apps from
+ this built Cmd application
+ ===============================================================
+ -->
+ <import file="${basedir}/.sencha/app/packager-impl.xml"/>
+ <target name="native-package"
+ depends="init"
+ description="Builds native packages of the application">
+ <x-ant-call unless="skip.native-package">
+ <target name="-before-native-package"/>
+ <target name="-native-package"/>
+ <target name="-after-native-package"/>
+ </x-ant-call>
+ </target>
+
+ <!--
+ ===============================================================
+ Help - properties
+ displays all current ant properties
+ ===============================================================
+ -->
+ <target name=".props" depends="init"
+ description="Lists all properties defined for the build">
+ <echoproperties/>
+ </target>
+
+ <!--
+ ===============================================================
+ Help - docs
+ displays the help message
+ ===============================================================
+ -->
+ <target name=".help" depends="init"
+ description="Provides help on the build script">
+ <x-get-project-targets property="help.message"/>
+
+ <echo><![CDATA[${help.message}
+This is the main build script for your application.
+
+The following properties can be used to disable certain steps in the build
+process.
+
+ * skip.page Do not build the HTML page.
+ * skip.js Do not build the output js code file(s)
+ * skip.resources Do not copy resources to the build directory
+ * skip.sass Do not build the SASS.
+ * skip.slice Do not build the theme image slicer.
+ * skip.theme Do not build the theme images.
+
+The following properties can be used to modify the build process.
+
+ * build.compression.yui Specify yui compression for the build
+
+ * build.compression.closure Specify closure compression for the build
+
+ * build.compression.uglify Specify uglify compression for the build
+
+ * build.options Set general options for the build
+ (eg: enable a debug build)
+
+ To modify any of the previous build specific options, see:
+ ${basedir}/.sencha/app/${build.environment}.properties
+
+ * build.operations Insert commands into the compile command
+ for the build.
+
+ * app.page.name Set the input and output page file
+ for the compile command.
+
+ * build.classes.name Specify the compiled js file
+
+
+For details about how these options affect your build, see
+
+ ${basedir}/.sencha/app/build-impl.xml
+
+These options can be stored in a local.properties file in this folder or in the
+local.properties file in the workspace.
+
+Alternatively, these can be supplied on the command line. For example:
+
+ ant -Dskip.sass=1 build
+
+To see all currently defined properties, do this:
+
+ ant .props
+ ]]></echo>
+ </target>
+
+</project>