*/
namespace JSDOC
{
-
+ public errordomain PackerError {
+ ArgumentError
+ }
public class Packer : Object
{
// list of files to compile...
Gee.ArrayList<string> files;
+
+
+ public string activeFile = "";
+
+
public string out = ""; // if no target is specified - then this will contain the result
public Packer(string target, string targetDebug = "")
public void pack()
{
if (this.files.size < 1) {
- throw new Packer.ArgumentError("No Files loaded before pack() called");
+ throw new PackerError.ArgumentError("No Files loaded before pack() called");
}
if (this.target.length > 0 ) {
this.targetStream = File.new_for_path(this.target).replace(null, false,FileCreateFlags.NONE);
// should we prefix? =- or should this be done elsewhere?
var add = f.replace(".", "/") + ".js";
- if (_this.files.contains(add)) {
+ if (this.files.contains(add)) {
continue;
}
- _this.files.add( add );
+ this.files.add( add );
}
}
//this.transOrigFile= bpath + '/../lang.en.js'; // needs better naming...
//File.write(this.transfile, "");
if (this.target.length > 0) {
- this.targetStream.write("");
+ this.targetStream.write("".data);
}
- if (this.debugTarget > 0) {
- this.targetDebugStream.write("");
+ if (this.targetDebugStream != null) {
+ this.targetDebugStream.write("".data);
}
+
+
foreach(var file in this.files) {
print("reading %s\n",file );
if (this.targetDebugStream !=null) {
FileUtils.get_contents(file,out file_contents);
- this.targetDebugStream.write(file_contents);
+ this.targetDebugStream.write(file_contents.data);
loaded_string = false;
}
// it's a good idea to check with 0 compression to see if the code can parse!!
- var minfile = this.tmpDir + '/' + file.replace("/", '.');
+ var minfile = this.tmpDir + "/" + file.replace("/", ".");
// let's see if we have a min file already?
*/
print("MERGING SOURCE");
- for(var i=0; i < this.files.length; i++) {
+ for(var i=0; i < this.files.size; i++) {
var file = this.files[i];
- var minfile = this.tmpDir + '/' + file.replace('/', '.');
+ var minfile = this.tmpDir + "/" + file.replace("/", ".");
- if (!File.exists(minfile)) {
+ if ( FileUtils.test(minfile, FileTest.EXISTS)) {
continue;
}
- var str = File.read(minfile);
- print("using MIN FILE "+ minfile);
- if (str.length) {
+ string str;
+ FileUtils.get_contents(minfile, out str);
+ print("using MIN FILE %s\n", minfile);
+ if (str.length > 0) {
if (this.targetStream != null) {
- this.targetStream.write("//" + file + "\n");
- this.targetStream.write(str + "\n");
+ this.targetStream.write(("//" + file + "\n").data);
+ this.targetStream.write((str + "\n").data);
} else {
this.out += "//" + file + "\n";
}
print("Output file: " + this.target);
- if (this.debugTarget) print("Output debug file: " + this.debugTarget);
+ if (this.targetDebug.length > 0) {
+ print("Output debug file: " + this.targetDebug);
+ }
tr.sepIdents = true;
tr.collapseWhite = false;
tr.filename = fn;
-
- this.timerPrint("START" + fn);
-
+
// we can load translation map here...
var toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
- if (out.length > 0) {
- FileUtils.put_contents(minfile, outf);
+ if (outf.length > 0) {
+ FileUtils.set_contents(minfile, outf);
}
public string md5(string str)
{
- return GLib.compute_checksum_for_string(GLib.ChecksumType.MD5, str);
+ return GLib.Checksum.compute_for_string(GLib.ChecksumType.MD5, str);
}