コード例 #1
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Copies the project output to the website.");
     helpWriter.Remarks.Write("Settings:");
     helpWriter.Remarks.Write("    copy-package:package-directory");
     helpWriter.Remarks.Write("        The directory under the website Data Folder to copy to.");
 }
コード例 #2
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Checks the project for warnings and errors.");
     helpWriter.Remarks.Write("SETTINGS:");
     helpWriter.Remarks.Write("  check-project:disabled-categories - Disables checker categories (Items, Fields, Templates, TemplateFields, Media).");
     helpWriter.Remarks.Write("  check-project:disabled-checkers - Disables specific checkers.");
 }
コード例 #3
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Watches the project directory and install changes immediately.");
     helpWriter.Remarks.WriteLine("Settings:");
     helpWriter.Remarks.WriteLine("  watch-project:include - Specifies which files to look for");
     helpWriter.Remarks.WriteLine("  watch-project:exclude - Specifies which files to ignore");
     helpWriter.Remarks.WriteLine("  watch-project:publish-database - Indicates if the database should published after installing the project");
 }
コード例 #4
0
ファイル: Rename.cs プロジェクト: Hafeok/Sitecore.Pathfinder
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Finds all project items that references the specified project item.");
     helpWriter.Remarks.Write("The project item must be fully qualified.");
     helpWriter.Parameters.WriteLine("name - The fully qualified project item to rename.");
     helpWriter.Parameters.WriteLine("to - The new name of the project item.");
     helpWriter.Examples.Write("scc rename /sitecore/content/Home Welcome");
 }
コード例 #5
0
        public override void WriteHelp(HelpWriter helpWriter)
        {
            helpWriter.Summary.Write("Copies the dependency packages to the website.");
            helpWriter.Remarks.Write("The packages dependencies are Nuget packages. The packages are located in the sitecore.project/packages directory. To wrap a Sitecore package (.zip) in a Nuget package use the 'pack-dependencies' task.");

            helpWriter.Remarks.Write("Settings:");
            helpWriter.Remarks.Write("    copy-dependencies:source-directory");
            helpWriter.Remarks.Write("        The directory that contains the packages to copy to the website.");
        }
コード例 #6
0
        public override void WriteHelp(HelpWriter helpWriter)
        {
            helpWriter.Summary.Write("Unpacks and installs the project package (including dependencies) in the website.");

            helpWriter.Remarks.Write("Settings:");
            helpWriter.Remarks.Write("    install-package:check-bin-file-version");
            helpWriter.Remarks.Write("        If true, check the versions of assemblies in /bin before copying.");
            helpWriter.Remarks.Write("    install-package:install-url");
            helpWriter.Remarks.Write("        The URL for installing a package.");
        }
コード例 #7
0
        public override void WriteHelp(HelpWriter helpWriter)
        {
            helpWriter.Summary.Write("Generates code from items and files in the project.");
            helpWriter.Remarks.Write(@"Pathfinder can generate code based on your project. The most obvious thing is to generate a C# class for each template in the project.

To generate code, execute the task `generate-code`. This wil iterate through the elements in the project and check if a code generator is available for that item. If so, the code generator is executed.

Code generators are simply extensions that are located in the /sitecore.project/extensions/codegen directory.

Normally you want to run the `generate-code` task before building an assembly, so the C# source files are up-to-date.");
        }
コード例 #8
0
        public override void WriteHelp(HelpWriter helpWriter)
        {
            helpWriter.Summary.Write("Publishes a Sitecore database (usually the master database).");

            helpWriter.Parameters.Write("    database - name of the database (master, core)");

            helpWriter.Examples.WriteLine($"scc {TaskName}");
            helpWriter.Examples.WriteLine($"scc {TaskName} --database master");

            helpWriter.Remarks.Write("Settings:");
            helpWriter.Remarks.Write("    database");
            helpWriter.Remarks.Write("        The name of the database to publish.");

        }
コード例 #9
0
ファイル: Help.cs プロジェクト: pveller/Sitecore.Pathfinder
        private void WriteCommandHelp([NotNull] IBuildContext context, [NotNull] string taskName)
        {
            var build = context.CompositionService.Resolve<Build>();
            var task = build.Tasks.FirstOrDefault(t => string.Equals(t.TaskName, taskName, StringComparison.OrdinalIgnoreCase));
            if (task == null)
            {
                context.Trace.WriteLine($"Task not found: {taskName}");
                context.Trace.WriteLine(string.Empty);
                WriteListOfTasks(context);
                return;
            }

            var helpWriter = new HelpWriter();
            task.WriteHelp(helpWriter);

            context.Trace.WriteLine("TASK:");
            context.Trace.WriteLine($"  {task.TaskName}");
            context.Trace.WriteLine(string.Empty);

            context.Trace.WriteLine("SUMMARY:");
            context.Trace.WriteLine($"{helpWriter.GetSummary()}");
            context.Trace.WriteLine(string.Empty);

            context.Trace.WriteLine("PARAMETERS:");
            context.Trace.WriteLine($"{helpWriter.GetParameters()}");
            context.Trace.WriteLine(string.Empty);

            context.Trace.WriteLine("REMARKS:");
            context.Trace.WriteLine($"{helpWriter.GetRemarks()}");
            context.Trace.WriteLine(string.Empty);

            context.Trace.WriteLine("EXAMPLES:");
            var examples = helpWriter.GetExamples();
            if (!string.IsNullOrEmpty(examples))
            {
                context.Trace.WriteLine(examples);
            }
            else
            {
                context.Trace.WriteLine($"  scc {task.TaskName}");
            }
        }
コード例 #10
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Synchronizes project and the website.");
     helpWriter.Remarks.WriteLine("Downloads Xml and Json schemas from the website to make item and layout IntelliSense work.");
 }
