-
3 Nov 2012 6:48 PM #1
Found Ext.dd in all-classes.js but no DD in app
Found Ext.dd in all-classes.js but no DD in app
Sencha Cmd 3.0.0.230
ExtJS v4.1.1a
Is there a dependency I'm maybe not aware of with DD support even when I'm not using it?
I'm trying to get my all-classes.js as bare as possible, and I'm not sure why Ext.dd.DD would be referenced.
Thanks.
-
4 Nov 2012 11:01 AM #2
The DD package is used by panel and grid (given certain options) and so is probably just required in from one of them.
In the next build we have added a build property that you can used to manipulate the set of files used to produce all-classes.js so if you are certain that none of these options are in play, you could try ejecting that namespace. This property can be set to one or more compiler set operations so you will be able to do pretty much whatever you want to add or remove files.
To be more specific, there is one final property (build.operations) that is set based on one of two environment properties (build.operations.production or build.operations.testing).
In the next build this is only supported for Ext JS apps but we will be reworking some of the internals of Touch build process so that we can include similar support for Touch apps.Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"
-
4 Nov 2012 11:12 AM #3
Thanks Don, I'll try and be patient for the next build of Sencha Cmd.
-
4 Nov 2012 5:20 PM #4
If you want to experiment with things you could look at replacing the "-page" with what will be in the next build:
You can do the above in .sencha/app/build-impl.xml if you like ... you should see a similar but smaller flavor in that file.Code:<target name="-page"> <!-- compile the page --> <x-sencha-command> compile ${build.options} page -name=page -in=index.html -out=${build.dir}/index.html and restore page and ${build.operations} and concat ${build.compression} -out=${build.dir}/all-classes.js </x-sencha-command> </target>
The build.options property (and likewise the build.operations and build.compression properties) are set to build.options.production or build.options.testing. For experimenting I would just poke the short name to the value you want to try.
Setting build.operations is a bit interesting since it needs to be a multi-line value. Something that contains \n between each operation is needed if you have multiple. Maybe this in your build.xml:
The new line is important there. Since you will probably want the same excludes there for production and testing builds, the above will be approximately right even though it can be tuned differently by build environment.Code:<property name="build.operations" value="exclude -namespace=Ext.dd"/>
Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"
-
4 Nov 2012 8:00 PM #5
Hi Don,
I gave this a try, but I think I need more direction.
What exactly should "build.options" be set to? I get that I can choose 'production' vs. a different target, but putting:
norHTML Code:<property name="build.options" value="build.options.production" />
into build.xml worked (both generated errors like:Code:<property name="build.options" value="production" />
com.sencha.exceptions.ExNotFound: No such property : '''build.options.production'''
Is "build.options" a reference to other properties?
I'll need a bit more hand-holding/direction to test this out.
Thanks.
-Chris
-
4 Nov 2012 9:35 PM #6
The value of build.operations can be a sequence of compiler commands to remove classes you don't want included. For example:
This will get inserted into the compile command just before the concat command that produces "all-classes.js" so will remove the Ext.dd namespace. You can see the ${build.operations} expansion in the "-page" target in my post... that is where the "exclude \n -namespace=Ext.dd" gets placed.Code:<property name="build.operations" value="exclude -namespace=Ext.dd"/>
You may be having issues if you don't include this as well in your build.xml:
Code:<property name="build.compression" value=""/> <property name="build.options" value=""/>
Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"
-
5 Nov 2012 7:10 AM #7
Still no joy.
Here's the output from "sencha app build":
Here's my build-impl.xml:HTML Code:Sencha Cmd v3.0.0.230 [INFO ] [INFO ] init-properties: [INFO ] [INFO ] [INFO ] init-sencha-command: [INFO ] [INFO ] [INFO ] init: [INFO ] [INFO ] [INFO ] -before-app-build: [INFO ] [INFO ] [INFO ] app-build-impl: [INFO ] [INFO ] [INFO ] production: [INFO ] [INFO ] [INFO ] -before-init-local: [INFO ] [INFO ] [INFO ] -init-local: [INFO ] [INFO ] [INFO ] -after-init-local: [INFO ] [INFO ] [INFO ] init-local: [INFO ] [INFO ] [INFO ] find-cmd: [INFO ] [INFO ] [INFO ] -before-init: [INFO ] [INFO ] [INFO ] -init: [INFO ] [INFO ] [INFO ] -after-init: [INFO ] [INFO ] [INFO ] init: [INFO ] [INFO ] [INFO ] -before-build: [INFO ] [INFO ] [INFO ] sass: [INFO ] [INFO ] [INFO ] -before-sass: [INFO ] [INFO ] [INFO ] -sass: [INFO ] [INFO ] [shellscript] [INFO ] [INFO ] [shellscript] C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\resources\sass\default>compass compile --boring --force [INFO ] [INFO ] [shellscript] identical app.css [INFO ] [INFO ] Compressed 0 of 1 (1 up to date) [INFO ] [shellscript] [INFO ] [INFO ] [shellscript] C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\resources\sass\ntelos>compass compile --boring --force [INFO ] [INFO ] [shellscript] identical app.css [INFO ] [INFO ] Compressed 0 of 1 (1 up to date) [INFO ] [copy] Copying 2 files to C:\Workspaces\eclipse\AtlasWeb nTelos\PrecompiledWeb\CoverageLocator [INFO ] [INFO ] [INFO ] -after-sass: [INFO ] [INFO ] [INFO ] theme: [INFO ] [INFO ] [INFO ] -before-theme: [INFO ] [INFO ] [INFO ] -theme: [INFO ] [INFO ] Building theme [INFO ] Capturing theme image [INFO ] Capture complete [INFO ] Slicing theme [INFO ] Slice complete [INFO ] Build complete [INFO ] Building theme [INFO ] Capturing theme image [INFO ] Capture complete [INFO ] Slicing theme [INFO ] Slice complete [INFO ] Build complete [INFO ] [INFO ] -after-theme: [INFO ] [INFO ] [INFO ] page: [INFO ] [INFO ] [INFO ] -before-page: [INFO ] [INFO ] [INFO ] -page: [INFO ] [ERROR] [ERROR] BUILD FAILED [ERROR] java.lang.StringIndexOutOfBoundsException: String index out of range: 0 [ERROR] at java.lang.String.charAt(Unknown Source) [ERROR] at com.sencha.cli.Arguments.push(Arguments.java:189) [ERROR] at com.sencha.cli.Arguments.<init>(Arguments.java:35) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.ant.SenchaCommandTask.doExecute(SenchaCommandTask.java:58) [ERROR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:22) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442) [ERROR] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [ERROR] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:80) [ERROR] at com.sencha.command.ant.AntCommand.execute(AntCommand.java:74) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.ant.SenchaCommandTask.doExecute(SenchaCommandTask.java:58) [ERROR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:22) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [ERROR] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:72) [ERROR] at com.sencha.command.BasePluginCommands$BasePluginCommand.run(BasePluginCommands.java:80) [ERROR] at com.sencha.command.BasePluginCommands$BaseNamePathCommand.run(BasePluginCommands.java:120) [ERROR] at com.sencha.command.app.AppCommands$BuildCommand.execute(AppCommands.java:96) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.command.Sencha.main(Sencha.java:58) [ERROR] [ERROR] Total time: 37 seconds [ERROR] [ERROR] [ERROR] BUILD FAILED [ERROR] com.sencha.exceptions.BasicException: The following error occurred while executing this line: [ERROR] C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\.sencha\app\build-impl.xml:183: com.sencha.exceptions.BasicException: String index out of range: 0 [ERROR] at com.sencha.exceptions.BasicException.wrap(BasicException.java:43) [ERROR] at com.sencha.cli.Command.dispatch(Command.java:104) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.ant.SenchaCommandTask.doExecute(SenchaCommandTask.java:58) [ERROR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:22) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [ERROR] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:72) [ERROR] at com.sencha.command.BasePluginCommands$BasePluginCommand.run(BasePluginCommands.java:80) [ERROR] at com.sencha.command.BasePluginCommands$BaseNamePathCommand.run(BasePluginCommands.java:120) [ERROR] at com.sencha.command.app.AppCommands$BuildCommand.execute(AppCommands.java:96) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.command.Sencha.main(Sencha.java:58) [ERROR] Caused by: C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\.sencha\app\build-impl.xml:220: The following error occurred while executing this line: [ERROR] C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\.sencha\app\build-impl.xml:183: com.sencha.exceptions.BasicException: String index out of range: 0 [ERROR] at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:551) [ERROR] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:444) [ERROR] at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [ERROR] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERROR] at com.sencha.ant.AntRunner.run(AntRunner.java:80) [ERROR] at com.sencha.command.ant.AntCommand.execute(AntCommand.java:74) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERROR] ... 31 more [ERROR] Caused by: C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\.sencha\app\build-impl.xml:183: com.sencha.exceptions.BasicException: String index out of range: 0 [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116) [ERROR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERROR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERROR] at org.apache.tools.ant.Target.performTasks(Target.java:413) [ERROR] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [ERROR] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) [ERROR] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [ERROR] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442) [ERROR] ... 52 more [ERROR] Caused by: com.sencha.exceptions.BasicException: String index out of range: 0 [ERROR] at com.sencha.exceptions.BasicException.wrap(BasicException.java:43) [ERROR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:26) [ERROR] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [ERROR] at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [ERROR] at java.lang.reflect.Method.invoke(Unknown Source) [ERROR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [ERROR] ... 59 more [ERROR] Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 [ERROR] at java.lang.String.charAt(Unknown Source) [ERROR] at com.sencha.cli.Arguments.push(Arguments.java:189) [ERROR] at com.sencha.cli.Arguments.<init>(Arguments.java:35) [ERROR] at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:184) [ERROR] at com.sencha.ant.SenchaCommandTask.doExecute(SenchaCommandTask.java:58) [ERROR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:22) [ERROR] ... 64 more [ERROR] [ERROR] Total time: 38 seconds [ERROR] [ERROR] com.sencha.exceptions.BasicException: The following error occurred while executing this line: C:\Workspaces\eclipse\AtlasWeb nTelos\src\CoverageLocator\.sencha\app\build-impl.xml:183: com.sencha.exceptions.BasicException: String index out of range: 0
Here's my build.xml:HTML Code:<?xml version="1.0" encoding="utf-8"?> <project> <!-- Init-Local --> <target name="-before-init-local"/> <target name="-init-local"> <property file="${basedir}/../../local.properties"/> <script language="javascript"> var f = new java.io.File(project.getProperty("basedir")); var sub = ".sencha/workspace/sencha.cfg"; for (var p = f; p; p = p.getParentFile()) { var t = new java.io.File(p, sub); if (t.exists()) { // we found the workspace folder! t = new java.io.File(p, "local.properties"); if (t.exists()) { var loader = project.createTask("property"); loader.setFile(new java.io.File(t.getCanonicalPath())); loader.execute(); } break; } } </script> </target> <target name="-after-init-local"/> <target name="init-local" depends="-before-init-local,-init-local,-after-init-local"/> <!-- Find Sencha Cmd --> <target name="find-cmd" unless="cmd.dir"> <!-- Run "sencha which" to find the Sencha Cmd basedir and get "cmd.dir" setup. We need to execute the command with curdir set properly for Cmd to pick up that we are running for an application. --> <exec executable="sencha" dir="${basedir}"> <arg value="which"/><arg value="-o=$cmddir$"/> </exec> <!-- Now read the generated properties file and delete it --> <property file="$cmddir$"/> <delete file="$cmddir$"/> <echo>Using Sencha Cmd from ${cmd.dir}</echo> </target> <!-- Init --> <target name="-before-init"/> <target name="-init"> <taskdef resource="com/sencha/ant/antlib.xml" classpath="${cmd.dir}/sencha.jar"/> <x-sencha-init prefix=""/> <!-- initialize the build.dir property from the workspace config after we've loaded it --> <property name="build.dir" location="${workspace.build.dir}"/> <!-- Some operations require sencha.jar in the Ant classpath --> <x-extend-classpath> <jar path="${cmd.dir}/sencha.jar"/> </x-extend-classpath> </target> <target name="-after-init"/> <target name="init" depends="init-local,find-cmd,-before-init,-init,-after-init"/> <!-- Clean --> <target name="-before-clean"/> <target name="-clean"> <delete dir="${build.dir}"/> </target> <target name="-after-clean"/> <target name="clean" depends="init,-before-clean,-clean,-after-clean" description="Removes all build output produced by the 'build' target"/> <!-- Build SASS --> <target name="-before-sass"/> <target name="-sass"> <!-- run sass compilation over the various themes --> <for param="sass"> <dirset dir="${app.dir}/resources/sass" includes="*"/> <sequential> <local name="app-css-dir"/> <local name="build-css-dir"/> <local name="sass.name"/> <local name="use.shell"/> <property name="app-css-dir" location="${app.dir}/resources/css"/> <property name="build-css-dir" location="${build.dir}/resources/css"/> <!-- convert abspath to just the leaf path name --> <basename property="sass.name" file="@{sass}"/> <!-- compile to both the workspace (for theme build) and build directory (for deployment) --> <condition property="use.shell" value="true"> <os family="unix"/> </condition> <x-shell dir="@{sass}"> compass compile --boring --force </x-shell> <x-compress-css srcfile="${build-css-dir}/${sass.name}/*.css" outdir="${build-css-dir}/${sass.name}"/> </sequential> </for> <!-- copy framework / app resource files to build.dir --> <copy todir="${build.dir}"> <fileset dir="${app.dir}" includes="resources/**/*" excludes="resources/sass, resources/theme"/> </copy> <copy toDir="${build.dir}/${framework.name}"> <fileset dir="${framework.dir}" includes="resources/themes/images/**/*, src/ux/**/css/**/*"/> </copy> </target> <target name="-after-sass"/> <target name="sass" depends="init" unless="skip.sass" description="Builds only the SASS files using Compass"> <antcall target="-before-sass"/> <antcall target="-sass"/> <antcall target="-after-sass"/> </target> <!-- Build Themes --> <target name="-before-theme"/> <target name="-theme"> <!-- slice the themes for the various images --> <for param="theme"> <dirset dir="${app.dir}/resources/theme" includes="*"/> <sequential> <local name="theme.name"/> <basename property="theme.name" file="@{theme}"/> <x-sencha-command> theme build -page=@{theme}/theme.html -out=${build.dir}/resources/images/${theme.name} </x-sencha-command> </sequential> </for> </target> <target name="-after-theme"/> <target name="theme" depends="init" unless="skip.theme" description="Builds only the application's Theme(s)"> <antcall target="-before-theme"/> <antcall target="-theme"/> <antcall target="-after-theme"/> </target> <!-- Build Page --> <target name="-before-page"/> <target name="-page"> <!-- compile the page --> <x-sencha-command> compile ${build.options} page -name=page -in=index.html -out=${build.dir}/index.html and restore page and ${build.operations} and concat ${build.compression} -out=${build.dir}/all-classes.js </x-sencha-command> </target> <target name="old-page"> <!-- initialize the build.dir parameter if it hasn't been already --> <local name="build.dir"/> <property name="build.dir" location="${workspace.build.dir}"/> <!-- compile the page --> <x-sencha-command> compile page +yui -in=index.html -out=${build.dir}/index.html </x-sencha-command> </target> <target name="-after-page"/> <target name="page" depends="init" unless="skip.page" description="Builds only the application's HTML page"> <antcall target="-before-page"/> <antcall target="-page"/> <antcall target="-after-page"/> </target> <!-- Build --> <target name="-before-build"/> <target name="-build" depends="sass,theme,page"/> <target name="-after-build"/> <target name="build" depends="init,-before-build,-build,-after-build" description="Builds the application"/> <!-- environment setters --> <target name="production"> <property name="args.environment" value="production"/> </target> <target name="testing"> <property name="args.environment" value="testing"/> </target> <target name="native"> <property name="args.environment" value="native"/> </target> <target name="package"> <property name="args.environment" value="package"/> </target> <!-- Helpful targets --> <target name=".props" depends="init" description="Lists all properties defined for the build"> <echoproperties/> </target> <target name=".help" depends="init" description="Provides help on the build script"> <local name="-alltargets"/> <x-shell outputproperty="-alltargets"> ant -f ${ant.file} -p </x-shell> <!-- Remove the annoying "Default taret:.help" smashed on the end of the output. --> <script language="javascript"> var s = project.getProperty("-alltargets"), n = s.indexOf('Default target:'); //self.log("all=" + n); project.setProperty("-alltargets", s.substring(0, n)); </script> <echo><![CDATA[${-alltargets} 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.sass Do not build the SASS. * skip.theme Do not build the theme images. 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>
I did try both a blank build.options, but also with the classpath from my sencha.cfg.HTML Code:<?xml version="1.0" encoding="utf-8"?> <project name="@@@" default=".help"> <!-- <property name="build.options" value="-classpath=${app.dir}/scripts/app,${app.dir}/scripts/ux,${app.dir}/../../../SpatialPoint Sencha ExtJS Library/src" /> --> <property name="build.options" value="" /> <property name="build.compression" value=""/> <property name="build.operations" value="exclude -namespace=Ext.dd"/> <import file="${basedir}/.sencha/app/build-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="-after-page"> <move file="${build.dir}/all-classes.js" tofile="${build.dir}/all-classes.js2"/> <concat destfile="${build.dir}/all-classes.js"> <header filtering="no" trimleading="yes"> /* nTelos Coverage Locator Portions Copyright (c) 2006-2012, Sencha Inc. All rights reserved. http://www.sencha.com Portions Copyright (c) 2012 SpatialPoint, LLC. All rights reserved. http://www.spatialpoint.com */ </header> <fileset file="${build.dir}/all-classes.js2"/> </concat> <delete file="${build.dir}/all-classes.js2" /> </target> </project>
-Chris
-
7 Nov 2012 12:20 AM #8
The option is now available in the shipping build.
You should be able to remove any of the attempted fixes and run "sencha app upgrade" to get the new build-impl.xml. Hopefully you will be able to remove Ext.dd now with just this in your build.xml:
Thanks again!Code:<property name="build.operations" value="exclude -namespace=Ext.dd"/>
Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"
-
7 Nov 2012 7:15 AM #9
I've got the new build of Sencha, but I've not changed the version of ExtJS, so will the "sencha app upgrade" still change the templates etc.?
-
7 Nov 2012 9:17 AM #10
Rather than wait for a response, I went ahead and tried upgrading to the same version of ExtJS to see if that then updated the build-impl templates etc..
Unfortunately, it didn't appear to work...here's the session:
I'll see if I can backout of any changes this made.Code:C:\Workspaces\eclipse\locator\src\Locator>sencha app upgrade /To ols/JavaScript/ext-4.1.1a-commercial/ext-4.1.1a Sencha Cmd v3.0.0.250 [INF] init-properties: [INF] init-sencha-command: [INF] init: [INF] -before-app-upgrade: [INF] app-upgrade-impl: [INF] building application [INF] Backing up framework files from C:\Workspaces\eclipse\locator\src\Locator\ext to C:\Workspaces\eclipse\locator\s rc\Locator\.sencha_backup\ext\4.1.1 [INF] [move] Moving 2008 files to C:\Workspaces\eclipse\locator\src\Locator\.sencha_backup\ext\4.1.1 [INF] [move] Moved 210 empty directories to 2 empty directories under C:\Workspaces\eclipse\locator\src\Locator\.sencha_backup\ex t\4.1.1 [INF] Backing up application files from C:\Workspaces\eclipse\locator\src\Locator to C:\Workspaces\eclipse\locator\src \Locator\.sencha_backup\Locator\4.1.1 [INF] [copy] Copying 377 files to C:\Workspaces\eclipse\locator\src\Locator\.sencha_backup\Locator\4.1.1 [INF] [copy] Copied 80 empty directories to 2 empty directories u nder C:\Workspaces\eclipse\locator\src\Locator\.sencha_backup\Locator\4.1.1 [INF] Updating application and workspace files [INF] init-properties: [INF] init-sencha-command: [INF] init: [INF] -before-generate-app: [INF] generate-app-impl: [WRN] Ignoring @require ../version/Version.js in js/String.js [WRN] Ignoring @require ../Ext-more.js in js/Format.js [INF] update-app: [INF] update-app: [INF] [mkdir] Created dir: C:\Workspaces\eclipse\locator\src\Locator\app\model [INF] [mkdir] Created dir: C:\Workspaces\eclipse\locator\src\Locator\app\store [ERR] BUILD FAILED [ERR] com.sencha.exceptions.BasicException: The following error occurred while executing this line: [ERR] C:\Workspaces\eclipse\locator\src\Locator\.sench a\workspace\plugin.xml:2: Cannot find C:\Workspaces\eclipse\locator\src\Locator\.sencha\workspace\$'{'framework.config.dir'}'\plugin.xml importe d from C:\Workspaces\eclipse\locator\src\Locator\.sencha\workspace\plugin.xml [ERR] at com.sencha.exceptions.BasicException.wrap(BasicExcept ion.java:43) [ERR] at com.sencha.cli.Command.dispatch(Command.java:104) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.cli.AbstractCommand.dispatch(AbstractComma nd.java:182) [ERR] at com.sencha.ant.SenchaCommandTask.doExecute(SenchaComm andTask.java:58) [ERR] at com.sencha.ant.BaseAntTask.execute(BaseAntTask.java:2 2) [ERR] at org.apache.tools.ant.UnknownElement.execute(UnknownEl ement.java:291) [ERR] at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(D ispatchUtils.java:106) [ERR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERR] at org.apache.tools.ant.Target.performTasks(Target.java: 413) [ERR] at org.apache.tools.ant.Project.executeSortedTargets(Pro ject.java:1399) [ERR] at org.apache.tools.ant.Project.executeTarget(Project.ja va:1368) [ERR] at org.apache.tools.ant.helper.DefaultExecutor.executeTa rgets(DefaultExecutor.java:41) [ERR] at org.apache.tools.ant.Project.executeTargets(Project.j ava:1251) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:72) [ERR] at com.sencha.command.BasePluginCommands$BasePluginComma nd.run(BasePluginCommands.java:87) [ERR] at com.sencha.command.BasePluginCommands$BasePluginComma nd.run(BasePluginCommands.java:91) [ERR] at com.sencha.command.BasePluginCommands$BaseNamePathCom mand.run(BasePluginCommands.java:135) [ERR] at com.sencha.command.generator.GeneratorCommands$AppCom mand.execute(GeneratorCommands.java:230) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.cli.AbstractCommand.dispatch(AbstractComma nd.java:182) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at sun.reflect.misc.Trampoline.invoke(Unknown Source) [ERR] at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at sun.reflect.misc.MethodUtil.invoke(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.MemberBox.invoke( Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.NativeJavaMethod. call(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.Interpreter.inter pretLoop(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.Interpreter.inter pret(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.InterpretedFuncti on.call(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.ContextFactory.do TopCall(Unknown Source) [ERR] at com.sun.script.javascript.RhinoScriptEngine$1.superDo TopCall(Unknown Source) [ERR] at com.sun.script.javascript.RhinoScriptEngine$1.doTopCa ll(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.ScriptRuntime.doT opCall(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.InterpretedFuncti on.exec(Unknown Source) [ERR] at sun.org.mozilla.javascript.internal.Context.evaluateR eader(Unknown Source) [ERR] at com.sun.script.javascript.RhinoScriptEngine.eval(Unkn own Source) [ERR] at com.sun.script.javascript.RhinoScriptEngine.eval(Unkn own Source) [ERR] at javax.script.AbstractScriptEngine.eval(Unknown Source ) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at org.apache.tools.ant.util.ReflectUtil.invoke(ReflectU til.java:108) [ERR] at org.apache.tools.ant.util.ReflectWrapper.invoke(Refle ctWrapper.java:81) [ERR] at org.apache.tools.ant.util.optional.JavaxScriptRunner. evaluateScript(JavaxScriptRunner.java:103) [ERR] at org.apache.tools.ant.util.optional.JavaxScriptRunner. executeScript(JavaxScriptRunner.java:67) [ERR] at org.apache.tools.ant.taskdefs.optional.script.ScriptD ef.executeScript(ScriptDef.java:350) [ERR] at org.apache.tools.ant.taskdefs.optional.script.ScriptD efBase.execute(ScriptDefBase.java:50) [ERR] at org.apache.tools.ant.UnknownElement.execute(UnknownEl ement.java:291) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(D ispatchUtils.java:106) [ERR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERR] at org.apache.tools.ant.Target.performTasks(Target.java: 413) [ERR] at org.apache.tools.ant.Project.executeSortedTargets(Pro ject.java:1399) [ERR] at org.apache.tools.ant.Project.executeTarget(Project.ja va:1368) [ERR] at org.apache.tools.ant.helper.DefaultExecutor.executeTa rgets(DefaultExecutor.java:41) [ERR] at org.apache.tools.ant.Project.executeTargets(Project.j ava:1251) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:156) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:72) [ERR] at com.sencha.command.BasePluginCommands$BasePluginComma nd.run(BasePluginCommands.java:87) [ERR] at com.sencha.command.app.AppCommands$UpgradeCommand.exe cute(AppCommands.java:157) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.cli.Commands.dispatch(Commands.java:49) [ERR] at com.sencha.command.Sencha.main(Sencha.java:71) [ERR] Caused by: C:\Workspaces\eclipse\locator\src\Loc ator\.sencha\app\plugin.xml:22: The following error occurred while executing thi s line: [ERR] C:\Workspaces\eclipse\locator\src\Locator\.sench a\workspace\plugin.xml:2: Cannot find C:\Workspaces\eclipse\locator\src\Locator\.sencha\workspace\$'{'framework.config.dir'}'\plugin.xml importe d from C:\Workspaces\eclipse\locator\src\Locator\.sencha\workspa ce\plugin.xml [ERR] at org.apache.tools.ant.ProjectHelper.addLocationToBuild Exception(ProjectHelper.java:551) [ERR] at org.apache.tools.ant.taskdefs.ImportTask.importResour ce(ImportTask.java:238) [ERR] at org.apache.tools.ant.taskdefs.ImportTask.execute(Impo rtTask.java:163) [ERR] at org.apache.tools.ant.UnknownElement.execute(UnknownEl ement.java:291) [ERR] at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(D ispatchUtils.java:106) [ERR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERR] at org.apache.tools.ant.helper.ProjectHelper2.parse(Proj ectHelper2.java:180) [ERR] at org.apache.tools.ant.ProjectHelper.configureProject(P rojectHelper.java:82) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:155) [ERR] at com.sencha.ant.AntRunner.run(AntRunner.java:72) [ERR] at com.sencha.command.BasePlug [ERR] inCommands$BasePluginCommand.run(BasePluginCommands.java:87) [ERR] at com.sencha.command.BasePluginCommands$BasePluginComma nd.run(BasePluginCommands.java:91) [ERR] at com.sencha.command.BasePluginCommands$BaseNamePathCom mand.run(BasePluginCommands.java:135) [ERR] at com.sencha.command.app.AppCommands$RefreshCommand.exe cute(AppCommands.java:258) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M ethod) [ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S ource) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at com.sencha.cli.Command.dispatch(Command.java:78) [ERR] ... 89 more [ERR] Caused by: C:\Workspaces\eclipse\locator\src\Loc ator\.sencha\workspace\plugin.xml:2: Cannot find C:\Workspaces\eclipse\l ocator\src\Locator\.sencha\workspace\$'{'framework.config.dir'}'\plugin. xml imported from C:\Workspaces\eclipse\locator\src\Locator\.sen cha\workspace\plugin.xml [ERR] at org.apache.tools.ant.taskdefs.ImportTask.importResour ce(ImportTask.java:182) [ERR] at org.apache.tools.ant.taskdefs.ImportTask.execute(Impo rtTask.java:163) [ERR] at org.apache.tools.ant.UnknownElement.execute(UnknownEl ement.java:291) [ERR] at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) [ERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno wn Source) [ERR] at java.lang.reflect.Method.invoke(Unknown Source) [ERR] at org.apache.tools.ant.dispatch.DispatchUtils.execute(D ispatchUtils.java:106) [ERR] at org.apache.tools.ant.Task.perform(Task.java:348) [ERR] at org.apache.tools.ant.Target.execute(Target.java:392) [ERR] at org.apache.tools.ant.helper.ProjectHelper2.parse(Proj ectHelper2.java:169) [ERR] at org.apache.tools.ant.taskdefs.ImportTask.importResour ce(ImportTask.java:229) [ERR] ... 110 more [ERR] Total time: 3 seconds [ERR] javax.script.ScriptException: sun.org.mozilla.javascript.interna l.WrappedException: Wrapped com.sencha.exceptions.BasicException: com.sencha.exc eptions.BasicException: The following error occurred while executing this line: C:\Workspaces\eclipse\locator\src\Locator\.sencha\workspace\plug in.xml:2: Cannot find C:\Workspaces\eclipse\locator\src\Locator\ .sencha\workspace\${framework.config.dir}\plugin.xml imported from C:\Workspaces \eclipse\locator\src\Locator\.sencha\workspace\plugin.xml (<Unkn own source>#268) in <Unknown source> at line number 268 C:\Workspaces\eclipse\locator\src\Locator>
-Chris
You found a bug! We've classified it as
SDKTOOLS-248
.
We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.


Reply With Quote