public static CrawlCompilerConfiguration Parse(string[] args) { CrawlCompilerConfiguration configuration = new CrawlCompilerConfiguration(); TargetStage defaultTargetStage = configuration.TargetStage; configuration.TargetStage = (TargetStage)(-1); for (int index = 0; index < args.Length; index++) { string arg = args[index]; if (arg.StartsWith("--")) { string longarg = arg.Substring(2); SwitchOnLongargs(configuration, longarg); } else if (arg.StartsWith("-")) { string multiargs = arg.Substring(1); foreach (char c in multiargs) { SwitchOnCharargs(configuration, c); } } else { configuration.Files.Add(arg); } } if (configuration.TargetStage < 0) { configuration.TargetStage = defaultTargetStage; } if (args.Length == 0) { configuration.PrintHelp = true; } return(configuration); }
private static void SetStage(CrawlCompilerConfiguration crawlCompilerConfiguration, TargetStage stage) { if (crawlCompilerConfiguration.TargetStage >= 0) { throw new MutalExcluseiveOptionsException(crawlCompilerConfiguration.TargetStage.ToString(), stage.ToString()); } crawlCompilerConfiguration.TargetStage = stage; }