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 },
- { "files-from", 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)
Object(
application_id: "org.roojs.jsdoc.packerrun",
- flags: ApplicationFlags.FLAGS_NONE
+ flags: ApplicationFlags.HANDLES_COMMAND_LINE
);
try {
opt_context.set_help_enabled (true);
opt_context.add_main_entries (options, null);
- opt_context.parse (ref args);
+ if (!opt_context.parse ( ref args)) {
+ print("options parse error");
+ GLib.Process.exit(Posix.EXIT_FAILURE);
+ }
+
+
} catch (OptionError e) {
}
// 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 != 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.pack();
+ }
}