12 Nov 2012 4:46 AM #1
[184.108.40.206] Core classes being added despite exclude -tag core
EDIT: Meanwhile I tracked down the bug further. The problem is that when using "-debug=[true|false] concat", any exclude statements will be ignored. See post #3.
Sencha Cmd 220.127.116.11
Win 7 x64
command: 'sencha compile'
Using 'sencha compile', ExtJs core classes are being added to the compiled output despite explicitly being excluded with 'exclude -tag core'. This worked correctly in 18.104.22.168
The output of the compiler script below will include several files from src/core which shouldn't be there because 'foundation' and 'core' are excluded via tags.
compile -cl=extjs-4.1.1a/src,app/ union -r -c myapp.Application and exclude -tag core and exclude -tag foundation and -debug=false concat -strip -compress build/all.min.js and metadata -f -o build/all-dependencies.txt
compile -cl=extjs-4.1.1a/src,classes union -r -c myapp.Application and exclude -tag core and exclude -tag foundation and metadata -f -o build/all-dependencies.txt
27 Nov 2012 11:46 AM #2
I found if you use exclude -file ext/src it works.
12 Dec 2012 9:08 PM #3
Can this pls be confirmed as a bug? It has been a month since the first report.
It seems that the entire '-tag' support is broken - not a minor glitch IMHO.
thx for your help. Does that mean you can confirm the bug?
I am currently testing if exclude -f ext/src/core/src is equivalent to exclude -tag core,foundation.
We also use tags for excluding certain files from the production build - have to find a workaround for those as well.
13 Dec 2012 12:11 AM #4
I further tracked down the bug. Any 'exclude' command is ignored if the '-debug=xxx' option on the 'concat' command is used.
This does *not* work (Ext core and foundation classes will be included in the output)
compile union -r -c ClassA and exclude -tag core,foundation and -debug=true concat all.js and metadata -f -o dependencies.txt
compile union -r -c ClassA and exclude -tag core,foundation and concat all.js and metadata -f -o dependencies.txt
Attached is a test project that show-cases the behavior. I excluded the ExtJs distro from the archive.
Run the build with 'sencha @test.sencha'
21 Dec 2012 8:29 AM #5
It is still not working for me in 22.214.171.1243.
I can only assume that this bug is specific to my environment and not a general bug. Otherwise I don't understand why I don't get any official feedback.
I am very confused.
It would be very helpful if somebody could run the test setup and verify the behavior (if the bug can be confirmed or not)
26 Dec 2012 4:58 PM #6
Thanks for the report! I have opened a bug in our bug tracker to see if we can track it down a bit. We use tagging internally so there is probably something special going on here.
7 Jan 2013 8:23 AM #7
Tested with 126.96.36.199.288, still same behavior.
This drives me crazy!
I did further tests to eliminate environment-specific issues - no change.
I also tried to make sense out of this using a 'trace' level log.
However, I think the observation that the compile output works without 'debug=xxx' option, but does not when 'debug=xxx' is added, should already be half the solution. Give me the Java source and I track it down myself
21 Jan 2013 3:15 PM #8
This is urgent. I need a way to exclude a file and be damned sure of it.
Please post suggestions or workarounds for us dunces.
24 Jan 2013 9:05 PM #9
Don, thx for opening the bug report.
Please note that I tracked down the bug in my post from Dec 13 2012. My initial report didn't pin down the problem exactly and might lead your team in the wrong direction.
From your reply I am not sure whether you took notice of that.
Since there is still no helpful reply from Sencha, here is the work-around I found.
If you use a different syntax to configure the 'debug' switch, the excludes will work as expected. Use
compile -options=debug:false union -r -c ClassA and exclude -tag core,foundation and concat all.js and metadata -f -o dependencies.txt
In our project we use two concat statements to create both a production (minified, debug=false) and a 'debug' bundle (uncompressed, debug=true) in one compiler call. Since we can only specify a single -options flag that applies to all 'concat' actions in the compile statement, we currently have to strip 'debug' code from both the production and the debug bundle.