PDA

View Full Version : [Builder-SDKTools-1.2.3] sencha create jsb detecting no dependencies



SebTardif
24 Sep 2011, 2:16 PM
I have a relatively big MVC application using ExtJs 4.0.6. I don't see other option than using the SDK builder to get the right order of my too many small js files so that I can concatenate them to one.

However, when I execute the builder, it give me an empty jsb3 file:



{
"projectName": "Project Name",
"licenseText": "Copyright(c) 2011 Company Name",
"builds": [
{
"name": "All Classes",
"target": "all-classes.js",
"options": {
"debug": true
},
"files": []
},
{
"name": "Application - Production",
"target": "app-all.js",
"compress": true,
"files": [
{
"path": "",
"name": "all-classes.js"
},
{
"path": "",
"name": "app.js"
}
]
}
],
"resources": []
}


I executed the following command on Windows XP:


sencha create jsb -v -a http://localhost:8080/fi.ba.web/index.jsp -p my.jsb3


The web site returned the following page:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=IE8;IE9"><script> // to support virtual host, where a web site is not www.mywebsite.com but www.xyz.com/mywebsite
var HOST_URL = "" + window.location.host;
var BASE_APP_PATH = '/fi.ba.web';
if (BASE_APP_PATH.charAt(BASE_APP_PATH.length - 1) == "/") { BASE_APP_PATH = BASE_APP_PATH.substr(0, BASE_APP_PATH.length - 1); }
var BASE_APP_URL = window.location.protocol + "//" + HOST_URL + BASE_APP_PATH; </script>

<link REL="SHORTCUT ICON" HREF="favicon.ico">
<link rel="stylesheet" type="text/css" href="ba_app/resources/css/ext-all-fi.css" />

<script type="text/javascript" src="ext-4.0.6/ext-dev.js"></script>

<script>
// enable dynamic loading
Ext.Loader.setConfig({ // FIX ME: right now the consolidated JS file do not put the files in the right order
enabled : true,//true,
paths: { 'Ext': BASE_APP_URL+'/ext-4.0.6/src', 'ba' : BASE_APP_URL + '/ba_app' } });

Ext.onReady(function() {
Ext.require('Ext.chart.theme.Theme');
Ext.require('Ext.chart.*');
Ext.require('Ext.form.FieldSet');
Ext.require('Ext.grid.plugin.DragDrop');
Ext.require('Ext.form.Label');
Ext.require('Ext.form.field.ComboBox');
Ext.require('Ext.form.CheckboxGroup');
Ext.require('Ext.toolbar.Spacer');
Ext.require('Ext.layout.container.Column');
Ext.require('Ext.form.RadioGroup');
Ext.require('Ext.form.field.Radio');
Ext.require(['ba.app.AppDetails','ba.app.App','Ext.data.proxy.Memory','Ext.grid.Panel','Ext.selection.CheckboxModel','Ext.form.field.Display','Ext.layout.container.Accordion'], function() {

Ext.override(Ext.grid.Panel, {
scrollerFix : function() {
this.getView().refresh();
var me = this, vertScroller = me.getVerticalScroller(), horzScroller = me.getHorizontalScroller();
if (vertScroller && vertScroller.scrollEl && vertScroller.scrollEl.dom) {
vertScroller.mun(vertScroller.scrollEl, 'scroll', vertScroller.onElScroll, vertScroller);
vertScroller.mon(vertScroller.scrollEl, 'scroll', vertScroller.onElScroll, vertScroller);
}
if (horzScroller && horzScroller.scrollEl && horzScroller.scrollEl.dom) {
horzScroller.mun(horzScroller.scrollEl, 'scroll', horzScroller.onElScroll, horzScroller);
horzScroller.mon(horzScroller.scrollEl, 'scroll', horzScroller.onElScroll, horzScroller);
}
},
initComponent : function() {



this.on('afterlayout', function() {
this.scrollerFix();

});
this.callOverridden();
}

});
Ext.create('ba.app.App');
});


});


</script>


<title>My app title</title>


</head>


<body></body>
</html>

whippersnapper
25 Sep 2011, 1:10 PM
I think you should be putting the Ext.requires within the app.js file.