コード例 #11
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Resets the website.");
     helpWriter.Remarks.WriteLine("Deletes items and files from the website.");
 }
コード例 #12
0
        public override void WriteHelp(HelpWriter helpWriter)
        {
            helpWriter.Summary.Write("Writes export declarations");

            helpWriter.Remarks.Write("Writes export declarations so other packages can use this package.");
        }
コード例 #13
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Shows various information about the project.");
 }
コード例 #14
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Tries to fix a non-working website.");
     helpWriter.Remarks.Write("Republishing the Master database, rebuilds search indexes and rebuild the Link database.");
 }
コード例 #15
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Creates a new Pathfinder project.");
 }
コード例 #16
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Creates a new Visual Studio Code project.");
 }
コード例 #17
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Updates the project/website mapping on the website.");
     helpWriter.Remarks.WriteLine("The 'project-website-mappings' settings enables the serializing data provider on the website to serialize changed items back to the projects.");
     helpWriter.Remarks.WriteLine("This task should be called when the 'project-website-mappings' settings have been changed (or you can just kill the 'w3wp.exe' process or restart IIS).");
 }
コード例 #18
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Imports items and files from the website.");
     helpWriter.Remarks.WriteLine("This task is usually use at the beginning of a project to import existing items and files.");
     helpWriter.Remarks.WriteLine("The task is uses the 'project-website-mappings' configuration to determine which items and files are imported.");
 }
コード例 #19
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Checks the project for warnings and errors.");
 }
コード例 #20
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Removes Pathfinder files and assemblies from the website.");
 }
コード例 #21
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Lists the Sitecore items in the project.");
 }
コード例 #22
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Installs the project directly from the project directory.");
 }
コード例 #23
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Runs a PowerShell, .cmd or .bat script.");
 }
コード例 #24
0
 private static void WriteObservedInputSummaryHelp(HelpWriter writer)
 {
     writer.WriteBanner("Observed Input Summary Analysis");
     writer.WriteModeOption(nameof(AnalysisMode.ObservedInputSummary), "Generates a text file containing summary level information about ObservedInputs");
     writer.WriteOption("outputFile", "Required. The file where to write the results", shortName: "o");
 }
コード例 #25
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
 }
コード例 #26
0
ファイル: Help.cs プロジェクト: pveller/Sitecore.Pathfinder
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Displays version information and a list of commands.");
     helpWriter.Remarks.WriteLine("Displays version information and a list of commands.");
 }
コード例 #27
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Finds all project items that the specified project item references.");
     helpWriter.Remarks.Write("The project item must be fully qualified.");
     helpWriter.Examples.Write("scc find-references /sitecore/content/Home");
 }
コード例 #28
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Creates a Nuget package for Sitecore package in the sitecore.tools\\packages directory.");
     helpWriter.Remarks.Write("Creates a Nuget package for Sitecore package in the sitecore.tools\\packages directory.");
 }
コード例 #29
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Lists the project items (Sitecore items and files).");
 }
コード例 #30
0
ファイル: Help.cs プロジェクト: pveller/Sitecore.Pathfinder
        private void WriteListOfTasks([NotNull] IBuildContext context)
        {
            var build = context.CompositionService.Resolve<Build>();

            foreach (var task in build.Tasks.OrderBy(t => t.TaskName))
            {
                var helpWriter = new HelpWriter();
                task.WriteHelp(helpWriter);

                var summary = helpWriter.GetSummary();
                if (string.IsNullOrEmpty(summary))
                {
                    continue;
                }

                context.Trace.WriteLine($"{task.TaskName} - {summary}");
            }

            var scripts = new List<string>();
            var scriptDirectory = Path.Combine(context.ToolsDirectory, "files\\scripts");
            if (context.FileSystem.DirectoryExists(scriptDirectory))
            {
                scripts = context.FileSystem.GetFiles(scriptDirectory).Select(Path.GetFileName).ToList();
            }

            scriptDirectory = Path.Combine(context.ProjectDirectory, "sitecore.project\\scripts");
            if (context.FileSystem.DirectoryExists(scriptDirectory))
            {
                scripts.AddRange(context.FileSystem.GetFiles(scriptDirectory).Select(Path.GetFileName));
            }

            if (!scripts.Any())
            {
                return;
            }

            context.Trace.WriteLine("");
            context.Trace.WriteLine("SCRIPTS:");

            foreach (var script in scripts.OrderBy(t => t))
            {
                context.Trace.WriteLine(script);
            }
        }
コード例 #31
0
 public override void WriteHelp(HelpWriter helpWriter)
 {
     helpWriter.Summary.Write("Creates packages from the project.");
     helpWriter.Remarks.Write("The Nuget specifications and Nuget packages are located in the /sitecore.project folder.");
 }
