|
|
@@ -0,0 +1,141 @@
|
|
|
+<?xml version="1.0" encoding="utf-8"?>
|
|
|
+<project name="modern-locale" default=".help">
|
|
|
+ <!--
|
|
|
+ The build-impl.xml file imported here contains the guts of the build process. It is
|
|
|
+ a great idea to read that file to understand how the process works, but it is best to
|
|
|
+ limit your changes to this file.
|
|
|
+ -->
|
|
|
+ <script language="javascript">
|
|
|
+ <![CDATA[
|
|
|
+ var dir = project.getProperty("basedir"),
|
|
|
+ cmdDir = project.getProperty("cmd.dir"),
|
|
|
+ cmdLoaded = project.getReference("senchaloader");
|
|
|
+
|
|
|
+ if (!cmdLoaded) {
|
|
|
+ function echo(message, file) {
|
|
|
+ var e = project.createTask("echo");
|
|
|
+ e.setMessage(message);
|
|
|
+ if (file) {
|
|
|
+ e.setFile(file);
|
|
|
+ }
|
|
|
+ e.execute();
|
|
|
+ };
|
|
|
+
|
|
|
+ if (!cmdDir) {
|
|
|
+
|
|
|
+ function exec(args) {
|
|
|
+ var process = java.lang.Runtime.getRuntime().exec(args),
|
|
|
+ input = new java.io.BufferedReader(new java.io.InputStreamReader(process.getInputStream())),
|
|
|
+ headerFound = false,
|
|
|
+ line;
|
|
|
+
|
|
|
+ while (line = input.readLine()) {
|
|
|
+ line = line + '';
|
|
|
+ java.lang.System.out.println(line);
|
|
|
+ if (line.indexOf("Sencha Cmd") > -1) {
|
|
|
+ headerFound = true;
|
|
|
+ }
|
|
|
+ else if (headerFound && !cmdDir) {
|
|
|
+ cmdDir = line;
|
|
|
+ project.setProperty("cmd.dir", cmdDir);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ process.waitFor();
|
|
|
+ return !!cmdDir;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!exec(["sencha", "which"])) {
|
|
|
+ var tmpFile = "tmp.sh";
|
|
|
+ echo("source ~/.bash_profile; sencha " + whichArgs.join(" "), tmpFile);
|
|
|
+ exec(["/bin/sh", tmpFile]);
|
|
|
+ new java.io.File(tmpFile)['delete']();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (cmdDir && !project.getTargets().containsKey("init-cmd")) {
|
|
|
+ var importTask = project.createTask("import");
|
|
|
+ importTask.setOwningTarget(self.getOwningTarget());
|
|
|
+ importTask.setLocation(self.getLocation());
|
|
|
+ importTask.setFile(cmdDir + "/ant/build/package/build-impl.xml");
|
|
|
+ importTask.execute();
|
|
|
+ }
|
|
|
+ ]]>
|
|
|
+ </script>
|
|
|
+ <import file="${basedir}/.sencha/test/test-impl.xml"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ The following targets can be provided to inject logic before and/or after key steps
|
|
|
+ of the build process:
|
|
|
+
|
|
|
+ The "init-local" target is used to initialize properties that may be personalized
|
|
|
+ for the local machine.
|
|
|
+
|
|
|
+ <target name="-before-init-local"/>
|
|
|
+ <target name="-after-init-local"/>
|
|
|
+
|
|
|
+ The "clean" target is used to clean build output from the build.dir.
|
|
|
+
|
|
|
+ <target name="-before-clean"/>
|
|
|
+ <target name="-after-clean"/>
|
|
|
+
|
|
|
+ The general "init" target is used to initialize all other properties, including
|
|
|
+ those provided by Sencha Cmd.
|
|
|
+
|
|
|
+ <target name="-before-init"/>
|
|
|
+ <target name="-after-init"/>
|
|
|
+
|
|
|
+ The "build" target performs the call to Sencha Cmd to build the application.
|
|
|
+
|
|
|
+ <target name="-before-build"/>
|
|
|
+ <target name="-after-build"/>
|
|
|
+ -->
|
|
|
+
|
|
|
+ <target name="build" depends="init,build-all"/>
|
|
|
+
|
|
|
+ <target name="build-all" depends="init,-build-all,pkg"/>
|
|
|
+
|
|
|
+ <target name="-build-all">
|
|
|
+
|
|
|
+ <for param="build.locale.dir">
|
|
|
+ <dirset dir="${package.dir}/overrides" includes="*"/>
|
|
|
+ <sequential>
|
|
|
+ <local name="build.locale"/>
|
|
|
+
|
|
|
+ <basename file="@{build.locale.dir}"
|
|
|
+ property="build.locale"/>
|
|
|
+
|
|
|
+ <echo>Building locale ${build.locale}</echo>
|
|
|
+
|
|
|
+ <concat encoding="UTF-8" outputencoding="UTF-8" destfile="${build.dir}/${package.name}-${build.locale}-debug.js">
|
|
|
+ <fileset dir="@{build.locale.dir}" includes="**/*.js"/>
|
|
|
+ <filterchain>
|
|
|
+ <deletecharacters chars="" />
|
|
|
+ </filterchain>
|
|
|
+ </concat>
|
|
|
+
|
|
|
+ <x-compress-js srcfile="${build.dir}/${package.name}-${build.locale}-debug.js"
|
|
|
+ outfile="${build.dir}/${package.name}-${build.locale}.js"/>
|
|
|
+
|
|
|
+ <!--
|
|
|
+ <ant antfile="${package.dir}/build.xml"
|
|
|
+ inheritall="false"
|
|
|
+ target="js"
|
|
|
+ useNativeBasedir="true"
|
|
|
+ inheritrefs="true">
|
|
|
+ <property name="package.framework" value="ext"/>
|
|
|
+ <property name="cmd.dir" value="${cmd.dir}"/>
|
|
|
+ <property name="compiler.ref.id"
|
|
|
+ value="${compiler.ref.id}-${build.locale}"/>
|
|
|
+ <property name="package.locale" value="${build.locale}"/>
|
|
|
+ <property name="build.name.prefix" value="${package.name}-${build.locale}"/>
|
|
|
+ <property name="build.name.css.prefix" value="${package.name}-${build.locale}"/>
|
|
|
+ </ant>
|
|
|
+ -->
|
|
|
+
|
|
|
+ </sequential>
|
|
|
+ </for>
|
|
|
+
|
|
|
+ </target>
|
|
|
+
|
|
|
+</project>
|