You found a bug! We've classified it as SDKTOOLS-203 . We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.
  1. #1
    Sencha Premium Member
    Join Date
    Jan 2012
    Posts
    131
    Vote Rating
    -2
    YomeKitsuma has a little shameless behaviour in the past

      0  

    Default Final Build (ant) :: still missing some (event) Classes

    Final Build (ant) :: still missing some (event) Classes


    Hi,

    Here what i've got when build with ant (sencha ant build) :

    Code:
    Creating Application Cache with manifest http://dev.tag-all.com:28880/build/T...cache.appcache
    Application Cache Checking event
    Application Cache Downloading event
    Application Cache Progress event (0 of 1) http://dev.tag-all.com:28880/build/T...ion/index.html
    Application Cache Progress event (1 of 1) 
    Application Cache Cached event
    Failed to load resource: the server responded with a status of 404 (Not Found) http://dev.tag-all.com:28880/build/T...=1350026474009

    This is something that I've got in "development" when I do not properly set the "Ext.Loader.setPath"

    With =
    Code:
    //<debug>
    Ext.Loader.setPath({
        'Ext': '../../../../Library/touch/src',
        'Tall'    : '../../../../Library/tall/src',
        'TagAll': 'app'
    });
    //</debug>
    Code:
    
    [INFO] [Ext.ClassManager] Overriding existing alias: 'widget.component' of: 'Ext.dataview.DataView' with: 'Ext.Component'. Be sure it's intentional.sencha-touch.js:600
    [INFO] [Ext.ClassManager] Overriding existing alias: 'widget.mask' of: 'Ext.LoadMask' with: 'Ext.Mask'. Be sure it's intentional. sencha-touch.js:600
    [INFO] [Ext.ClassManager] Overriding existing alias: 'widget.container' of: 'Ext.dataview.DataView' with: 'Ext.Container'. Be sure it's intentional. sencha-touch.js:600
    [INFO] [Ext.ClassManager] Overriding existing alias: 'widget.viewport' of: 'Ext.viewport.Android' with: 'Ext.viewport.Default'. Be sure it's intentional. sencha-touch.js:600
    All go fine...

    And without =
    Code:
    //<debug>
    Ext.Loader.setPath({
        //'Ext': '../../../../Library/touch/src',
        'Tall'    : '../../../../Library/tall/src',
        'TagAll': 'app'
    });
    //</debug>
    Code:
    sencha-touch.js:9942
    
    
    • Uncaught Error: [Ext.Loader] Failed loading './event/Dispatcher.js', please verify that the file exists sencha-touch.js:8319
    • Uncaught Error: [Ext.Loader] Failed loading './event/publisher/Dom.js', please verify that the file exists sencha-touch.js:8319

    What I've understood is that issue comes from the "microloader"...

    So actually it seems that is the only last step to have a good build (ok, there is also the problem pointed else where, that the app.appcache has a final "," which cause problem)

    So, I'am adding in "app.js" the Requires for ALL the Ext event...

    Code:
    Ext.application({
        
        name : 'TagAll',
    
    
        requires : [
            'Ext.MessageBox',
            //-----fixing bug for build---------------
            'Ext.event.*',
            //----------------------------------------
            'Ext.data.proxy.LocalStorage',
    And now.... HOW FUNNY... i'am getting this error :

    Code:
    Document was loaded from Application Cache with manifest http://dev.tag-all.com:28880/build/T...cache.appcache
    Application Cache Checking event
    Application Cache NoUpdate event
    
    Code:
    /chart/series/ItemPublisher.js
    ...but the application EVER NEVER USED CHART !!!!!!!!!

  2. #2
    Sencha Premium Member
    Join Date
    Jan 2012
    Posts
    131
    Vote Rating
    -2
    YomeKitsuma has a little shameless behaviour in the past

      0  

    Default


    After investigation, all appends in the compiled app.js =>

    (somewhere in the code - see at the end of the obj definition ;-)

    Code:
    defaultSetupConfig:{
      eventPublishers:{
        dom:{
          xclass:"Ext.event.publisher.Dom"
        },
      touchGesture:{
        xclass:"Ext.event.publisher.TouchGesture",
        recognizers:{
          drag:{xclass:"Ext.event.recognizer.Drag"},
          tap:{xclass:"Ext.event.recognizer.Tap"},
          doubleTap:{xclass:"Ext.event.recognizer.DoubleTap"},
          longPress:{xclass:"Ext.event.recognizer.LongPress"},
          swipe:{ xclass:"Ext.event.recognizer.HorizontalSwipe"},
          pinch:{xclass:"Ext.event.recognizer.Pinch"},
          rotate:{xclass:"Ext.event.recognizer.Rotate"}
        }
      },
      componentDelegation:{
        xclass:"Ext.event.publisher.ComponentDelegation"},
        componentPaint:{xclass:"Ext.event.publisher.ComponentPaint"},
        elementPaint:{xclass:"Ext.event.publisher.ElementPaint"},
        elementSize:{xclass:"Ext.event.publisher.ElementSize"},
        seriesItemEvents:{xclass:"Ext.chart.series.ItemPublisher"}
      }
    So, back to the first "bug/issue", If I remove the "Ext.event.*" (and previouslt : "Ext.event.publisher")... I'll go back at the start... and can not resolve this issue


  3. #3
    Sencha Premium Member
    Join Date
    Jan 2012
    Posts
    131
    Vote Rating
    -2
    YomeKitsuma has a little shameless behaviour in the past

      0  

    Default Ouf...it'is done ;-)

    Ouf...it'is done ;-)


    So, to make my application working, i've just have to add this =

    Code:
    Ext.application({
        
        name : 'TagAll',
    
    
        requires : [
            'Ext.MessageBox',
            //-----fixing bug for build---------------
            'Ext.event.*',
            'Ext.chart.series.ItemPublisher',
            'Ext.log.Logger',
            'Ext.log.writer.Console',
            'Ext.log.formatter.Default',
            'Ext.fx.Runner',
            'Ext.viewport.Viewport',
            //----------------------------------------
    What is really BORRING is that "we" (the coder/user/developer) have to add this manually



    But NOW, this is the "cached" / "update" thing that did not works...

    We have to clean the localStorage manually, which is impossible to ask this to our user !!!!!

  4. #4
    Sencha Premium Member
    Join Date
    Jan 2012
    Posts
    131
    Vote Rating
    -2
    YomeKitsuma has a little shameless behaviour in the past

      0  

    Default Fixe this issue

    Fixe this issue


    The last thing I've found to resolve this issue (workarround) is:

    Delete the "archive" folder before starting "sencha ant build" command



    OR

    If you change the "update" parameters in the app.json to "full" (instead of "delta" all goes fine ;-)

    Code:
    "js": [
            {
                "path": "../../../../Library/touch/sencha-touch.js"
            },
            {
                "path": "app.js",
                "bundle": true, 
                "update": "full"
            },
            {
                "path": "../../../../Library/tall/tall.js",
                "update": "full"
            }
        ],
    HOPE THIS HELP (for Sencha team and Users !!)

  5. #5
    Sencha - Ext JS Dev Team dongryphon's Avatar
    Join Date
    Jul 2009
    Posts
    1,350
    Vote Rating
    134
    dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all

      0  

    Default


    This looks similar to some bugs we have fixed recently but I am going to open this so we can check in to your test case. Thanks.

  6. #6
    Sencha - Ext JS Dev Team dongryphon's Avatar
    Join Date
    Jul 2009
    Posts
    1,350
    Vote Rating
    134
    dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all dongryphon is a name known to all

      0  

    Default


    Also - what versions of Touch and Cmd are you using? If you mentioned it I missed it. Thanks.
    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. #7
    Sencha Premium Member
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    4
    Vote Rating
    0
    dreitman is on a distinguished road

      0  

    Default I'm having the same issue as well

    I'm having the same issue as well


    What YomeKitsuma suggested fixes my build as well.

    I'm running sencha cmd 4.0.0.203 with Sencha Touch 2.3.

    It may also be worth pointing out that I had built my app using Cmd 4 and Touch 2.3 that was released at SenchaCon and performed an app upgrade a couple weeks ago.

  8. #8

    Join Date
    May 2012
    Location
    Linz, AT
    Posts
    23
    Vote Rating
    2
    eeckhev is on a distinguished road

      0  

    Default


    I've the same issue! When using

    Code:
        eventPublishers: {
            touchGesture: {
                recognizers: {
                    swipe: {
                        // this will include both vertical and horizontal swipe recognizers
                        xclass: 'Ext.ux.event.recognizer.Swipe'
                      }        
                }
            }
        },
    production build fails with serveral missing classes.

    I've to require the following classes to make it work.
    Code:
    'Ext.event.*','Ext.event.publisher.*',
    'Ext.event.recognizer.*',
    'Ext.chart.series.ItemPublisher'
    Sencha CMD v4.0.0.203
    ST 2.3 Nightly build 20131126

    Why has the chart.series.ItemPublisher to be required, when not using any charts?`