install_gir.sh
[app.Builder.js] / gtkrun.js
index 860bd8a..94c96cb 100644 (file)
--- 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;
+    }
+    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;
+        }
+        
+        
     }
-    if (File.isFile(f.replace(/\.bjs$/, '.js'))) {
-        olist.push(imports[f.replace(/\.bjs$/, '.js')]);
-        continue;
+    var gtkbuilder =  new imports.Builder.Provider.File.Gtk.Gtk({ path : fp });
+    gtkbuilder.loadItems(function() { });
+    print ("COMPILING" + js);
+    var fn = gtkbuilder.saveJS();
+    if (fn === false) { // skip files that do not contain anythng!
+        return;
     }
-    var gtkbuilder =  new imports.Builder.Provider.File.Gtk.Gtk({ path : f });
-    gtkbuilder.loadItems();
-    gtkbuilder.saveJS();
-    olist.push(imports[f.replace(/\.bjs$/, '.js')]);
+    olist.push(imports[fn]);
     
     
 });