/** the application -- in theory this code can be used as a library... but this is the standard command line version... */ namespace JSDOC { class PackerRun : Gtk.Application { const OptionEntry[] options = { { "project", 0, 0, OptionArg.STRING, ref opt_compile_project, "Compile a project", null }, { "target", 0, 0, OptionArg.STRING, ref opt_compile_target, "Target to build", null }, { "skip-file", 0, 0, OptionArg.STRING, ref opt_compile_skip ,"For test compiles do not add this (usually used in conjunction with add-file ", null }, { "add-file", 0, 0, OptionArg.STRING, ref opt_compile_add, "Add this file to compile list", null }, { "output", 0, 0, OptionArg.STRING, ref opt_compile_output, "output binary file path", null }, { "debug", 0, 0, OptionArg.NONE, ref opt_debug, "Show debug messages", null }, { null } }; public static string opt_compile_project; public static string opt_compile_target; public static string opt_compile_skip; public static string opt_compile_add; public static string opt_compile_output; public static bool opt_debug = false; public static string _self; public PackerRun (string[] args) { _self = FileUtils.read_link("/proc/self/exe"); GLib.debug("SELF = %s", _self); Object( application_id: "org.roojs.jsdoc.packerrun", flags: ApplicationFlags.FLAGS_NONE ); var opt_context = new OptionContext ("JSDOC Packer"); try { opt_context.set_help_enabled (true); opt_context.add_main_entries (options, null); opt_context.parse (ref args); } catch (OptionError e) { stdout.printf ("error: %s\n", e.message); stdout.printf ("Run '%s --help' to see a full list of available command line options.\n %s", args[0], opt_context.get_help(true,null)); GLib.Process.exit(Posix.EXIT_FAILURE); } // now run the Packer... } }