JSDOC/Packer.js
[gnome.introspection-doc-generator] / JSDOC / Packer.js
index 0a50222..1f5525b 100644 (file)
@@ -10,6 +10,7 @@ CompressWhite   = imports.CompressWhite.CompressWhite;
 Collapse        = imports.Collapse.Collapse;
 
 GLib = imports.gi.GLib;
+Gio = imports.gi.Gio;
 /**
  * @namespace JSDOC
  * @class  Packer
@@ -93,6 +94,7 @@ Packer = function(cfg)
         var outname = this.module ? this.module : GLib.path_get_basename(dirname);
         this.target = dirname + '/compiled/' + outname + '-' + version + '.js';
         link = dirname + '/compiled/' + outname + '.js';
+        linkTarget = './' + GLib.path_get_basename(this.target);
         if (File.exists(this.target)) {
             print("Target file already exists");
             Seed.quit();
@@ -107,8 +109,11 @@ Packer = function(cfg)
     this.packAll();
     
     if (link) {
-        var f = Gio.file_new_for_path(this.target);
-        f.create_symbolic_link(link);
+        if (File.exists(link)) {
+            File.remove(link);
+        }
+        var f = Gio.file_new_for_path(link);
+        f.make_symbolic_link(linkTarget);
     }