JSDOC/PackerRun.vala
[gnome.introspection-doc-generator] / JSDOC / PackerRun.vala
index c7858d9..9041caf 100644 (file)
@@ -7,45 +7,49 @@
 namespace JSDOC
 {
        // --------------- <<<<<<< <MAIN HERE....
-       public static int main(string[] args) 
+       public static int main(ref string[] args) 
        {
-               new PackerRun(args);
+               new PackerRun(ref args);
                return 0;
        }
 
 
        class PackerRun : Application  
        {
-               const OptionEntry[] options = {
-               
-                       
-                       { "target", 0, 0, OptionArg.STRING, ref opt_target, "Target File to write (eg. roojs.js)", null },
-                       { "debug-target", 0, 0, OptionArg.STRING, ref opt_debug_target, "Target File to write debug code (eg. roojs-debug.js)", null },
-                       { "tmpdir", 0, 0, OptionArg.STRING, ref opt_tmpdir, "Temporary Directory to use", null },
-                       { "file", 0, 0, OptionArg.STRING_ARRAY, ref opt_files ,"add a file to compile", null },
-                       { "index-files", 0, 0, OptionArg.STRING, ref opt_files_from ,"a text file listing files to compile", null },             
-                       { "debug", 0, 0, OptionArg.NONE, ref opt_debug, "Show debug messages", null },
-                       { null }
-               };
                public static string opt_target = "";
                public static string opt_debug_target = "";
                public static string opt_tmpdir = "";
                
                
-               public static string[] opt_files = {};
-               public static string opt_files_from = "";
+               private static string[]? opt_files = null;
+               private static string[]? opt_files_from = null;
                public static bool opt_debug = false;
                
 
+               
+               const OptionEntry[] options = {
+               
+                       { "jsfile", 'f', 0, OptionArg.FILENAME_ARRAY, ref opt_files ,"add a file to compile", null },
+               //      { "target", 't', 0, OptionArg.STRING, ref opt_target, "Target File to write (eg. roojs.js)", null },
+               //      { "debug-target", 'T', 0, OptionArg.STRING, ref opt_debug_target, "Target File to write debug code (eg. roojs-debug.js)", null },
+       //              { "tmpdir", 'm', 0, OptionArg.STRING, ref opt_tmpdir, "Temporary Directory to use", null },
+
+//                     { "index-files", 'i', 0, OptionArg.FILENAME_ARRAY, ref opt_files_from ,"files that contain listing of files to compile", null },                 
+                       { "debug", 0, 0, OptionArg.NONE, ref opt_debug, "Show debug messages", null },
+                       // fixme -- keepwhite.. cleanup 
+                       
+                       { null }
+               };
+               
 
        
-               public PackerRun (string[] args)
+               public PackerRun (ref string[] args)
                {
                
                        Object(
                            application_id: "org.roojs.jsdoc.packerrun",
-                               flags: ApplicationFlags.FLAGS_NONE
+                               flags: ApplicationFlags.HANDLES_COMMAND_LINE 
                        );
                                         
                         
@@ -54,7 +58,12 @@ namespace JSDOC
                        try {
                                opt_context.set_help_enabled (true);
                                opt_context.add_main_entries (options, null);
-                               opt_context.parse (ref args);
+                               if (!opt_context.parse (  args)) {
+                                       print("options parse error");
+                                       GLib.Process.exit(Posix.EXIT_FAILURE);
+                               }
+
+                               
                                 
                                
                        } catch (OptionError e) {
@@ -65,16 +74,27 @@ namespace JSDOC
                                 
                        }
                        // what's required...
-                       
+                       if (opt_debug) {
+                               GLib.Log.set_handler(null, 
+                                       GLib.LogLevelFlags.LEVEL_DEBUG | GLib.LogLevelFlags.LEVEL_WARNING, 
+                                       (dom, lvl, msg) => {
+                                       print("%s: %s\n", dom, msg);
+                               });
+                       }
                        
                        // now run the Packer...
                        var p = new Packer(opt_target, opt_debug_target);
-                       if (opt_files.length > 0) {
-                               p.loadFiles(opt_files);
+                       if (opt_files != null) {
+                               GLib.debug("Adding File %s", string.join(", ",opt_files));
+                               foreach (string f in opt_files) {
+                                       GLib.debug("Adding File %s", f);
+                                       p.loadFile(f);
+                               }
+                       } else {
+                               GLib.debug("No files added");
                        }
-                       p.
-               }       
-               
+                       p.pack();
+               }        
                
        }