UNPKG

@extjs/sencha-cmd-linux-32

Version:

Productivity and performance optimization tool for building applications with Sencha Ext JS and Sencha Touch.

229 lines (202 loc) 9.47 kB
<!-- Copyright (c) 2012-2013, Sencha Inc. This file is a Sencha Cmd plugin that provides support for packages. --> <project name="cmd-package-plugin"> <!-- <target name="init-plugin"> nothing to do here... yet </target> --> <target name="init-package-plugin"> <property name="senchadir" value=".sencha"/> </target> <!-- ****************************************************************** --> <target name="generate-package" depends="init-package-plugin"> <echo>Generating package ${args.name} of type ${args.type} to ${args.path}</echo> <local name="ext.rel.path"/> <local name="touch.rel.path"/> <x-get-relative-path from="${args.path}" to="${ext.dir}" property="ext.rel.path"/> <x-get-relative-path from="${args.path}" to="${touch.dir}" property="touch.rel.path"/> <x-generate dir="${cmd.dir}/templates/SenchaCommon" todir="${args.path}/${senchadir}/package" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> <x-generate dir="${cmd.dir}/templates/package" todir="${args.path}" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="pkgFramework" value="${args.framework}"/> <param name="pkgTheme" value="${args.theme}"/> <param name="pkgExtend" value="${args.extend}" /> <param name="pkgToolkit" value="${args.toolkit}" /> <param name="pkgNamespace" value="${args.namespace}" /> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> <x-generate dir="${cmd.dir}/templates/starter-package" todir="${args.path}" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> <if> <equals arg1="${args.isext6}" arg2="true" /> <then> <x-generate dir="${framework.config.dir}/templates/starter-package" todir="${args.path}" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> </then> </if> <if> <not> <equals arg1="${args.type}" arg2="theme" /> </not> <then> <delete file="${args.path}/overrides/init.js" /> </then> </if> <x-property-file file="${args.path}/${senchadir}/package/sencha.cfg"> <entry type="string" key="package.cmd.version" operation="=" value="${cmd.version}"/> </x-property-file> </target> <target name="package-add-to-requires"> <if> <equals arg1="${args.addToRequires}" arg2="true" /> <then> <local name="app.json.package.data" /> <if> <not> <resourcecontains resource="${app.dir}/app.json" substring="&quot;${args.name}&quot;" /> </not> <then> <x-echo level="info">Adding package ${args.name} as app dependency</x-echo> <if> <resourcecontains resource="${app.dir}/app.json" substring="&quot;requires&quot;" /> <then> <property name="app.json.package.data"><![CDATA[ "${args.name}" ]]]></property> <replaceregexp file="${app.dir}/app.json" match="(&quot;requires&quot;\s*:\s*\[\s*)(((&quot;.*&quot;)\,*\s*)*)(\s*\])" replace="\1\2${app.json.package.data}" /> <replaceregexp file="${app.dir}/app.json" match="&quot;\s*\n\s*&quot;" replace="&quot;\,${line.separator} &quot;" /> </then> <else> <property name="app.json.package.data"><![CDATA[{ /** * The list of required packages (with optional versions; default is "latest"). * * For example, * * "requires": [ * "charts" * ] */ "requires": [ "${args.name}" ], ]]></property> <replaceregexp file="${app.dir}/app.json" match="\{" replace="${app.json.package.data}" /> </else> </if> </then> </if> </then> </if> </target> <!-- ****************************************************************** --> <target name="package-build" depends="init-package-plugin"> <!--default some variables to empty string if not supplied--> <property name="package.base.names" value=""/> <property name="package.requires.names" value=""/> <if> <isset property="args.clean"/> <then> <ant dir="${package.dir}" inheritall="true" inheritrefs="true"> <target name="clean"/> <target name="build"/> </ant> </then> <else> <ant dir="${package.dir}" inheritall="true" inheritrefs="true"> <target name="build"/> </ant> </else> </if> </target> <!-- ****************************************************************** --> <target name="package-upgrade" depends="init-package-plugin"> <echo>Upgrading package ${args.name} ...</echo> <local name="ext.rel.path"/> <local name="touch.rel.path"/> <x-get-relative-path from="${args.path}" to="${ext.dir}" property="ext.rel.path"/> <x-get-relative-path from="${args.path}" to="${touch.dir}" property="touch.rel.path"/> <x-generate dir="${cmd.dir}/templates/SenchaCommon" todir="${args.path}/${senchadir}/package" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> <x-generate dir="${cmd.dir}/templates/package" todir="${args.path}" store="${args.path}/${senchadir}/package/codegen.json" basedir="${args.path}"> <param name="pkgName" value="${args.name}"/> <param name="pkgType" value="${args.type}"/> <param name="extRelPath" value="${ext.rel.path}"/> <param name="touchRelPath" value="${touch.rel.path}"/> <param name="senchadir" value="${senchadir}"/> </x-generate> <x-property-file file="${args.path}/${senchadir}/package/sencha.cfg"> <entry type="string" operation="=" key="package.cmd.version" value="${cmd.version}"/> </x-property-file> <if> <x-is-true value="${args.shouldAddNamespace}" /> <then> <local name="package.namespace.content" /> <property name="package.namespace.content"><![CDATA[{ /** * The namespace of this package. * * As a general rule, all classes that belong to this package should be under this namespace * if multiple namespaces are part of this package, set this to "". */ "namespace": "${args.namespace}", ]]></property> <replaceregexp file="${args.path}/package.json" match="\{" replace="${package.namespace.content}" /> </then> </if> </target> </project>