コード例 #32
0
        // BUG: should display list of available qualifiers
        // BUG: should display list of available filter tags
        public static void DisplayHelp(HelpLevel helpLevel)
        {
            var hw = new HelpWriter(helpLevel);

            hw.WriteBanner(Strings.HelpText_DisplayHelp_BuildBanner);

            #region Build
            hw.WriteOption(
                "/config:<file>",
                Strings.HelpText_DisplayHelp_ConfigFile);

            hw.WriteOption(
                "/additionalConfigFile:<file>*",
                Strings.HelpText_DisplayHelp_AdditionalConfigFile,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/qualifier:<qualifier list>",
                Strings.HelpText_DisplayHelp_Qualifiers);

            hw.WriteOption(
                "/objectDirectory:<output directory>",
                Strings.HelpText_DisplayHelp_Obj);

            hw.WriteOption(
                "/tempDirectory:<temp directory>",
                Strings.HelpText_DisplayHelp_TempDirectory,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/property:<key>=<value>",
                Strings.HelpText_DisplayHelp_Property);

            hw.WriteOption(
                "<paths>",
                Strings.HelpText_DisplayHelp_Paths);
            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_FilteringBanner);

            #region Filtering
            hw.WriteLine(Strings.HelpText_DisplayHelp_FilteringInfo);
            hw.WriteLine();

            hw.WriteOption(
                "/filter:<deps><filter>",
                Strings.HelpText_DisplayHelp_Filter);

            hw.WriteOption(
                "<deps>",
                Strings.HelpText_DisplayHelp_DependencySelection,
                HelpLevel.Verbose);

            hw.WriteOption(
                "<filter>",
                Strings.HelpText_DisplayHelp_Filter_Expression,
                HelpLevel.Verbose);

            hw.WriteLine(Strings.HelpText_DisplayHelp_FilterTypeExplanation, HelpLevel.Verbose);
            hw.WriteLine(HelpLevel.Verbose);

            hw.WriteOption(
                "id",
                Strings.HelpText_DisplayHelp_Filter_Id,
                HelpLevel.Verbose);

            hw.WriteOption(
                "output",
                Strings.HelpText_DisplayHelp_Filter_Output + " " +
                Strings.HelpText_DisplayHelp_Filter_PathArgument,
                HelpLevel.Verbose);

            hw.WriteOption(
                "input",
                Strings.HelpText_DisplayHelp_Filter_Input + " " +
                Strings.HelpText_DisplayHelp_Filter_PathArgument,
                HelpLevel.Verbose);

            hw.WriteOption(
                "tag",
                Strings.HelpText_DisplayHelp_Filter_Tag,
                HelpLevel.Verbose);

            hw.WriteOption(
                "value",
                Strings.HelpText_DisplayHelp_Filter_Value,
                HelpLevel.Verbose);
            hw.WriteOption(
                "valuetransitive",
                Strings.HelpText_DisplayHelp_Filter_ValueTransitive,
                HelpLevel.Verbose);

            hw.WriteOption(
                "spec",
                Strings.HelpText_DisplayHelp_Filter_Spec + " " +
                Strings.HelpText_DisplayHelp_Filter_PathArgument,
                HelpLevel.Verbose);
            hw.WriteOption(
                "spec_valuetransitive",
                Strings.HelpText_DisplayHelp_Filter_Spec_ValueTransitive,
                HelpLevel.Verbose);
            hw.WriteOption(
                "specref",
                Strings.HelpText_DisplayHelp_Filter_SpecDependencies,
                HelpLevel.Verbose);

            hw.WriteLine(Strings.HelpText_DisplayHelp_FilterFunctionExplanation, HelpLevel.Verbose);
            hw.WriteOption("dpt",
                           Strings.HelpText_DisplayHelp_Filter_DependentsFunction,
                           HelpLevel.Verbose);
            hw.WriteOption("dpc",
                           Strings.HelpText_DisplayHelp_Filter_DependenciesFunction,
                           HelpLevel.Verbose);
            hw.WriteOption("copydpt",
                           Strings.HelpText_DisplayHelp_Filter_CopyDependentsFunction,
                           HelpLevel.Verbose);
            hw.WriteOption("requiredfor",
                           Strings.HelpText_DisplayHelp_Filter_RequiredInputsFunction,
                           HelpLevel.Verbose);
            hw.WriteLine(HelpLevel.Verbose);

            hw.WriteLine(Strings.HelpText_DisplayHelp_Filter_Examples,
                         HelpLevel.Verbose);

            // Note to maintainer: if you're changing one of those samples,
            // make sure that they're valid by testing them in FilterParserTests.
            hw.WriteOption(
                "  /f:~(tag='test')",
                Strings.HelpText_DisplayHelp_FilterExampleNoTest,
                HelpLevel.Verbose);
            hw.WriteOption(
                "  /f:+spec='src\\utilities\\*'",
                Strings.HelpText_DisplayHelp_FilterExampleDirectory,
                HelpLevel.Verbose);
            hw.WriteOption(
                "  /f:(tag='csc.exe'and~(tag='test'))",
                Strings.HelpText_DisplayHelp_Filter_ExamplesBinaryFilter,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/canonicalizeFilterOutputs[+|-]",
                Strings.HelpText_DisplayHelp_CanonicalizeFilterOutputs);

            // TODO: This option is DScript only. It isn't shown in the help text because we have the goal of
            // removing it and unifying it with the standard filtering above.
            // hw.WriteOption("scriptFile"
            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_LoggingBanner);

            #region Logging

            hw.WriteOption(
                "/logsDirectory:<path>",
                Strings.HelpText_DisplayHelp_LogsDirectory);

            hw.WriteOption(
                "/logPrefix:<string>",
                Strings.HelpText_DisplayHelp_LogPrefix,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logsToRetain:<number>",
                Strings.HelpText_DisplayHelp_LogsToRetain,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/customLog:<file>=<id list>",
                Strings.HelpText_DisplayHelp_CustomLog,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/noLog:<id list>",
                Strings.HelpText_DisplayHelp_NoLog,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/consoleVerbosity:<level>",
                Strings.HelpText_DisplayHelp_ConsoleVerbosity,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fileVerbosity:<level>",
                Strings.HelpText_DisplayHelp_FileVerbosity,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logExecution[+|-]",
                Strings.HelpText_DisplayHelp_LogExecution,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/noLog:<id list>",
                Strings.HelpText_DisplayHelp_NoExecutionLog,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logProcesses[+|-]",
                Strings.HelpText_DisplayHelp_LogProcesses,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logProcessData[+|-]",
                Strings.HelpText_DisplayHelp_LogProcessData,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logFileAccessTables[+|-]",
                Strings.HelpText_DisplayHelp_LogFileEnforcementTables,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logObservedFileAccesses[+|-]",
                Strings.HelpText_DisplayHelp_LogObservedAccesses,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logOutput:<option>",
                Strings.HelpText_DisplayHelp_LogOutput,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/environment:<environment>",
                string.Format(
                    CultureInfo.InvariantCulture,
                    Strings.HelpText_DisplayHelp_Environment, string.Join(",", Enum.GetNames(typeof(BuildXL.Utilities.Configuration.ExecutionEnvironment)))),
                HelpLevel.Verbose);

            hw.WriteOption(
                "/remoteTelemetry[+|-]",
                Strings.HelpText_DisplayHelp_RemoteTelemetry);

            hw.WriteOption(
                "/replayWarnings[+|-]",
                Strings.HelpText_DisplayHelp_ReplayWarnings);

            hw.WriteOption(
                "/logStats[+|-]",
                Strings.HelpText_DisplayHelp_LogStats,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logStatus[+|-]",
                Strings.HelpText_DisplayHelp_LogStatus,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/traceInfo:<Key>=<Value>",
                Strings.HelpText_DisplayHelp_TraceInfo,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logCounters[+|-]",
                Strings.HelpText_DisplayHelp_LogCounters,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logMemory[+|-]",
                Strings.HelpText_DisplayHelp_LogMemory,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/storeFingerprints[+|-]",
                Strings.HelpText_DisplayHelp_StoreFingerprints,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/storeFingerprints:<Default|ExecutionFingerprintsOnly|IgnoreExistingEntries>",
                Strings.HelpText_DisplayHelp_StoreFingerprintsWithMode,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/substSource:[path]",
                Strings.HelpText_DisplayHelp_SubstSource,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/substTarget:[path]",
                Strings.HelpText_DisplayHelp_SubstTarget,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fancyConsole[+|-]",
                Strings.HelpText_DisplayHelp_FancyConsole,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fancyConsoleMaxStatusPips:<number>",
                Strings.HelpText_DisplayHelp_FancyConsoleMaxStatusPips,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/profileScript[+|-]",
                Strings.HelpText_DisplayHelp_ProfileScript,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/profileReportDestination:[path]",
                string.Format(
                    CultureInfo.InvariantCulture,
                    Strings.HelpText_DisplayHelp_ProfileReportDestination,
                    FrontEndConfigurationExtensions.DefaultProfileReportFilename),
                HelpLevel.Verbose);
            hw.WriteOption(
                "/trackBuildsInUserFolder[+-]",
                Strings.HelpText_DisplayHelp_TrackBuildsInUserFolder,
                HelpLevel.Verbose
                );
            hw.WriteOption(
                "/trackMethodInvocations[+|-]",
                string.Format(
                    CultureInfo.InvariantCulture,
                    Strings.HelpText_DisplayHelp_TrackMethodInvocations),
                HelpLevel.Verbose);

            hw.WriteOption(
                "/useCustomPipDescriptionOnConsole[+|-]",
                Strings.HelpText_DisplayHelp_UseCustomPipDescriptionOnConsole,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cacheMiss[+|-|<path>|{<changeset list}]",
                Strings.HelpText_DisplayHelp_CacheMiss,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scriptShowSlowest[+|-]",
                Strings.HelpText_DisplayHelp_ScriptShowSlowest,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scriptShowLargest[+|-]",
                Strings.HelpText_DisplayHelp_ScriptShowLargest,
                HelpLevel.Verbose);

            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_ErrorsAndWarningsBanner);

            #region ErrorsAndWarnings
            hw.WriteOption(
                "/warnAsError[+|-]",
                Strings.HelpText_DisplayHelp_WarnAsError,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/warnAsError[+|-]:<warn list>",
                Strings.HelpText_DisplayHelp_WarnAsErrorWithList,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/noWarn:<warn list>",
                Strings.HelpText_DisplayHelp_NoWarn,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/stopOnFirstError[+|-]",
                Strings.HelpText_DisplayHelp_StopOnFirstError);

            hw.WriteOption(
                "/color[+|-]",
                Strings.HelpText_DisplayHelp_Color,
                HelpLevel.Verbose);
            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_CachingBanner);

            #region Caching
            hw.WriteOption(
                "/allowFetchingCachedGraphFromContentCache",
                Strings.HelpText_DisplayHelp_AllowFetchingCachedGraphFromContentCache,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cacheConfigFilePath:<file>",
                Strings.HelpText_DisplayHelp_CacheConfigFilePath);

            hw.WriteOption(
                "/cacheDirectory:<artifact cache directory>",
                Strings.HelpText_DisplayHelp_CacheDirectory);

            hw.WriteOption(
                "/cacheSessionName:<unique session name>",
                Strings.HelpText_DisplayHelp_CacheSessionName,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cacheGraph[+|-]",
                Strings.HelpText_DisplayHelp_CacheGraph,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cacheSpecs[+|-]",
                Strings.HelpText_DisplayHelp_CacheSpecs,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cacheMemoryUsage[+|-]",
                Strings.HelpText_DisplayHelp_CacheMemoryUsage,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/compressGraphFiles[+|-]",
                Strings.HelpText_DisplayHelp_CompressGraphFiles,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/determinismProbe[+|-]",
                Strings.HelpText_DisplayHelp_DeterminismProbeUsage,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/engineCacheDirectory:<engine cache directory>",
                Strings.HelpText_DisplayHelp_EngineCacheDirectory,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/reuseEngineState[+|-]",
                Strings.HelpText_DisplayHelp_ReuseEngineState,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/reuseOutputsOnDisk[+|-]",
                Strings.HelpText_DisplayHelp_ReuseOutputsOnDisk,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/server[+|-]",
                Strings.HelpText_DisplayHelp_Server);

            hw.WriteOption(
                "/serverMaxIdleTimeInMinutes",
                Strings.HelpText_DisplayHelp_ServerMaxIdleTimeInMinutes);

            hw.WriteOption(
                "/serverDeploymentDir",
                Strings.HelpText_DisplayHelp_ServerDeploymentDir,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/storeOutputsToCache",
                Strings.HelpText_DisplayHelp_StoreOutputsToCache,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/verifyCacheLookupPin[+|-]",
                Strings.HelpText_DisplayHelp_VerifyCacheLookupPin,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/pinCachedOutputs[+|-]",
                Strings.HelpText_DisplayHelp_PinCachedOutputs,
                HelpLevel.Verbose);


            hw.WriteOption(
                "/pathSetThreshold",
                Strings.HelpText_DisplayHelp_PathSetThreshold,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/augmentingPathSetCommonalityFactor:(0, 1]",
                Strings.HelpText_DisplayHelp_AugmentingPathSetCommonalityFactor,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/vfsCasRoot<vfs cas root directory>",
                Strings.HelpText_DisplayHelp_VfsCasRoot,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/enableDedupChunk[+|-]",
                Strings.HelpText_DisplayHelp_EnableDedupChunk,
                HelpLevel.Verbose);

            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_ExecutionControlBanner);

            #region ExecutionControl
            hw.WriteOption(
                "/incremental[+|-]",
                Strings.HelpText_DisplayHelp_Incremental);

            hw.WriteOption(
                "/incrementalScheduling[+|-]",
                Strings.HelpText_DisplayHelp_IncrementalScheduling);

            hw.WriteOption(
                "/useHardlinks[+|-]",
                Strings.HelpText_DisplayHelp_UseHardlinks,
                HelpLevel.Verbose);

            // This feature is used to support distributed build tests internally but is not an externally supported feature.
            // Don't include it in help text

            /*
             * hw.WriteOption(
             *  "/rootMap:<drive letter>=<path>",
             *  Strings.HelpText_DisplayHelp_RootMap,
             *  HelpLevel.Verbose);*/

            hw.WriteOption(
                "/injectCacheMisses:<rate and options>",
                Strings.HelpText_DisplayHelp_InjectCacheMisses,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/pipDefaultTimeout:<ms>",
                Strings.HelpText_DisplayHelp_PipTimeout);

            hw.WriteOption(
                "/pipDefaultWarningTimeout:<ms>",
                Strings.HelpText_DisplayHelp_PipWarningTimeout);

            hw.WriteOption(
                "/pipTimeoutMultiplier:<float>",
                Strings.HelpText_DisplayHelp_PipTimeoutMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/pipWarningTimeoutMultiplier:<float>",
                Strings.HelpText_DisplayHelp_PipWarningTimeoutMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/maxProc:<number of concurrent processes>",
                Strings.HelpText_DisplayHelp_MaxProc);

            hw.WriteOption(
                "/maxProcMultiplier:<double>",
                Strings.HelpText_DisplayHelp_MaxProcMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/maxLightProc:<number of concurrent light processes>",
                Strings.HelpText_DisplayHelp_MaxLightProc);

            hw.WriteOption(
                "/maxIO:<number of concurrent I/O operations>",
                Strings.HelpText_DisplayHelp_MaxIO);

            hw.WriteOption(
                "/maxIOMultiplier:<double>",
                Strings.HelpText_DisplayHelp_MaxIOMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/maxCacheLookup:<number of concurrent cache lookup operations>",
                Strings.HelpText_DisplayHelp_MaxCacheLookup);

            hw.WriteOption(
                "/maxChooseWorker:<number of concurrent choose worker operations>",
                Strings.HelpText_DisplayHelp_MaxCacheLookup);

            hw.WriteOption(
                "/maxMaterialize:<number of concurrent materialize operations>",
                Strings.HelpText_DisplayHelp_MaxMaterialize);

            hw.WriteOption(
                "/lowPriority[+|-]",
                Strings.HelpText_DisplayHelp_LowPriority);

            hw.WriteOption(
                "/maxRamUtilizationPercentage:<number>",
                Strings.HelpText_DisplayHelp_MaxRamUtilizationPercentage,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/minAvailableRamMb:<number>",
                Strings.HelpText_DisplayHelp_MinAvailableRam,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/phase:<engine phase>",
                Strings.HelpText_DisplayHelp_Phase);

            hw.WriteOption(
                "/maxRelativeOutputDirectoryLength:<characters>",
                Strings.HelpText_DisplayHelp_MaxRelativeOutputDirectoryLength,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/buildLockPolling:<seconds>",
                Strings.HelpText_DisplayHelp_BuildLockPolling,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/buildWaitTimeout:<minutes>",
                Strings.HelpText_DisplayHelp_BuildWaitTimeout,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/enableLazyOutputs[+|-]",
                Strings.HelpText_DisplayHelp_EnableLazyOutputs,
                HelpLevel.Verbose);
            hw.WriteOption(
                "/cleanTempDirectories[+|-]",
                Strings.HelpText_DisplayHelp_CleanTempDirectories,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/cleanOnly[+|-]",
                Strings.HelpText_DisplayHelp_CleanOnly,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scrub[+|-]",
                Strings.HelpText_DisplayHelp_Scrub,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scrubDirectory:<path>",
                Strings.HelpText_DisplayHelp_ScrubDirectory,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/analyzeDependencyViolations[+|-]",
                Strings.HelpText_DisplayHelp_AnalyzeDependencyViolations,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/emitSpotlightIndexingWarning[+|-]",
                Strings.HelpText_DisplayHelp_EmitSpotlightIndexingWarning,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/disableConHostSharing[+|-]",
                Strings.HelpText_DisplayHelp_DisableConHostSharing,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scanChangeJournal[+|-]",
                Strings.HelpText_DisplayHelp_ScanChangeJournal,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/scanChangeJournalTimeLimitInSec:<seconds>",
                Strings.HelpText_DisplayHelp_ScanChangeJournalTimeLimitInSec,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fileSystemMode<option>",
                Strings.HelpText_DisplayHelp_FileSystemMode,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/flushPageCacheToFileSystemOnStoringOutputsToCache[+|-]",
                Strings.HelpText_DisplayHelp_FlushPageCacheToFileSystemOnStoringOutputsToCache,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_forceSkipDeps[+|-]",
                Strings.HelpText_DisplayHelp_ForceSkipDependencies,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/normalizeReadTimestamps[+|-]",
                Strings.HelpText_DisplayHelp_NormalizeReadTimestamps,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/useLargeNtClosePreallocatedList[+|-]",
                Strings.HelpText_DisplayHelp_UseLargeNtClosePreallocatedList,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/useExtraThreadToDrainNtClose[+|-]",
                Strings.HelpText_DisplayHelp_UseExtraThreadToDrainNtClose,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/maskUntrackedAccesses[+|-]",
                Strings.HelpText_DisplayHelp_MaskUntrackedAccesses,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/treatDirectoryAsAbsentFileOnHashingInputContent[+|-]",
                Strings.HelpText_DisplayHelp_TreatDirectoryAsAbsentFileOnHashingInputContent,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_AllowCopySymlink[+|-]",
                Strings.HelpText_DisplayHelp_AllowCopySymlink,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/server[+|-]",
                Strings.HelpText_DisplayHelp_Server);

            hw.WriteOption(
                "/serverDeploymentDir",
                Strings.HelpText_DisplayHelp_ServerDeploymentDir,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/processRetries:<number of retries>",
                Strings.HelpText_DisplayHelp_ProcessRetries,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fileChangeTrackerInitializationMode:<mode>",
                Strings.HelpText_DisplayHelp_FileChangeTrackerInitializationMode,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fileChangeTrackingExclusionRoot:<path>",
                Strings.HelpText_DisplayHelp_FileChangeTrackingExclusionRoot,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/fileChangeTrackingInclusionRoot:<path>",
                Strings.HelpText_DisplayHelp_FileChangeTrackingInclusionRoot,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/inferNonExistenceBasedOnParentPathInRealFileSystem[+|-]",
                Strings.HelpText_DisplayHelp_InferNonExistenceBasedOnParentPathInRealFileSystem,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/outputMaterializationExclusionRoot:<path>",
                Strings.HelpText_DisplayHelp_OutputMaterializationExclusionRoot,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/enforceAccessPoliciesOnDirectoryCreation[+|-]",
                Strings.HelpText_DisplayHelp_EnforceAccessPoliciesOnDirectoryCreation,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/useFileContentTable[+|-]",
                Strings.HelpText_DisplayHelp_UseFileContentTable,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/adminRequiredProcessExecutionMode:<mode>",
                Strings.HelpText_DisplayHelp_AdminRequiredProcessExecutionMode,
                HelpLevel.Verbose);
            #endregion

            hw.WriteBanner(
                Strings.HelpText_DisplayHelp_DistributedBuildBanner,
                HelpLevel.Verbose);

            #region DistributedBuild

            hw.WriteOption(
                "/distributeCacheLookups[+|-]",
                Strings.HelpText_DisplayHelp_DistributeCacheLookups,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/distributedBuildRole:<distributed build role>",
                Strings.HelpText_DisplayHelp_DistributedBuildRole,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/distributedBuildServicePort:<local TCP port>",
                Strings.HelpText_DisplayHelp_DistributedBuildServicePort,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/distributedBuildWorker:<IP address or host name>:<local TCP port>",
                Strings.HelpText_DisplayHelp_DistributedBuildWorker,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/enableWorkerSourceFileMaterialization[+|-]",
                Strings.HelpText_DisplayHelp_DistributedBuildWorkerSourceMaterialization,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/masterCpuMultiplier:<double>",
                Strings.HelpText_DisplayHelp_MasterCpuMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/masterCacheLookupMultiplier:<double>",
                Strings.HelpText_DisplayHelp_MasterCacheLookupMultiplier,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/validateDistribution:[+|-]",
                Strings.HelpText_DisplayHelp_ValidateDistribution,
                HelpLevel.Verbose);
            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_DiagBanner);

            #region Diagnostics
            hw.WriteOption(
                "/diagnostic:<area>",
                Strings.HelpText_DisplayHelp_Diagnostic);

            hw.WriteOption(
                "/experiment.<flag>[+|-]",
                GetExperimentalFlagHelp());

            hw.WriteOption(
                "/breakOnUnexpectedFileAccess[+|-]",
                Strings.HelpText_DisplayHelp_BreakOnUnexpectedFileAccess,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_AllowMissingOutput:<filename>",
                Strings.HelpText_DisplayHelp_AllowMissingOutputs,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/TranslateDirectory:<fromPath>::<toPath>",
                Strings.HelpText_DisplayHelp_TranslateDirectory,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_MonitorFileAccesses[+|-]",
                Strings.HelpText_DisplayHelp_EnforceFileAccesses);

            hw.WriteOption(
                "/unsafe_IgnoreZwRenameFileInformation[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreZwRenameFileInformation,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreZwOtherFileInformation[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreZwOtherFileInformation,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreNonCreateFileReparsePoints[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreNonCreateFileReparsePoints,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreSetFileInformationByHandle[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreSetFileInformationByHandle,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreReparsePoints[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreReparsePoints,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnorePreloadedDlls[+|-]",
                Strings.HelpText_DisplayHelp_IgnorePreloadedDlls,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreDynamicWritesOnAbsentProbes[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreDynamicWritesOnAbsentProbes,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/sandboxKind:<sandbox kind>",
                Strings.HelpText_DisplayHelp_SandboxKind,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_DisableDetours[+|-]",
                Strings.HelpText_DisplayHelp_DisableDetours,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/logProcessDetouringStatus[+|-]",
                Strings.HelpText_DisplayHelp_LogProcessDetouringStatus,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/hardExitOnErrorInDetours[+|-]",
                Strings.HelpText_DisplayHelp_HardExitOnErrorInDetours,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/checkDetoursMessageCount[+|-]",
                Strings.HelpText_DisplayHelp_CheckDetoursMessageCount,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/allowInternalDetoursErrorNotificationFile[+|-]",
                Strings.HelpText_DisplayHelp_AllowInternalDetoursErrorNotificationFile,
                HelpLevel.Verbose);

#if PLATFORM_OSX
            hw.WriteOption(
                "/kextNumberOfKextConnections:<number>",
                Strings.HelpText_DisplayHelp_KextNumberOfKextConnections,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/kextReportQueueSizeMb:<number>",
                Strings.HelpText_DisplayHelp_KextReportQueueSizeMb,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/kextThrottleCpuUsageBlockThresholdPercent:<number>",
                Strings.HelpText_DisplayHelp_KextThrottleCpuUsageBlockThresholdPercent,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/kextThrottleCpuUsageWakeupThresholdPercent:<number>",
                Strings.HelpText_DisplayHelp_KextThrottleCpuUsageWakeupThresholdPercent,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/KextThrottleMinAvailableRamMB:<number>",
                Strings.HelpText_DisplayHelp_KextThrottleMinAvailableRamMB,
                HelpLevel.Verbose);
#endif

            hw.WriteOption(
                "/unsafe_ExistingDirectoryProbesAsEnumerations[+|-]",
                Strings.HelpText_DisplayHelp_ExistingDirectoryProbesAsEnumerations,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_ignoreGetFinalPathNameByHandle[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreGetFinalPathNameByHandle,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreNtCreateFile[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreNtCreateFile,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_IgnoreZwCreateOpenQueryFamily[+|-]",
                Strings.HelpText_DisplayHelp_IgnoreZwCreateOpenQueryFamily,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_OptimizedAstConversion[+|-]",
                Strings.HelpText_DisplayHelp_OptimizedAstConversion,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_PreserveOutputs[+|-|:Reset]",
                Strings.HelpText_DisplayHelp_PreserveOutputs,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/unsafe_UnexpectedFileAccessesAreErrors[+|-]",
                Strings.HelpText_DisplayHelp_UnexpectedFileAccessesAreErrors,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/debug_LoadGraph:<fingerprint | path | name>",
                Strings.HelpText_DisplayHelp_LoadGraph,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/launchDebugger",
                Strings.HelpText_DisplayHelp_LaunchDebugger,
                HelpLevel.Verbose);
            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_ScriptBanner);

            #region DScript
            hw.WriteOption(
                "/debugScript[+|-]",
                Strings.HelpText_DisplayHelp_ScriptDebugScript);
            hw.WriteOption(
                "/debuggerBreakOnExit[+|-]",
                Strings.HelpText_DisplayHelp_ScriptDebugScriptBreakOnExit);
            hw.WriteOption(
                "/debuggerPort",
                Strings.HelpText_DisplayHelp_ScriptDebugScriptPort);

            hw.WriteOption(
                "/unsafe_disableCycleDetection[+|-]",
                Strings.HelpText_DisplayHelp_DisableCycleDetection);

            hw.WriteOption(
                "/maxFrontEndConcurrency:<number of processes>",
                Strings.HelpText_DisplayHelp_MaxFrontEndConcurrency);

            hw.WriteOption(
                "/enableIncrementalFrontEnd:[+|-]",
                Strings.HelpText_DisplayHelp_EnableIncrementalFrontEnd);

            hw.WriteOption(
                "/maxTypeCheckingConcurrency[+|-]",
                Strings.HelpText_DisplayHelp_MaxTypeCheckingConcurrency);

            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_MsBuildBanner);

            #region MSBuild

            hw.WriteOption(
                "/msbuild.logVerbosity:<q[uiet] | m[inimal] | n[ormal] | d[etailed] | diag[nostic]>",
                Strings.HelpText_DisplayHelp_MsBuild_LogVerbosity);

            hw.WriteOption(
                "/msbuild.enableBinLogTracing[+|-]",
                Strings.HelpText_DisplayHelp_MsBuild_EnableBinLogTracing);

            hw.WriteOption(
                "/msbuild.enableEngineTracing[+|-]",
                Strings.HelpText_DisplayHelp_MsBuild_EnableEngineTracing);

            #endregion

            hw.WriteBanner(Strings.HelpText_DisplayHelp_MiscBanner);

            #region Misc
            hw.WriteOption(
                "/usePartialEvaluation[+|-]",
                Strings.HelpText_DisplayHelp_UsePartialEvaluation,
                HelpLevel.Verbose);

            hw.WriteOption(
                "@<file>",
                Strings.HelpText_DisplayHelp_ResponseFile);

            hw.WriteOption(
                "/help:[standard|verbose]",
                Strings.HelpText_DisplayHelp_Help);

            hw.WriteOption(
                "/interactive[+|-]",
                Strings.HelpText_DisplayHelp_Interactive,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/noLogo",
                Strings.HelpText_DisplayHelp_NoLogo);

            hw.WriteOption(
                "/snap:<file>",
                Strings.HelpText_DisplayHelp_Snapshot,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/snapshotMode:<snapshot mode>",
                Strings.HelpText_DisplayHelp_SnapshotMode,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/viewer:<mode>",
                Strings.HelpText_DisplayHelp_ViewerOptions);

            hw.WriteOption(
                "/relatedActivityId:<guid>",
                Strings.HelpText_DiplayHelp_RelatedActivityId,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/vs[+|-]",
                Strings.HelpText_DiplayHelp_VS);

            hw.WriteOption(
                "/solutionName:<string>",
                Strings.HelpText_DisplayHelp_SolutionName,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/vsOutputSrc[+|-]",
                Strings.HelpText_DisplayHelp_VsOutputSrc,
                HelpLevel.Verbose);

            hw.WriteOption(
                "/symlinkDefinitionFile:<file>",
                Strings.HelpText_DisplayHelp_SymlinkDefinitionFile);

            hw.WriteOption(
                "/inputChanges:<file>",
                Strings.HelpText_DisplayHelp_InputChanges);

            hw.WriteOption(
                "/telemetryTagPrefix:<string>",
                Strings.HelpText_DisplayHelp_TelemetryTagPrefix);

            hw.WriteOption(
                "/populateSymlinkDirectory:<file>",
                Strings.HelpText_DisplayHelp_PopulateSymlinkDirectory);

            hw.WriteOption(
                "/unsafe_LazySymlinkCreation[+|-]",
                Strings.HelpText_DisplayHelp_LazySymlinkCreation);

            hw.WriteOption(
                "/unsafe_LazySymlinkCreation[+|-]",
                Strings.HelpText_DisplayHelp_LazySymlinkCreation);

            hw.WriteOption(
                "/unexpectedSymlinkAccessReportingMode:<mode>",
                Strings.HelpText_DisplayHelp_UnexpectedSymlinkAccessReportingMode);

            hw.WriteOption(
                "/unsafe_DisableGraphPostValidation[+|-]",
                Strings.HelpText_DisplayHelp_DisableGraphPostValidation);

            hw.WriteOption(
                "/logPipStaticFingerprintTexts[+|-]",
                Strings.HelpText_DisplayHelp_LogPipStaticFingerprintTexts);

            hw.WriteOption(
                "/posixDeleteMode:[NoRun|RunFirst|RunLast]",
                Strings.HelpText_DisplayHelp_PosixDeleteMode);

            #endregion

            if (helpLevel < HelpLevel.Verbose)
            {
                hw.WriteLine();
                hw.WriteLine(Strings.HelpText_DisplayHelp_ShowingStandardHelp);
            }
        }