public override bool GenerateDocumentation(string outputDirectory, DocumentationGenerationOptions options) { this.outputDirectory = Path.GetFullPath(outputDirectory); this.options = options; try { PrepareOutputDirectory(); OnGeneratingStarted(EventArgs.Empty); GenerateMainIndex(); ExtractStyleSheets(); ExtractJavaScripts(); ExtractGraphics(); ProcessAssemblies(); GenerateTableOfContents(); if (chmFileNameWithoutExtension != null) { GenerateHTMLHelpTableOfContents(); GenerateHTMLHelpProjectFile(); GenerateCHM(); CleanUpCHM(); } OnGeneratingFinished(EventArgs.Empty); return true; } catch (Exception exc) { #if DEBUG Logger.Error(exc.Message + "\n" + Utils.SimplifyStackTrace(exc.StackTrace)); #else Logger.Error(exc.Message); #endif return false; } }
private static void ProcessOptions(List<string> options) { foreach (string option in options) { string opName; string opArg = null; int indexOfColon = option.IndexOf(':'); if (indexOfColon == -1) { opName = option.ToLower(); } else { opName = option.Substring(0, indexOfColon).ToLower(); opArg = indexOfColon + 1 < option.Length ? option.Substring(indexOfColon + 1) : null; } if (opName == "help" || opName == "h") { PrintUsageAndExit(); } else if (opName == "projectname" || opName == "pn") { if (opArg == null) { PrintUsageAndExit(); } projectName = opArg; } else if (opName == "chmname" || opName == "cn") { if (opArg == null) { PrintUsageAndExit(); } chmFileNameWithoutExtension = opArg; if (chmFileNameWithoutExtension.EndsWith(".chm", true, null)) { chmFileNameWithoutExtension = chmFileNameWithoutExtension.Substring(0, chmFileNameWithoutExtension.Length - 4); } } else if (opName == "verboselevel" || opName == "vl") { if (opArg == null) { PrintUsageAndExit(); } if (!Int32.TryParse(opArg, out verboseLevel) || verboseLevel < 0 || verboseLevel > MAX_VERBOSE_LEVEL) { PrintUsageAndExit(); } } else if (opName == "exclude" || opName == "ex") { if (opArg == null) { PrintUsageAndExit(); } excludedFilesNames[opArg.ToLower()] = true; } else if (opName == "exnamespace" || opName == "exn") { if (opArg == null) { PrintUsageAndExit(); } excludedNamespaces.Add(opArg.ToLower()); } else if (opName == "outputdirectory" || opName == "od") { if (opArg == null) { PrintUsageAndExit(); } if (Path.GetFileName(opArg) == "") { Console.WriteLine("Error: Enter non-empty output directory."); Environment.Exit(1); } outputDirectory = opArg; } else if (opName == "forcedelete" || opName == "fd") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.DeleteOutputDirIfItExists; } else if (opName == "includeinternalmembers" || opName == "iim") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.IncludeInternalMembers; } else if (opName == "includeprivatemembers" || opName == "ipm") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.IncludePrivateMembers; } else { PrintUsageAndExit(); } } }
public abstract bool GenerateDocumentation(string outputDirectory, DocumentationGenerationOptions options);
private static void ProcessOptions(List <string> options) { foreach (string option in options) { string opName; string opArg = null; int indexOfColon = option.IndexOf(':'); if (indexOfColon == -1) { opName = option.ToLower(); } else { opName = option.Substring(0, indexOfColon).ToLower(); opArg = indexOfColon + 1 < option.Length ? option.Substring(indexOfColon + 1) : null; } if (opName == "help" || opName == "h") { PrintUsageAndExit(); } else if (opName == "projectname" || opName == "pn") { if (opArg == null) { PrintUsageAndExit(); } projectName = opArg; } else if (opName == "chmname" || opName == "cn") { if (opArg == null) { PrintUsageAndExit(); } chmFileNameWithoutExtension = opArg; if (chmFileNameWithoutExtension.EndsWith(".chm", true, null)) { chmFileNameWithoutExtension = chmFileNameWithoutExtension.Substring(0, chmFileNameWithoutExtension.Length - 4); } } else if (opName == "verboselevel" || opName == "vl") { if (opArg == null) { PrintUsageAndExit(); } if (!Int32.TryParse(opArg, out verboseLevel) || verboseLevel < 0 || verboseLevel > MAX_VERBOSE_LEVEL) { PrintUsageAndExit(); } } else if (opName == "exclude" || opName == "ex") { if (opArg == null) { PrintUsageAndExit(); } excludedFilesNames[opArg.ToLower()] = true; } else if (opName == "excludenamespace" || opName == "exn") { if (opArg == null) { PrintUsageAndExit(); } excludedNamespaces.Add(opArg.ToLower()); } else if (opName == "outputdirectory" || opName == "od") { if (opArg == null) { PrintUsageAndExit(); } if (Path.GetFileName(opArg) == "") { Console.WriteLine("Error: Enter non-empty output directory."); Environment.Exit(1); } outputDirectory = opArg; } else if (opName == "forcedelete" || opName == "fd") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.DeleteOutputDirIfItExists; } else if (opName == "includeinternalmembers" || opName == "iim") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.IncludeInternalMembers; } else if (opName == "includeprivatemembers" || opName == "ipm") { if (opArg != null) { PrintUsageAndExit(); } docGenOptions |= DocumentationGenerationOptions.IncludePrivateMembers; } else { PrintUsageAndExit(); } } }
public abstract bool GenerateDocumentation(string outputDirectory, DocumentationGenerationOptions options);