skypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangoutsslackgmail
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.
526 lines
19 KiB
526 lines
19 KiB
<?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>
|
|
|