JSDOC/Packer.js
[gnome.introspection-doc-generator] / pack.js
1 #!/usr/bin/seed
2 //<script type="text/javascript">
3 /**
4  * packer command line
5  * 
6  * -o Output
7  * -t Translate json file.
8  * -w Cache / working dir.
9  * -C no cleanup (use with -w if you need are using a cache directory.)
10  * -p prefix for translation md5 generator (directory that files are in, and is removed 
11  *    from path when generating an md5 for the translated name.
12  *
13  * compresses files listed as arguments and outputs result
14  */
15
16 Packer          = imports['JSDOC/Packer.js'].Packer;
17 File = imports.File.File;
18  
19   
20
21 var args = Array.prototype.slice.call(Seed.argv);
22 args.shift(); //seed
23 args.shift(); // pack.js
24 var cfg = {
25     files : [],
26     target : false,
27 }
28
29
30 for(var i =0; i < args.length;i++) {
31     if (args[i] == '-o') {
32         cfg.target = args[i+1];
33         i++;
34         continue;
35     }
36     if (args[i] == '-t') {
37         cfg.translateJSON = args[i+1];
38         i++;
39         continue;
40     }
41     if (args[i] == '-w') {
42         cfg.tmpDir = args[i+1];
43         i++;
44         continue;
45     }
46     if (args[i] == '-p') {
47         cfg.prefix = args[i+1];
48         i++;
49         continue;
50     }
51     if (args[i] == '-C') {
52         cfg.cleanup = false;
53         continue;
54     }
55     if (cfg.files.indexOf(args[i]) > -1) {
56         continue; // remove dupes.
57     }
58     cfg.files.push(args[i]);
59 }
60 var pack;
61 try {
62     pack = new Packer(cfg)
63 } catch (e) {
64     print("ERROR " + e.toString());
65     throw e;
66 }
67 if (!pack.target) {
68     print(pack.out);
69 }
70
71