PDA

View Full Version : [FIXED] <feature logger> doesn't work



jweber
6 Nov 2012, 8:58 AM
Ext version tested:
Sencha Touch 2.1 final

Browser versions tested against:
N/A

DOCTYPE tested against:
N/A

Description:
Can't require or extend classes like Ext.log.writer.Remote, when they're wrapped in "//<feature logger>" comments..

Steps to reproduce the problem:
Use Sencha Cmd to generate an app. Add 'Ext.log.writer.Remote' to the Ext.application call's "requires" config. In app.json, set "logger": true in "buildOptions". Run "sencha app build production".

The result that was expected:
Builds correctly.

The result that occurs instead:

[INF] Processing instantiation refereces to classes and aliases
[INF] Processing source dependencies
[ERR] Failed to find file for Ext.log.writer.Remote
required by /Users/jacobweber/Test/app.js
[ERR] BUILD FAILED


Test Case:

N/A


HELPFUL INFORMATION


Screenshot or Video:
N/A

See this URL for live test case: N/A


Debugging already done:
Removing the <feature> tags in the Sencha source fixes the problem. Changing the value of "logger" in "buildOptions" doesn't seem to make a difference.

Possible fix:
N/A

Additional CSS used:
only default ext-all.css

Operating System:
Mac OS 10.8.2

jweber
8 Nov 2012, 11:04 AM
Forgot to mention this was Sencha Cmd 3.0.0.250. I'm not sure if this should go here or in the Sencha Touch bugs forum.

(It seems like this Sencha Cmd forum shouldn't be grouped under Ext JS, since it applies to Sencha Touch too.)

jweber
19 Nov 2012, 9:49 AM
If I run "sencha -d app build production", the output includes:


[DBG] running compiler with options : '[...]logger:no[...]

This is despite the fact that I have buildOptions.logger = true in app.json. I also tried adding "app.logger=true" and "logger=true" to sencha.cfg, but it still says "logger:no".

dongryphon
19 Nov 2012, 3:01 PM
We plan to further normalize the app build process between ext and touch so that such things are configurable on both... but at the current time, the compiler options setting is hard-coded in this script:



$CMD_DIR/plugins/touch/current/app-build.js


around line 255 or so.

Obviously changes to this file will need to be performed any time you upgrade Cmd but it can be hacked to get what you need for now.

jweber
19 Nov 2012, 3:19 PM
Ah, thanks. I was looking for something like that (it was actually line 449).

jweber
22 Dec 2012, 12:57 PM
Any updates to this process in Sencha Cmd 3.0.1? It looks like that value is still hard-coded.

dongryphon
22 Dec 2012, 2:44 PM
Apologies. Apparently this never got escalated to our tracker - doing so now.

arthurakay
6 May 2013, 9:36 AM
It looks like adding the following to your sencha.cfg file fixes this:



app.preprocessor.opts=logger:true


More specifically, this could be done in any level of the Sencha Cmd sencha.cfg files (app, workspace, etc)



<type>.preprocessor.opts=logger:true


Tested using Cmd 3.1.1.274

jweber
6 May 2013, 10:04 AM
Great! Sencha Cmd 3.1.1.274 requires Sencha Touch 2.2, right? Or can I use it with 2.1?

arthurakay
6 May 2013, 10:12 AM
It is backward compatible... though you should upgrade your app too B)

jweber
22 Nov 2013, 10:59 AM
In case anyone needs to do this with Sencha Cmd 4, the app.preprocessor.opts line doesn't seem to work anymore. I set "build.options.logger=yes" in my sencha.cfg instead. I don't know if that's the right way to do it, but it seemed to work.