X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=gtkrun.js;h=94c96cb3ca0e355143720a626d842965c60c29d4;hb=16a4738fd23e609322bac8af49d061a58955a1b4;hp=078361301f1f7f1b74d38b42230f43e5066c956c;hpb=b4aaad561787eef791bd1623be0a3d8f610ef230;p=app.Builder.js diff --git a/gtkrun.js b/gtkrun.js index 078361301..94c96cb3c 100644 --- a/gtkrun.js +++ b/gtkrun.js @@ -25,6 +25,9 @@ * */ // autogen? + +// sort out import path!!! + Gtk = imports.gi.Gtk; Gdk = imports.gi.Gdk; @@ -36,27 +39,46 @@ GtkSource = imports.gi.GtkSource; WebKit = imports.gi.WebKit; Vte = imports.gi.Vte; +GtkClutter = imports.gi.GtkClutter; +if (GtkClutter) { + GtkClutter.init(Seed.argv); +} + File = imports.File.File; +XObject = imports.XObject.XObject; +//XObject.debug = true; Gtk.init(Seed.argv); - +imports.searchPath.push('/'); // allow global paths.. // error checking todo.. var files = File.list(Seed.argv[2]); var olist = []; var gtkbuilder = false; files.forEach(function(f) { - if (!f.match(/\.bjs$/)) { - continue; + var fp = Seed.argv[2] + '/' + f; + if (!fp.match(/\.bjs$/)) { + return; } - if (File.isFile(f.replace(/\.bjs$/, '.js'))) { - olist.push(imports[f.replace(/\.bjs$/, '.js')]); - continue; + var js = fp.replace(/\.bjs$/, '.js'); + if (File.isFile(js)) { + // check file time.. = bjs is less than compiled file.. + if (File.mtime(fp) < File.mtime(js)) { + print ("LOADING" + js); + olist.push(imports[js]); + return; + } + + } - var gtkbuilder = new imports.Builder.Provider.File.Gtk.Gtk({ path : Seed.argv[2] + '/' + f }); + var gtkbuilder = new imports.Builder.Provider.File.Gtk.Gtk({ path : fp }); gtkbuilder.loadItems(function() { }); - gtkbuilder.saveJS(); - olist.push(imports[f.replace(/\.bjs$/, '.js')]); + print ("COMPILING" + js); + var fn = gtkbuilder.saveJS(); + if (fn === false) { // skip files that do not contain anythng! + return; + } + olist.push(imports[fn]); });