// 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( "/maxNumPipTelemetryBatches:<int>", Strings.HelpText_DisplayHelp_MaxNumPipTelemetryBatches); 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( "/trackGvfsProjections[+-]", Strings.HelpText_DisplayHelp_TrackGvfsProjections, 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( "/cacheMissDiffFormat:[format]", Strings.HelpText_DisplayHelp_CacheMissDiffFormat, HelpLevel.Verbose); hw.WriteOption( "/scriptShowSlowest[+|-]", Strings.HelpText_DisplayHelp_ScriptShowSlowest, HelpLevel.Verbose); hw.WriteOption( "/scriptShowLargest[+|-]", Strings.HelpText_DisplayHelp_ScriptShowLargest, HelpLevel.Verbose); hw.WriteOption( "/dumpFailedPips[+|-]", Strings.HelpText_DisplayHelp_DumpFailedPips); hw.WriteOption( "/dumpFailedPipsWithDynamicData[+|-]", Strings.HelpText_DisplayHelp_DumpFailedPipsWithDynamicData); hw.WriteOption( "/dumpFailedPipsLogLimit:<number>", Strings.HelpText_DisplayHelp_DumpFailedPipsLogLimit); #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( "/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( "/pathSetAugmentationMonitoring", Strings.HelpText_DisplayHelp_PathSetAugmentationMonitoring, 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( "/unsafe_AllowDuplicateTemporaryDirectory[+|-]", Strings.HelpText_DisplayHelp_AllowDuplicateTemporaryDirectory); 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( "/enableHistoricCommitMemoryProjection[+|-]", Strings.HelpText_DisplayHelp_EnableHistoricCommitMemoryProjection, HelpLevel.Verbose); hw.WriteOption( "/maxCommitUtilizationPercentage:<number>", Strings.HelpText_DisplayHelp_MaxCommitUtilizationPercentage, HelpLevel.Verbose); hw.WriteOption( "/maxRamUtilizationPercentage:<number>", Strings.HelpText_DisplayHelp_MaxRamUtilizationPercentage, HelpLevel.Verbose); hw.WriteOption( "/minAvailableRamMb:<number>", Strings.HelpText_DisplayHelp_MinAvailableRam, HelpLevel.Verbose); hw.WriteOption( "/manageMemoryMode:<memory mode>", Strings.HelpText_DisplayHelp_ManageMemoryMode, 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( "/cacheOnly[+|-]", Strings.HelpText_DisplayHelp_CacheOnly, HelpLevel.Verbose); hw.WriteOption( "/scrub[+|-]", Strings.HelpText_DisplayHelp_Scrub, HelpLevel.Verbose); hw.WriteOption( "/scrubDirectory:<path>", Strings.HelpText_DisplayHelp_ScrubDirectory, HelpLevel.Verbose); hw.WriteOption( "/enforceFullReparsePointsUnderPath:<path>", Strings.HelpText_DisplayHelp_EnforceFullReparsePointsUnderPath, 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( "/RunInSubst[+|-]", Strings.HelpText_DisplayHelp_RunInSubst, 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( "/fileContentTableFile:<path>", Strings.HelpText_DisplayHelp_FileContentTableFile, HelpLevel.Verbose); hw.WriteOption( "/fileContentTableEntryTimeToLive:<number>", Strings.HelpText_DisplayHelp_FileContentTableEntryTimeToLive, HelpLevel.Verbose); hw.WriteOption( "/updateFileContentTableByScanningChangeJournal[+|-]", Strings.HelpText_DisplayHelp_UpdateFileContentTableByScanningChangeJournal, HelpLevel.Verbose); hw.WriteOption( "/adminRequiredProcessExecutionMode:<mode>", Strings.HelpText_DisplayHelp_AdminRequiredProcessExecutionMode, HelpLevel.Verbose); hw.WriteOption( "/vmConcurrencyLimit:<max number of processes executed in VM>", Strings.HelpText_DisplayHelp_VmConcurrencyLimit, HelpLevel.Verbose); hw.WriteOption( "/treatAbsentDirectoryAsExistentUnderOpaque[+|-]", Strings.HelpText_DisplayHelp_TreatAbsentDirectoryAsExistentUnderOpaque, HelpLevel.Verbose); hw.WriteOption( "/explicitlyReportDirectoryProbes[+|-]", Strings.HelpText_DisplayHelp_ExplicitlyReportDirectoryProbes, HelpLevel.Verbose ); #endregion hw.WriteBanner( Strings.HelpText_DisplayHelp_DistributedBuildBanner, HelpLevel.Verbose); #region DistributedBuild 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( "/orchestratorCpuMultiplier:<double>", Strings.HelpText_DisplayHelp_OrchestratorCpuMultiplier, HelpLevel.Verbose); hw.WriteOption( "/orchestratorCacheLookupMultiplier:<double>", Strings.HelpText_DisplayHelp_OrchestratorCacheLookupMultiplier, HelpLevel.Verbose); hw.WriteOption( "/validateDistribution:[+|-]", Strings.HelpText_DisplayHelp_ValidateDistribution, HelpLevel.Verbose); #endregion hw.WriteBanner( Strings.HelpText_DisplayHelp_ProcessRemotingBanner, HelpLevel.Verbose); #region Process Remoting hw.WriteOption( "/enableProcessRemoting[+|-]", Strings.HelpText_DisplayHelp_EnableProcessRemoting, HelpLevel.Verbose); hw.WriteOption( "/processCanRunRemoteTags:<semi-colon separated tags>", Strings.HelpText_DisplayHelp_ProcessCanRunRemoteTags, HelpLevel.Verbose); hw.WriteOption( "/processMustRunLocalTags:<semi-colon separated tags>", Strings.HelpText_DisplayHelp_ProcessMustRunLocalTags, HelpLevel.Verbose); hw.WriteOption( "/remotingThresholdMultiplier:<double>", Strings.HelpText_DisplayHelp_RemotingThresholdMultiplier, HelpLevel.Verbose); hw.WriteOption( "/numRemoteAgentLeases:<int>", Strings.HelpText_DisplayHelp_NumRemoteAgentLeases, 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_IgnoreFullReparsePointResolving[+|-]", Strings.HelpText_DisplayHelp_IgnoreFullReparsePointResolving, HelpLevel.Verbose); hw.WriteOption( "/unsafe_IgnorePreloadedDlls[+|-]", Strings.HelpText_DisplayHelp_IgnorePreloadedDlls, HelpLevel.Verbose); hw.WriteOption( "/unsafe_IgnoreDynamicWritesOnAbsentProbes[+|-|:IgnoreNothing|:IgnoreDirectoryProbes|:IgnoreFileProbes|:IgnoreAll]", 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); hw.WriteOption( "/maxMemoryPressureLevel:<option>", Strings.HelpText_DisplayHelp_MaxMemoryPressureLevel, 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); hw.WriteOption( "/allowMissingSpecs[+|-]", Strings.HelpText_DisplayHelp_AllowMissingSpecs); #endregion #region Component Governance Manifest hw.WriteBanner(Strings.HelpText_DisplayHelp_CgManifestBanner); hw.WriteOption("/generateCgManifestForNugets:<file>", Strings.HelpText_DisplayHelp_GenerateCgManifest); hw.WriteOption("/validateCgManifestForNugets:<file>", Strings.HelpText_DisplayHelp_ValidateCgManifest); #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); /* The viewer is currently broken. Leaving the code around so we can dust it off at some point. AB#1609082 * hw.WriteOption( * "/viewer:<mode>", * Strings.HelpText_DisplayHelp_ViewerOptions);*/ hw.WriteOption( "/relatedActivityId:<guid>", Strings.HelpText_DisplayHelp_RelatedActivityId, HelpLevel.Verbose); hw.WriteOption( "/vs[+|-]", Strings.HelpText_DisplayHelp_VS); hw.WriteOption( "/solutionName:<string>", Strings.HelpText_DisplayHelp_SolutionName, HelpLevel.Verbose); hw.WriteOption( "/vsOutputSrc[+|-]", Strings.HelpText_DisplayHelp_VsOutputSrc, HelpLevel.Verbose); hw.WriteOption( "/inputChanges:<file>", Strings.HelpText_DisplayHelp_InputChanges); hw.WriteOption( "/telemetryTagPrefix:<string>", Strings.HelpText_DisplayHelp_TelemetryTagPrefix); 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); hw.WriteOption("/minimumDiskSpaceForPipsGb:<int representing disk space in Gigabyte>", Strings.HelpText_DisplayHelp_DiskSpaceForPip); hw.WriteOption("/numRetryFailedPipsOnAnotherWorker:<int>", Strings.HelpText_DisplayHelp_NumberofFailedPipRetry); hw.WriteOption("/enablePlugins[+|-]", Strings.HelpText_DisplayHelp_EnablePlugins, HelpLevel.Verbose); hw.WriteOption("/pluginPaths:<path>", Strings.HelpText_DisplayHelp_PluginPaths, HelpLevel.Verbose); hw.WriteOption("/exitOnNewGraph", Strings.HelpText_DisplayHelp_ExitOnNewGraph, HelpLevel.Verbose); hw.WriteOption("/buildManifestVerifyFileContentOnHashComputation", Strings.HelpText_DisplayHelp_BuildManifestVerifyFileContentOnHashComputation, HelpLevel.Verbose); #endregion if (helpLevel < HelpLevel.Verbose) { hw.WriteLine(); hw.WriteLine(Strings.HelpText_DisplayHelp_ShowingStandardHelp); } }
private static void WriteEventStatsHelp(HelpWriter writer) { writer.WriteBanner("Event Stats Analysis"); writer.WriteModeOption(nameof(AnalysisMode.EventStats), "Generates stats on the aggregate size and count of execution log events"); writer.WriteOption("outputFile", "Required. The file where to write the results", shortName: "o"); }
private static void WriteCriticalPathAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("Critical Path Analysis"); writer.WriteModeOption(nameof(AnalysisMode.CriticalPath), "Generates file containing information about build critical path"); writer.WriteOption("outputFile", "Required. The location of the output file for critical path analysis.", shortName: "o"); }
private static void WriteIncrementalSchedulingStateAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("Incremental Scheduling State Analysis"); writer.WriteModeOption(nameof(AnalysisMode.IncrementalSchedulingState), "Generates textual format of incremental scheduling state"); writer.WriteOption("outputFile", "Required. The output file.", shortName: "o"); }
private static void WriteDumpMountsAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("Dump Mounts Analysis"); writer.WriteModeOption(nameof(AnalysisMode.DumpMounts), "Generates a JSON file containing information about all the mounts"); writer.WriteOption("outputFile", "Required. The location of the output file.", shortName: "o"); }
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"); }
private static void WritePipGraphExporterHelp(HelpWriter writer) { writer.WriteBanner("Pip Graph Export Analysis"); writer.WriteModeOption(nameof(AnalysisMode.ExportGraph), "Generates a JSON file containing pip graph and runtime info"); writer.WriteOption("outputFile", "Required. The directory containing the cached pip graph files.", shortName: "o"); }
private static void WriteFilterLogHelp(HelpWriter writer) { writer.WriteBanner("Filter Log Analysis"); writer.WriteOption("exclude", "Required. An execution event id name to exclude from the filtered execution log."); writer.WriteOption("outputFile", "Required. The file where to write the filtered execution log.", shortName: "o"); }
private static void WriteObservedInputHelp(HelpWriter writer) { writer.WriteBanner("Observed Input Analysis"); writer.WriteModeOption(nameof(AnalysisMode.ObservedInput), "Generates a text file containing ObservedInput as discovered at build/cache retrieve"); writer.WriteOption("outputFile", "Required. The file where to write the results", shortName: "o"); }
private static void WriteToolEnumerationHelp(HelpWriter writer) { writer.WriteBanner("Observed Tool Enumeration Analysis"); writer.WriteModeOption(nameof(AnalysisMode.ToolEnumeration), "Generates a text file containing enumeration by tools launched by pips. NOTE: Requires build with /logObservedFileAccesses."); writer.WriteOption("outputFile", "Required. The file where to write the results", shortName: "o"); }
public void HelpWriter() { // when outputting to the console, just ensure things work without crashing... var hw = new HelpWriter(); hw.WriteLine(); hw.WriteLine("Hello"); hw.WriteBanner("BANNER"); hw.WriteOption("name", "description"); using (var writer = new StringWriter(CultureInfo.InvariantCulture)) { hw = new HelpWriter(writer, 30); hw.WriteLine(); hw.WriteLine("A short line"); hw.WriteLine("A long long long long long long line"); hw.WriteOption(string.Empty, string.Empty); // test an option of length HelpWriter.DescriptionColumn - N hw.WriteOption("namenamenamenamenamenamename", string.Empty); hw.WriteOption("namenamenamenamenamenamename", "description"); // test an option of length HelpWriter.DescriptionColumn - 1 hw.WriteOption("namenamenamenamenamenamenamenam", string.Empty); hw.WriteOption("namenamenamenamenamenamenamenam", "description"); // test an option of length HelpWriter.DescriptionColumn hw.WriteOption("namenamenamenamenamenamenamename", string.Empty); hw.WriteOption("namenamenamenamenamenamenamename", "description"); // test an option of length HelpWriter.DescriptionColumn + 1 hw.WriteOption("namenamenamenamenamenamenamenamen", string.Empty); hw.WriteOption("namenamenamenamenamenamenamenamen", "description"); // test an option of length HelpWriter.DescriptionColumn + N hw.WriteOption("namenamenamenamenamenamenamenamenamenamenamename", string.Empty); hw.WriteOption("namenamenamenamenamenamenamenamenamenamenamename", "description"); // test long option name and description hw.WriteOption( "namenamenamenamenamenamenamenamenamenamenamename", "descriptiondescriptiondescriptiondescriptiondescriptiondescription"); hw.WriteBanner(string.Empty); hw.WriteBanner("banner"); hw.WriteBanner("bannerbannerbannerbannerbannerbannerbanner"); writer.Flush(); string output = writer.ToString(); string Expected = Environment.NewLine + "A short line" + Environment.NewLine + "A long long long long long" + Environment.NewLine + "long line" + Environment.NewLine + Environment.NewLine + "namenamenamenamenamenamename" + Environment.NewLine + "namenamenamenamenamenamename description" + Environment.NewLine + "namenamenamenamenamenamenamenam" + Environment.NewLine + "namenamenamenamenamenamenamenam description" + Environment.NewLine + "namenamenamenamenamenamenamename" + Environment.NewLine + "namenamenamenamenamenamenamename" + Environment.NewLine + " description" + Environment.NewLine + "namenamenamenamenamenamenamenamen" + Environment.NewLine + "namenamenamenamenamenamenamenamen" + Environment.NewLine + " description" + Environment.NewLine + "namenamenamenamenamenamenamenamenamenamenamename" + Environment.NewLine + "namenamenamenamenamenamenamenamenamenamenamename" + Environment.NewLine + " description" + Environment.NewLine + "namenamenamenamenamenamenamenamenamenamenamename" + Environment.NewLine + " descriptiondescriptiondescriptiondescriptiondescriptiondescription" + Environment.NewLine + Environment.NewLine + " - -" + Environment.NewLine + Environment.NewLine + Environment.NewLine + " - banner -" + Environment.NewLine + Environment.NewLine + Environment.NewLine + "- bannerbannerbannerbannerbannerbannerbanner -" + Environment.NewLine + Environment.NewLine; Assert.Equal(Expected, output); } }
private static void WriteFileConsumptionAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("File Consumption Analyzer"); writer.WriteModeOption(nameof(AnalysisMode.FileConsumption), "Collects information about produced/consumed files"); writer.WriteOption("outputDirectory", "Required. The directory where to write the results", shortName: "o"); }
private static void WritePerfSummaryAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("Performance Summary Analysis"); writer.WriteModeOption(nameof(AnalysisMode.PerfSummary), "Dumps an html file that contains a performance summary"); writer.WriteOption("outputFile", "Required. The location of the output file for critical path analysis.", shortName: "o"); }
private static void WriteHelp() { HelpWriter writer = new HelpWriter(); writer.WriteBanner($"{Branding.AnalyzerExecutableName} - Tool for performing analysis/transformation of cached pip graphs and execution logs."); writer.WriteLine(""); writer.WriteLine("Analysis Modes:"); writer.WriteLine(""); WriteFingerprintTextAnalyzerHelp(writer); writer.WriteLine(""); WritePipGraphExporterHelp(writer); writer.WriteLine(""); WriteDirMembershipHelp(writer); writer.WriteLine(""); WriteDumpProcessAnalyzerHelp(writer); writer.WriteLine(""); WriteExportDgmlAnalyzerHelp(writer); writer.WriteLine(""); WriteObservedInputHelp(writer); writer.WriteLine(""); WriteProcessDetouringHelp(writer); writer.WriteLine(""); WritePipExecutionPerformanceAnalyzerHelp(writer); writer.WriteLine(""); WriteObservedInputSummaryHelp(writer); writer.WriteLine(""); WriteObservedAccessHelp(writer); writer.WriteLine(""); WriteToolEnumerationHelp(writer); writer.WriteLine(""); WriteCriticalPathAnalyzerHelp(writer); writer.WriteLine(""); WriteDumpPipAnalyzerHelp(writer); writer.WriteLine(""); WriteProcessRunScriptAnalyzerHelp(writer); writer.WriteLine(""); WriteWhitelistAnalyzerHelp(writer); writer.WriteLine(""); WriteSummaryAnalyzerHelp(writer); writer.WriteLine(""); WriteBuildStatusHelp(writer); writer.WriteLine(""); WriteWinIdeDependencyAnalyzeHelp(writer); writer.WriteLine(""); WritePerfSummaryAnalyzerHelp(writer); writer.WriteLine(""); WriteEventStatsHelp(writer); writer.WriteLine(""); WriteIncrementalSchedulingStateAnalyzerHelp(writer); writer.WriteLine(""); WriteFileChangeTrackerAnalyzerHelp(writer); writer.WriteLine(""); WriteInputTrackerAnalyzerHelp(writer); writer.WriteLine(""); WriteFingerprintStoreAnalyzerHelp(writer); writer.WriteLine(""); WritePipFingerprintAnalyzerHelp(writer); writer.WriteLine(""); WriteCacheMissHelp(writer); writer.WriteLine(""); WriteCacheDumpHelp(writer); writer.WriteLine(""); WriteBuildSimulatorHelp(writer); #if FEATURE_VSTS_ARTIFACTSERVICES writer.WriteLine(""); WriteCacheHitPredictorHelp(writer); #endif writer.WriteLine(""); WriteDependencyAnalyzerHelp(writer); writer.WriteLine(""); WriteGraphDiffAnalyzerHelp(writer); writer.WriteLine(""); WriteDumpMountsAnalyzerHelp(writer); writer.WriteLine(""); WritePipFilterHelp(writer); writer.WriteLine(""); WriteFailedPipsDumpAnalyzerHelp(writer); writer.WriteLine(""); WriteCosineDumpPipHelp(writer); writer.WriteLine(""); WriteCopyFilesAnalyzerHelp(writer); writer.WriteLine(""); WriteXLGToDBHelp(writer); //writer.WriteLine(""); //WriteDominoInvocationHelp(writer); #if NET_FRAMEWORK writer.WriteLine(""); WriteContentPlacementAnalyzerHelp(writer); #endif }
private static void WriteCosineJsonExportHelp(HelpWriter writer) { writer.WriteBanner("Cosine Json Export Analysis"); writer.WriteModeOption(nameof(AnalysisMode.ExportGraph), "Generates a JSON file containing pip graph and runtime info"); writer.WriteOption("outputFile", "Required. The json file to create.", shortName: "o"); }
private static void WriteBuildSimulatorHelp(HelpWriter writer) { writer.WriteBanner("Build Simulation Analysis"); writer.WriteModeOption(nameof(AnalysisMode.Simulate), "EXPERIMENTAL. Build Simulator"); writer.WriteOption("outputFile", "Required. The file where to write the results", shortName: "o"); }
private static void WriteDebugLogsAnalyzerHelp(HelpWriter writer) { writer.WriteBanner("XLG Debugger"); }