コード例 #1
0
ファイル: HTMLDocumenter.cs プロジェクト: Q42/ImmDoc.NET
    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;
      }
    }
コード例 #2
0
ファイル: Program.cs プロジェクト: Q42/ImmDoc.NET
    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();
        }
      }
    }
コード例 #3
0
ファイル: Documenter.cs プロジェクト: PrintFleet/ImmDoc.NET
 public abstract bool GenerateDocumentation(string outputDirectory, DocumentationGenerationOptions options);
コード例 #4
0
        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();
                }
            }
        }
コード例 #5
0
ファイル: Documenter.cs プロジェクト: DinrusGroup/DocServer
 public abstract bool GenerateDocumentation(string outputDirectory, DocumentationGenerationOptions options);