slackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangouts
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
527 lines
19 KiB
527 lines
19 KiB
9 years ago
|
<?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="x-app-build-impl" default=".help">
|
||
|
<!--
|
||
|
===============================================================
|
||
|
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>
|
||
|
|
||
|
<target name="development"
|
||
|
description="Sets the build environment to development.">
|
||
|
<property name="build.environment" value="development"/>
|
||
|
</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"/>
|
||
|
<import file="${basedir}/.sencha/app/resolve-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,
|
||
|
-init-native-package"/>
|
||
|
|
||
|
<!--
|
||
|
===============================================================
|
||
|
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,
|
||
|
slice,
|
||
|
sass,
|
||
|
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="${app.output.base}"/>
|
||
|
<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-init">
|
||
|
<property name="app.watch.enabled" value="true"/>
|
||
|
</target>
|
||
|
<target name="watch"
|
||
|
depends="-watch-init,development,init"
|
||
|
description="Starts Watch to keep your app ready for dev mode">
|
||
|
<x-ant-call>
|
||
|
<param name="build.id" value="${build.id}"/>
|
||
|
<param name="build.name" value="${build.name}"/>
|
||
|
<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"/>
|
||
|
<target name="refresh"/>
|
||
|
</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
|
||
|
===============================================================
|
||
|
-->
|
||
|
<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"/>
|
||
|
<import file="${basedir}/.sencha/app/cordova-impl.xml"/>
|
||
|
<import file="${basedir}/.sencha/app/phonegap-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>
|
||
|
|
||
|
|
||
|
<target name="-before-publish"/>
|
||
|
<target name="-after-publish"/>
|
||
|
<target name="-publish">
|
||
|
<property name="app.manager.file" value="${app.output.base}"/>
|
||
|
<x-sencha-command>
|
||
|
<![CDATA[
|
||
|
manager
|
||
|
version
|
||
|
create
|
||
|
-id=${app.manager.id}
|
||
|
-name=${app.version}
|
||
|
-host=${app.manager.host}
|
||
|
-secret=${app.manager.secret}
|
||
|
-apiKey=${app.manager.apiKey}
|
||
|
-file=${app.manager.file}
|
||
|
]]>
|
||
|
</x-sencha-command>
|
||
|
</target>
|
||
|
<target name="publish"
|
||
|
depends="init,-before-publish,-publish,-after-publish"
|
||
|
description="Publish app to Sencha Web Application Manager"/>
|
||
|
|
||
|
|
||
|
<!--
|
||
|
===============================================================
|
||
|
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.
|
||
|
|
||
|
Most build options are controlled by the app manifest. For details see:
|
||
|
|
||
|
${basedir}/app.json
|
||
|
|
||
|
For more specific controls over the build process, see:
|
||
|
|
||
|
${basedir}/.sencha/app/defaults.properties
|
||
|
|
||
|
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. This file should not be included in
|
||
|
source control.
|
||
|
|
||
|
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>
|