X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=rconv.js;h=a7be79d10ea88a273b86013f6ff1f4161e78849c;hb=119290bc3234e9ece1c64dbd72ca486d9633b5b7;hp=348c12cf9ca56a444b2ef5ebc2fdd60b6b94a269;hpb=b1e1eafb6161ab3233c150ca62329c6395d95d36;p=app.Builder.js diff --git a/rconv.js b/rconv.js index 348c12cf9..a7be79d10 100644 --- a/rconv.js +++ b/rconv.js @@ -30,28 +30,42 @@ args.shift(); //Seed.quit(); - - -File.list(args[0]).forEach(function(a) { - if (!a.match(/\.js$/)) { - return; - } - //print(args[0] + '/' + a); - createTest(args[0] + '/' + a); +if (File.isFile(args[0])) { + createTest(args[0], true); +} else { -}) - + File.list(args[0]).forEach(function(a) { + if (!a.match(/\.js$/)) { + return; + } + //print(args[0] + '/' + a); + createTest(args[0] + '/' + a); + + }) +} print( " diff -w -u /tmp/rconv_orig /tmp/rconv_gen/"); -function createTest(fn) { +function createTest(fn, force) { + + // does it have a .bjs file.. + var bjs = fn.replace(/\.js$/, '.bjs'); + if (!force && !File.exists(bjs)) { + return true; + + } + + print("converting : " + fn); // outputs to two directories.. if (!File.exists('/tmp/rconv_orig')) { File.mkdir('/tmp/rconv_orig'); + } + if (!File.exists('/tmp/rconv_genbjs')) { + File.mkdir('/tmp/rconv_genbjs'); } if (!File.exists('/tmp/rconv_gen')) { File.mkdir('/tmp/rconv_gen'); @@ -75,16 +89,26 @@ function createTest(fn) { var rf = new JsParser(toks); //print(JSON.stringify(rf.tokens, null,4));Seed.quit(); + rf.parse(); - rf.parse(); + if (File.exists('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs') )) { + File.remove('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs') ); + } + File.write('/tmp/rconv_genbjs/' + GLib.basename(fn).replace(/\.js$/,'.bjs'), + JSON.stringify(rf.cfg,null,4)); + + // now try and render it back to javascript. var rclass = imports.JsRender[rf.cfg.type][rf.cfg.type]; - rf.cfg.path = args[0]; + rf.cfg.path = fn; var render = new rclass(rf.cfg); var res = render.toSource() //print(); + if (File.exists('/tmp/rconv_gen/' + GLib.basename(fn) )) { + File.remove('/tmp/rconv_gen/' + GLib.basename(fn) ); + } File.write('/tmp/rconv_gen/' + GLib.basename(fn) , res); }