if ((typeof(cfg.tmpDir) != 'undefined') && (!cfg.cleanup)) {
this.cleanup = false; // do not clean up files.. = as tmpdir is set.
}
- this.tmpFiles = [];
+
this.timer = new Date() * 1;
this.packAll();
translateJson : '', // json based list of strings in all files.
- tmpFiles : false, // list of temporary files - cleaned up at end..
/**
* @prop cleanup {Boolean} (optional) clean up temp files after done -
* Defaults to false if you set tmpDir, otherwise true.
for(var i=0; i < this.files.length; i++) {
var file = this.files[i];
var transfile= this.tmpDir + '/' +file.replace(/\//g, '.') +'.lang.trans';
- var transmd5 = bpath + '/' +files[i].substr(spath.length+1).replace(/\//g, '.') +'.lang';
+ var transmd5 = this.tmpDir + '/' +file.replace(/\//g, '.') +'.lang';
if (File.exists(transmd5)) {
var str = File.read(transmd5);
if (str.length) {
- File.append(outpath, str + "\n");
+ File.append(this.target, str + "\n");
+ }
+ if (this.cleanup) {
+ File.remove(transmd5);
}
}
if (File.exists(transfile)) {
if (str.length) {
File.append(this.translateJson, str);
}
+ if (this.cleanup) {
+ File.remove(transfile);
+ }
}
}
}
+
print("MERGING SOURCE");
for(var i=0; i < files.length; i++) {
-
- var minfile = bpath + '/' +files[i].substr(spath.length+1).replace(/\//g, '.');
+
+ var minfile = bpath + '/' + this.files.replace(/\//g, '.');
+
+
if (!File.exists(minfile)) {
continue;
}
var str = File.read(minfile);
print("using MIN FILE "+ minfile);
if (str.length) {
- File.append(outpath, str + "\n");
+ File.append(this.target, str + "\n");
+ }
+ if (this.cleanup) {
+ File.remove(minfile);
}
+
}
-
- //File.append(dout, "\n");// end the function
-
+
},
pack : function (str,fn,minfile)
{
- var tr = new TokenReader();
+ var tr = new TokenReader( { keepDocs :true, keepWhite : true, keepComments : true, sepIdents : true });
this.timerPrint("START" + fn);
// we can load translation map here...
- var toks = tr.tokenize(str,false); // dont merge xxx + . + yyyy etc.
+ var toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
// at this point we can write a language file...
- if (this.translate) {
+ if (this.translateJson) {
this.writeTranslateFile(fn, minfile, tr.translateMap);
}
// and replace if we are generating a different language..
-
-
-
this.timerPrint("Tokenized");
//return;//
- var sp = new ScopeParser(new TokenStream(toks, str.length));
+ var sp = new ScopeParser(new TokenStream(toks));
this.timerPrint("Converted to Parser");
sp.packer = this;
sp.buildSymbolTree();
this.timerPrint("Compressed");
return out;
+
+
},
timerPrint: function (str) {
// print("TURNED OFF");
return tok.outData;
}
- if (tok.qc != '"') {
+ if (tok.name == SINGLE_QUOTE) {
return tok.outData;
}
var sval = tok.data.substring(1,tok.data.length-1);