/// <nodoc/> public MsBuildResolverSettings( IMsBuildResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); RootTraversal = resolverSettings.RootTraversal.IsValid? pathRemapper.Remap(resolverSettings.RootTraversal) : Root; ModuleName = resolverSettings.ModuleName; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; RunInContainer = resolverSettings.RunInContainer; MsBuildSearchLocations = resolverSettings.MsBuildSearchLocations; FileNameEntryPoints = resolverSettings.FileNameEntryPoints; InitialTargets = resolverSettings.InitialTargets; Environment = resolverSettings.Environment; GlobalProperties = resolverSettings.GlobalProperties; LogVerbosity = resolverSettings.LogVerbosity; EnableBinLogTracing = resolverSettings.EnableBinLogTracing; EnableEngineTracing = resolverSettings.EnableEngineTracing; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; EnableTransitiveProjectReferences = resolverSettings.EnableTransitiveProjectReferences; UseLegacyProjectIsolation = resolverSettings.UseLegacyProjectIsolation; DoubleWritePolicy = resolverSettings.DoubleWritePolicy; AllowProjectsToNotSpecifyTargetProtocol = resolverSettings.AllowProjectsToNotSpecifyTargetProtocol; MsBuildRuntime = resolverSettings.MsBuildRuntime; DotNetSearchLocations = resolverSettings.DotNetSearchLocations; UseManagedSharedCompilation = resolverSettings.UseManagedSharedCompilation; }
/// <nodoc /> public CacheConfiguration(ICacheConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); CacheConfigFile = pathRemapper.Remap(template.CacheConfigFile); CacheLogFilePath = pathRemapper.Remap(template.CacheLogFilePath); Incremental = template.Incremental; CacheGraph = template.CacheGraph; CachedGraphPathToLoad = pathRemapper.Remap(template.CachedGraphPathToLoad); CachedGraphIdToLoad = template.CachedGraphIdToLoad; CachedGraphLastBuildLoad = template.CachedGraphLastBuildLoad; CacheSpecs = template.CacheSpecs; CacheMemoryUsage = template.CacheMemoryUsage; CacheSessionName = template.CacheSessionName; ArtificialCacheMissOptions = template.ArtificialCacheMissOptions == null ? null : new ArtificialCacheMissConfig(template.ArtificialCacheMissOptions); CacheSalt = template.CacheSalt; DeterminismProbe = template.DeterminismProbe; HistoricMetadataCache = template.HistoricMetadataCache; AllowFetchingCachedGraphFromContentCache = template.AllowFetchingCachedGraphFromContentCache; MinimumReplicaCountForStrongGuarantee = template.MinimumReplicaCountForStrongGuarantee; StrongContentGuaranteeRefreshProbability = template.StrongContentGuaranteeRefreshProbability; FileChangeTrackingExclusionRoots = pathRemapper.Remap(template.FileChangeTrackingExclusionRoots); FileChangeTrackingInclusionRoots = pathRemapper.Remap(template.FileChangeTrackingInclusionRoots); UseDedupStore = template.UseDedupStore; }
/// <nodoc /> public StartupConfiguration(IStartupConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); ConfigFile = pathRemapper.Remap(template.ConfigFile); AdditionalConfigFiles = pathRemapper.Remap(template.AdditionalConfigFiles); Properties = new Dictionary <string, string>(); foreach (var kv in template.Properties) { Properties.Add(kv.Key, kv.Value); } QualifierIdentifiers = new List <string>(template.QualifierIdentifiers); ImplicitFilters = new List <string>(template.ImplicitFilters); CurrentHost = new Host(template.CurrentHost, pathRemapper); ABTestingArgs = new Dictionary <string, string>(); foreach (var kv in template.ABTestingArgs) { ABTestingArgs.Add(kv.Key, kv.Value); } ChosenABTestingKey = template.ChosenABTestingKey; }
/// <summary> /// Create new mutable instance from template /// </summary> /// <remarks> /// This is the only class with CommandLineConfiguration as the configuration entrypoint where the pathRemapper is an argument with default value. /// If the argument was optional everywhere as well there would be no compiler helping us if someone forgot to pass it along. /// This is the main entrypoint so we allow a default value here for convenience /// </remarks> public ConfigurationImpl(IConfiguration template, PathRemapper pathRemapper = null) : base(template, pathRemapper = pathRemapper ?? new PathRemapper()) { Contract.Assume(template != null); Qualifiers = new QualifierConfiguration(template.Qualifiers); Resolvers = new List <IResolverSettings>(template.Resolvers.Select(resolver => ResolverSettings.CreateFromTemplate(resolver, pathRemapper))); AllowedEnvironmentVariables = new List <string>(template.AllowedEnvironmentVariables); Layout = new LayoutConfiguration(template.Layout, pathRemapper); Engine = new EngineConfiguration(template.Engine, pathRemapper); Schedule = new ScheduleConfiguration(template.Schedule, pathRemapper); Sandbox = new SandboxConfiguration(template.Sandbox, pathRemapper); Cache = new CacheConfiguration(template.Cache, pathRemapper); Logging = new LoggingConfiguration(template.Logging, pathRemapper); Export = new ExportConfiguration(template.Export, pathRemapper); Experiment = new ExperimentalConfiguration(template.Experiment); Distribution = new DistributionConfiguration(template.Distribution); Viewer = template.Viewer; Projects = template.Projects?.Select(p => pathRemapper.Remap(p)).ToList(); Packages = template.Packages?.Select(p => pathRemapper.Remap(p)).ToList(); Modules = template.Modules?.Select(m => pathRemapper.Remap(m)).ToList(); DisableDefaultSourceResolver = template.DisableDefaultSourceResolver; FrontEnd = new FrontEndConfiguration(template.FrontEnd, pathRemapper); CommandLineEnabledUnsafeOptions = new List <string>(template.CommandLineEnabledUnsafeOptions); Ide = new IdeConfiguration(template.Ide, pathRemapper); InCloudBuild = template.InCloudBuild; ResolverDefaults = new ResolverDefaults(template.ResolverDefaults); }
/// <nodoc /> public NinjaResolverSettings(INinjaResolverSettings template, PathRemapper pathRemapper) : base(template, template, pathRemapper) { Targets = template.Targets; Root = pathRemapper.Remap(template.Root); ModuleName = template.ModuleName; KeepProjectGraphFile = template.KeepProjectGraphFile; SpecFile = pathRemapper.Remap(template.SpecFile); RemoveAllDebugFlags = template.RemoveAllDebugFlags; Environment = template.Environment; }
/// <nodoc /> public IdeConfiguration(IIdeConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); IsEnabled = template.IsEnabled; CanWriteToSrc = template.CanWriteToSrc; SolutionName = pathRemapper.Remap(template.SolutionName); SolutionRoot = pathRemapper.Remap(template.SolutionRoot); DotSettingsFile = pathRemapper.Remap(template.DotSettingsFile); }
/// <nodoc /> public NinjaResolverSettings(INinjaResolverSettings template, PathRemapper pathRemapper) : base(template, pathRemapper) { Targets = template.Targets; ProjectRoot = pathRemapper.Remap(template.ProjectRoot); ModuleName = template.ModuleName; KeepToolFiles = template.KeepToolFiles; SpecFile = pathRemapper.Remap(template.SpecFile); RemoveAllDebugFlags = template.RemoveAllDebugFlags; UntrackingSettings = template.UntrackingSettings; AllowWritableSourceDirectory = template.AllowWritableSourceDirectory; }
/// <nodoc /> public FrontEndConfiguration(IFrontEndConfiguration template, PathRemapper pathRemapper) { Contract.Requires(template != null); Contract.Assume(pathRemapper != null); ProfileScript = template.ProfileScript; ProfileReportDestination = pathRemapper.Remap(template.ProfileReportDestination); FileToFileReportDestination = pathRemapper.Remap(template.FileToFileReportDestination); EnableIncrementalFrontEnd = template.EnableIncrementalFrontEnd; EnableEvaluationThrottling = template.EnableEvaluationThrottling; DebugScript = template.DebugScript; DebuggerBreakOnExit = template.DebuggerBreakOnExit; DebuggerPort = template.DebuggerPort; UsePartialEvaluation = template.UsePartialEvaluation; EnabledPolicyRules = new List <string>(template.EnabledPolicyRules); MaxFrontEndConcurrency = template.MaxFrontEndConcurrency; MaxRestoreNugetConcurrency = template.MaxRestoreNugetConcurrency; ThreadPoolMinThreadCountMultiplier = template.ThreadPoolMinThreadCountMultiplier; MaxTypeCheckingConcurrency = template.MaxTypeCheckingConcurrency; DisableLanguagePolicyAnalysis = template.DisableLanguagePolicyAnalysis; DisableIsObsoleteCheckDuringConversion = template.DisableIsObsoleteCheckDuringConversion; NameResolutionSemantics = template.NameResolutionSemantics; PreserveFullNames = template.PreserveFullNames; DisableCycleDetection = template.DisableCycleDetection; PreserveTrivia = template.PreserveTrivia; ErrorLimit = template.ErrorLimit; ForcePopulatePackageCache = template.ForcePopulatePackageCache; UsePackagesFromFileSystem = template.UsePackagesFromFileSystem; RespectWeakFingerprintForNugetUpToDateCheck = template.RespectWeakFingerprintForNugetUpToDateCheck; ForceGenerateNuGetSpecs = template.ForceGenerateNuGetSpecs; UseLegacyOfficeLogic = template.UseLegacyOfficeLogic; TrackMethodInvocations = template.TrackMethodInvocations; CycleDetectorStartupDelay = template.CycleDetectorStartupDelay; FailIfWorkspaceMemoryIsNotCollected = template.FailIfWorkspaceMemoryIsNotCollected; FailIfFrontendMemoryIsNotCollected = template.FailIfFrontendMemoryIsNotCollected; ConstructAndSaveBindingFingerprint = template.ConstructAndSaveBindingFingerprint; UseGraphPatching = template.UseGraphPatching; CancelParsingOnFirstFailure = template.CancelParsingOnFirstFailure; UseSpecPublicFacadeAndAstWhenAvailable = template.UseSpecPublicFacadeAndAstWhenAvailable; CancelEvaluationOnFirstFailure = template.CancelEvaluationOnFirstFailure; ReloadPartialEngineStateWhenPossible = template.ReloadPartialEngineStateWhenPossible; EnableCyclicalFriendModules = template.EnableCyclicalFriendModules; LogStatistics = template.LogStatistics; ShowSlowestElementsStatistics = template.ShowSlowestElementsStatistics; ShowLargestFilesStatistics = template.ShowLargestFilesStatistics; ReleaseWorkspaceBeforeEvaluation = template.ReleaseWorkspaceBeforeEvaluation; UnsafeOptimizedAstConversion = template.UnsafeOptimizedAstConversion; AllowUnsafeAmbient = template.AllowUnsafeAmbient; GenerateCgManifestForNugets = template.GenerateCgManifestForNugets; ValidateCgManifestForNugets = template.ValidateCgManifestForNugets; AllowMissingSpecs = template.AllowMissingSpecs; }
/// <nodoc /> public IdeConfiguration(IIdeConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); IsEnabled = template.IsEnabled; IsNewEnabled = template.IsNewEnabled; CanWriteToSrc = template.CanWriteToSrc; SolutionName = pathRemapper.Remap(template.SolutionName); SolutionRoot = pathRemapper.Remap(template.SolutionRoot); DotSettingsFile = pathRemapper.Remap(template.DotSettingsFile); TargetFrameworks = new List <string>(template.TargetFrameworks); }
/// <nodoc /> public SandboxConfiguration(ISandboxConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); m_unsafeSandboxConfig = new UnsafeSandboxConfiguration(template.UnsafeSandboxConfiguration); BreakOnUnexpectedFileAccess = template.BreakOnUnexpectedFileAccess; FileAccessIgnoreCodeCoverage = template.FileAccessIgnoreCodeCoverage; FailUnexpectedFileAccesses = template.FailUnexpectedFileAccesses; DefaultTimeout = template.DefaultTimeout; DefaultWarningTimeout = template.DefaultWarningTimeout; TimeoutMultiplier = template.TimeoutMultiplier; WarningTimeoutMultiplier = template.WarningTimeoutMultiplier; TimeoutDumpDirectory = pathRemapper.Remap(template.TimeoutDumpDirectory); SurvivingPipProcessChildrenDumpDirectory = pathRemapper.Remap(template.SurvivingPipProcessChildrenDumpDirectory); LogObservedFileAccesses = template.LogObservedFileAccesses; LogProcesses = template.LogProcesses; LogProcessData = template.LogProcessData; LogFileAccessTables = template.LogFileAccessTables; OutputReportingMode = template.OutputReportingMode; FileSystemMode = template.FileSystemMode; ForceReadOnlyForRequestedReadWrite = template.ForceReadOnlyForRequestedReadWrite; FlushPageCacheToFileSystemOnStoringOutputsToCache = template.FlushPageCacheToFileSystemOnStoringOutputsToCache; NormalizeReadTimestamps = template.NormalizeReadTimestamps; UseLargeNtClosePreallocatedList = template.UseLargeNtClosePreallocatedList; UseExtraThreadToDrainNtClose = template.UseExtraThreadToDrainNtClose; MaskUntrackedAccesses = template.MaskUntrackedAccesses; LogProcessDetouringStatus = template.LogProcessDetouringStatus; HardExitOnErrorInDetours = template.HardExitOnErrorInDetours; CheckDetoursMessageCount = template.CheckDetoursMessageCount; AllowInternalDetoursErrorNotificationFile = template.AllowInternalDetoursErrorNotificationFile; EnforceAccessPoliciesOnDirectoryCreation = template.EnforceAccessPoliciesOnDirectoryCreation; MeasureProcessCpuTimes = template.MeasureProcessCpuTimes; KextReportQueueSizeMb = template.KextReportQueueSizeMb; KextEnableReportBatching = template.KextEnableReportBatching; KextThrottleCpuUsageBlockThresholdPercent = template.KextThrottleCpuUsageBlockThresholdPercent; KextThrottleCpuUsageWakeupThresholdPercent = template.KextThrottleCpuUsageWakeupThresholdPercent; KextThrottleMinAvailableRamMB = template.KextThrottleMinAvailableRamMB; ContainerConfiguration = new SandboxContainerConfiguration(template.ContainerConfiguration); AdminRequiredProcessExecutionMode = template.AdminRequiredProcessExecutionMode; RedirectedTempFolderRootForVmExecution = pathRemapper.Remap(template.RedirectedTempFolderRootForVmExecution); RetryOnAzureWatsonExitCode = template.RetryOnAzureWatsonExitCode; EnsureTempDirectoriesExistenceBeforePipExecution = template.EnsureTempDirectoriesExistenceBeforePipExecution; GlobalUnsafeUntrackedScopes = pathRemapper.Remap(template.GlobalUnsafeUntrackedScopes); PreserveOutputsForIncrementalTool = template.PreserveOutputsForIncrementalTool; GlobalUnsafePassthroughEnvironmentVariables = new List <string>(template.GlobalUnsafePassthroughEnvironmentVariables); VmConcurrencyLimit = template.VmConcurrencyLimit; DirectoriesToEnableFullReparsePointParsing = pathRemapper.Remap(template.DirectoriesToEnableFullReparsePointParsing); ExplicitlyReportDirectoryProbes = template.ExplicitlyReportDirectoryProbes; }
/// <nodoc /> public Mount(IMount template, PathRemapper pathRemapper) : base(template, pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); Name = pathRemapper.Remap(template.Name); Path = pathRemapper.Remap(template.Path); TrackSourceFileChanges = template.TrackSourceFileChanges; IsWritable = template.IsWritable; IsReadable = template.IsReadable; IsSystem = template.IsSystem; IsScrubbable = template.IsScrubbable; AllowCreateDirectory = template.AllowCreateDirectory; }
/// <nodoc /> public SandboxConfiguration(ISandboxConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); m_unsafeSandboxConfig = new UnsafeSandboxConfiguration(template.UnsafeSandboxConfiguration); DebugInstantPipOutputs = template.DebugInstantPipOutputs; BreakOnUnexpectedFileAccess = template.BreakOnUnexpectedFileAccess; FileAccessIgnoreCodeCoverage = template.FileAccessIgnoreCodeCoverage; FailUnexpectedFileAccesses = template.FailUnexpectedFileAccesses; DefaultTimeout = template.DefaultTimeout; DefaultWarningTimeout = template.DefaultWarningTimeout; TimeoutMultiplier = template.TimeoutMultiplier; WarningTimeoutMultiplier = template.WarningTimeoutMultiplier; TimeoutDumpDirectory = pathRemapper.Remap(template.TimeoutDumpDirectory); LogObservedFileAccesses = template.LogObservedFileAccesses; LogProcesses = template.LogProcesses; LogProcessData = template.LogProcessData; LogFileAccessTables = template.LogFileAccessTables; OutputReportingMode = template.OutputReportingMode; FileSystemMode = template.FileSystemMode; ForceReadOnlyForRequestedReadWrite = template.ForceReadOnlyForRequestedReadWrite; FlushPageCacheToFileSystemOnStoringOutputsToCache = template.FlushPageCacheToFileSystemOnStoringOutputsToCache; NormalizeReadTimestamps = template.NormalizeReadTimestamps; UseLargeNtClosePreallocatedList = template.UseLargeNtClosePreallocatedList; UseExtraThreadToDrainNtClose = template.UseExtraThreadToDrainNtClose; MaskUntrackedAccesses = template.MaskUntrackedAccesses; LogProcessDetouringStatus = template.LogProcessDetouringStatus; HardExitOnErrorInDetours = template.HardExitOnErrorInDetours; CheckDetoursMessageCount = template.CheckDetoursMessageCount; AllowInternalDetoursErrorNotificationFile = template.AllowInternalDetoursErrorNotificationFile; CrashOnCBSSOOMError = template.CrashOnCBSSOOMError; EnforceAccessPoliciesOnDirectoryCreation = template.EnforceAccessPoliciesOnDirectoryCreation; NumberOfKextConnections = template.NumberOfKextConnections; ReportQueueSizeMb = template.ReportQueueSizeMb; }
/// <nodoc/> public JavaScriptResolverSettings( IJavaScriptResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); ModuleName = resolverSettings.ModuleName; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; UntrackedGlobalDirectoryScopes = resolverSettings.UntrackedGlobalDirectoryScopes; Environment = resolverSettings.Environment; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; NodeExeLocation = resolverSettings.NodeExeLocation; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; Execute = resolverSettings.Execute; CustomCommands = resolverSettings.CustomCommands; Exports = resolverSettings.Exports; WritingToStandardErrorFailsExecution = resolverSettings.WritingToStandardErrorFailsExecution; DoubleWritePolicy = resolverSettings.DoubleWritePolicy; CustomScheduling = resolverSettings.CustomScheduling; ChildProcessesToBreakawayFromSandbox = resolverSettings.ChildProcessesToBreakawayFromSandbox; CustomScripts = resolverSettings.CustomScripts; SuccessExitCodes = resolverSettings.SuccessExitCodes; RetryExitCodes = resolverSettings.RetryExitCodes; ProcessRetries = resolverSettings.ProcessRetries; }
private static DiscriminatingUnion <AbsolutePath, IInlineModuleDefinition> RemapModule( DiscriminatingUnion <AbsolutePath, IInlineModuleDefinition> fileOrInlineModule, PathRemapper pathRemapper) { var fileOrInlineModuleValue = fileOrInlineModule?.GetValue(); if (fileOrInlineModuleValue == null) { return(null); } if (fileOrInlineModuleValue is AbsolutePath path) { return(new DiscriminatingUnion <AbsolutePath, IInlineModuleDefinition>(pathRemapper.Remap(path))); } var inlineModuleDefinition = (IInlineModuleDefinition)fileOrInlineModuleValue; var remappedInlineModuleDefinition = new InlineModuleDefinition { ModuleName = inlineModuleDefinition.ModuleName, Projects = inlineModuleDefinition.Projects?.Select(project => pathRemapper.Remap(project)).ToList() }; return(new DiscriminatingUnion <AbsolutePath, IInlineModuleDefinition>(remappedInlineModuleDefinition)); }
/// <nodoc /> public ScheduleConfiguration(IScheduleConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); MaxProcesses = template.MaxProcesses; MaxLightProcesses = template.MaxLightProcesses; MaxIO = template.MaxIO; MaxChooseWorkerCpu = template.MaxChooseWorkerCpu; MaxChooseWorkerCacheLookup = template.MaxChooseWorkerCacheLookup; MaxCacheLookup = template.MaxCacheLookup; MaxMaterialize = template.MaxMaterialize; EnvironmentFingerprint = template.EnvironmentFingerprint; DisableProcessRetryOnResourceExhaustion = template.DisableProcessRetryOnResourceExhaustion; StopOnFirstError = template.StopOnFirstError; LowPriority = template.LowPriority; EnableLazyOutputMaterialization = template.EnableLazyOutputMaterialization; ForceSkipDependencies = template.ForceSkipDependencies; UseHistoricalPerformanceInfo = template.UseHistoricalPerformanceInfo; RequiredOutputMaterialization = template.RequiredOutputMaterialization; TreatDirectoryAsAbsentFileOnHashingInputContent = template.TreatDirectoryAsAbsentFileOnHashingInputContent; MaximumRamUtilizationPercentage = template.MaximumRamUtilizationPercentage; MinimumTotalAvailableRamMb = template.MinimumTotalAvailableRamMb; AllowCopySymlink = template.AllowCopySymlink; AdaptiveIO = template.AdaptiveIO; ReuseOutputsOnDisk = template.ReuseOutputsOnDisk; UseHistoricalRamUsageInfo = template.UseHistoricalRamUsageInfo; VerifyCacheLookupPin = template.VerifyCacheLookupPin; PinCachedOutputs = template.PinCachedOutputs; CanonicalizeFilterOutputs = template.CanonicalizeFilterOutputs; ForceUseEngineInfoFromCache = template.ForceUseEngineInfoFromCache; UnsafeDisableGraphPostValidation = template.UnsafeDisableGraphPostValidation; ProcessRetries = template.ProcessRetries; UnsafeLazySymlinkCreation = template.UnsafeLazySymlinkCreation; UnexpectedSymlinkAccessReportingMode = template.UnexpectedSymlinkAccessReportingMode; StoreOutputsToCache = template.StoreOutputsToCache; EnableLazyWriteFileMaterialization = template.EnableLazyWriteFileMaterialization; WriteIpcOutput = template.WriteIpcOutput; OutputMaterializationExclusionRoots = pathRemapper.Remap(template.OutputMaterializationExclusionRoots); IncrementalScheduling = template.IncrementalScheduling; GraphAgnosticIncrementalScheduling = template.GraphAgnosticIncrementalScheduling; ComputePipStaticFingerprints = template.ComputePipStaticFingerprints; LogPipStaticFingerprintTexts = template.LogPipStaticFingerprintTexts; CreateHandleWithSequentialScanOnHashingOutputFiles = template.CreateHandleWithSequentialScanOnHashingOutputFiles; OutputFileExtensionsForSequentialScanHandleOnHashing = new List <PathAtom>(template.OutputFileExtensionsForSequentialScanHandleOnHashing.Select(pathRemapper.Remap)); TelemetryTagPrefix = template.TelemetryTagPrefix; MasterCpuMultiplier = template.MasterCpuMultiplier; MasterCacheLookupMultiplier = template.MasterCacheLookupMultiplier; SkipHashSourceFile = template.SkipHashSourceFile; }
/// <nodoc /> public ExportConfiguration(IExportConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); SnapshotFile = pathRemapper.Remap(template.SnapshotFile); SnapshotMode = template.SnapshotMode; }
/// <nodoc /> public TrackedValue(ITrackedValue template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); Location = template.Location.IsValid ? new LocationData(pathRemapper.Remap(template.Location.Path), template.Location.Line, template.Location.Position) : LocationData.Invalid; }
/// <nodoc /> public CMakeResolverSettings(ICMakeResolverSettings template, PathRemapper pathRemapper) : base(template, pathRemapper) { ProjectRoot = pathRemapper.Remap(template.ProjectRoot); BuildDirectory = template.BuildDirectory; ModuleName = template.ModuleName; CacheEntries = template.CacheEntries; CMakeSearchLocations = template.CMakeSearchLocations; RemoveAllDebugFlags = template.RemoveAllDebugFlags; UntrackingSettings = template.UntrackingSettings; }
/// <nodoc /> public DScriptResolverSettings(IDScriptResolverSettings template, PathRemapper pathRemapper) : base(template, pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); Root = pathRemapper.Remap(template.Root); Modules = template.Modules?.Select(pathRemapper.Remap).ToList(); Packages = template.Packages?.Select(pathRemapper.Remap).ToList(); }
/// <nodoc /> public ResolverSettings(IResolverSettings template, PathRemapper pathRemapper) { Contract.Requires(template != null); Contract.Requires(pathRemapper != null); Kind = template.Kind; Name = template.Name; File = pathRemapper.Remap(template.File); Location = template.Location; AllowWritableSourceDirectory = template.AllowWritableSourceDirectory; }
/// <nodoc /> public DirectoryMembershipFingerprinterRule(IDirectoryMembershipFingerprinterRule template, PathRemapper pathRemapper) : base(template, pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); Name = template.Name; Root = pathRemapper.Remap(template.Root); DisableFilesystemEnumeration = template.DisableFilesystemEnumeration; FileIgnoreWildcards = new List <PathAtom>(template.FileIgnoreWildcards.Select(pathRemapper.Remap)); }
/// <nodoc /> public FileAccessWhitelistEntry(IFileAccessWhitelistEntry template, PathRemapper pathRemapper) : base(template, pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); Name = template.Name; Value = template.Value; ToolPath = pathRemapper.Remap(template.ToolPath); PathFragment = template.PathFragment; PathRegex = template.PathRegex; }
/// <nodoc /> public CacheConfiguration(ICacheConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); CacheConfigFile = pathRemapper.Remap(template.CacheConfigFile); CacheLogFilePath = pathRemapper.Remap(template.CacheLogFilePath); Incremental = template.Incremental; CacheGraph = template.CacheGraph; CachedGraphPathToLoad = pathRemapper.Remap(template.CachedGraphPathToLoad); CachedGraphIdToLoad = template.CachedGraphIdToLoad; CachedGraphLastBuildLoad = template.CachedGraphLastBuildLoad; CacheSpecs = template.CacheSpecs; CacheSessionName = template.CacheSessionName; ArtificialCacheMissOptions = template.ArtificialCacheMissOptions == null ? null : new ArtificialCacheMissConfig(template.ArtificialCacheMissOptions); CacheSalt = template.CacheSalt; DeterminismProbe = template.DeterminismProbe; DisableDeterminismProbeLogging = template.DisableDeterminismProbeLogging; HistoricMetadataCache = template.HistoricMetadataCache; AllowFetchingCachedGraphFromContentCache = template.AllowFetchingCachedGraphFromContentCache; MinimumReplicaCountForStrongGuarantee = template.MinimumReplicaCountForStrongGuarantee; StrongContentGuaranteeRefreshProbability = template.StrongContentGuaranteeRefreshProbability; FileChangeTrackingExclusionRoots = pathRemapper.Remap(template.FileChangeTrackingExclusionRoots); FileChangeTrackingInclusionRoots = pathRemapper.Remap(template.FileChangeTrackingInclusionRoots); UseDedupStore = template.UseDedupStore; ReplaceExistingFileOnMaterialization = template.ReplaceExistingFileOnMaterialization; VfsCasRoot = pathRemapper.Remap(template.VfsCasRoot); VirtualizeUnknownPips = template.VirtualizeUnknownPips; ElideMinimalGraphEnumerationAbsentPathProbes = template.ElideMinimalGraphEnumerationAbsentPathProbes; AugmentWeakFingerprintPathSetThreshold = template.AugmentWeakFingerprintPathSetThreshold; AugmentWeakFingerprintRequiredPathCommonalityFactor = template.AugmentWeakFingerprintRequiredPathCommonalityFactor; MonitorAugmentedPathSets = template.MonitorAugmentedPathSets; UseLocalOnly = template.UseLocalOnly; }
/// <nodoc /> public EngineConfiguration(IEngineConfiguration template, PathRemapper pathRemapper) { Contract.Assume(template != null); Contract.Assume(pathRemapper != null); DefaultFilter = template.DefaultFilter; RootMap = new Dictionary <string, AbsolutePath>(); foreach (var kv in template.RootMap) { RootMap.Add(kv.Key, pathRemapper.Remap(kv.Value)); } UseHardlinks = template.UseHardlinks; ScanChangeJournal = template.ScanChangeJournal; ScanChangeJournalTimeLimitInSec = template.ScanChangeJournalTimeLimitInSec; DisableConHostSharing = template.DisableConHostSharing; Phase = template.Phase; CleanOnly = template.CleanOnly; Scrub = template.Scrub; ExitOnNewGraph = template.ExitOnNewGraph; MaxRelativeOutputDirectoryLength = template.MaxRelativeOutputDirectoryLength; CleanTempDirectories = template.CleanTempDirectories; ReuseEngineState = template.ReuseEngineState; BuildLockPollingIntervalSec = template.BuildLockPollingIntervalSec; BuildLockWaitTimeoutMins = template.BuildLockWaitTimeoutMins; Converge = template.Converge; DirectoriesToTranslate = template.DirectoriesToTranslate.Select( d => new TranslateDirectoryData(d.RawUserOption, pathRemapper.Remap(d.FromPath), pathRemapper.Remap(d.ToPath))).ToList(); ScrubDirectories = pathRemapper.Remap(template.ScrubDirectories); CompressGraphFiles = template.CompressGraphFiles; FileChangeTrackerInitializationMode = template.FileChangeTrackerInitializationMode; LogStatistics = template.LogStatistics; TrackBuildsInUserFolder = template.TrackBuildsInUserFolder; TrackGvfsProjections = template.TrackGvfsProjections; UseFileContentTable = template.UseFileContentTable; AllowDuplicateTemporaryDirectory = template.AllowDuplicateTemporaryDirectory; UnsafeAllowOutOfMountWrites = template.UnsafeAllowOutOfMountWrites; VerifyFileContentOnBuildManifestHashComputation = template.VerifyFileContentOnBuildManifestHashComputation; }
/// <nodoc/> public JavaScriptResolverSettings( IJavaScriptResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); ModuleName = resolverSettings.ModuleName; Environment = resolverSettings.Environment; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; NodeExeLocation = pathRemapper.Remap(resolverSettings.NodeExeLocation); AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; Execute = resolverSettings.Execute; CustomCommands = resolverSettings.CustomCommands; Exports = resolverSettings.Exports; WritingToStandardErrorFailsExecution = resolverSettings.WritingToStandardErrorFailsExecution; DoubleWritePolicy = resolverSettings.DoubleWritePolicy; CustomScheduling = resolverSettings.CustomScheduling; CustomScripts = resolverSettings.CustomScripts; SuccessExitCodes = resolverSettings.SuccessExitCodes; RetryExitCodes = resolverSettings.RetryExitCodes; ProcessRetries = resolverSettings.ProcessRetries; AdditionalDependencies = resolverSettings.AdditionalDependencies?.Select(additionalDependency => new JavaScriptDependency(additionalDependency, pathRemapper))?.ToList(); }
/// <nodoc/> public RushResolverSettings( IRushResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); ModuleName = resolverSettings.ModuleName; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; Environment = resolverSettings.Environment; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; NodeExeLocation = resolverSettings.NodeExeLocation; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; }
/// <nodoc/> public MsBuildResolverSettings( IMsBuildResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); RootTraversal = resolverSettings.RootTraversal.IsValid? pathRemapper.Remap(resolverSettings.RootTraversal) : Root; ModuleName = resolverSettings.ModuleName; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; RunInContainer = resolverSettings.RunInContainer; MsBuildSearchLocations = resolverSettings.MsBuildSearchLocations; FileNameEntryPoint = resolverSettings.FileNameEntryPoint; InitialTargets = resolverSettings.InitialTargets; Environment = resolverSettings.Environment; GlobalProperties = resolverSettings.GlobalProperties; LogVerbosity = resolverSettings.LogVerbosity; EnableBinLogTracing = resolverSettings.EnableBinLogTracing; EnableEngineTracing = resolverSettings.EnableEngineTracing; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; EnableTransitiveProjectReferences = resolverSettings.EnableTransitiveProjectReferences; }
/// <summary> /// Create new mutable instance from template /// </summary> /// <remarks> /// This is the only class with CommandLineConfiguration as the configuration entrypoint where the pathRemapper is an argument with default value. /// If the argument was optional everywhere as well there would be no compiler helping us if someone forgot to pass it along. /// This is the main entrypoint so we allow a default value here for convenience /// </remarks> public CommandLineConfiguration(ICommandLineConfiguration template, PathRemapper pathRemapper = null) : base(template, pathRemapper) { Contract.Assume(template != null); pathRemapper = pathRemapper ?? new PathRemapper(); Help = template.Help; NoLogo = template.NoLogo; LaunchDebugger = template.LaunchDebugger; Startup = new StartupConfiguration(template.Startup, pathRemapper); Filter = template.Filter; Server = template.Server; ServerDeploymentDirectory = pathRemapper.Remap(template.ServerDeploymentDirectory); ServerMaxIdleTimeInMinutes = template.ServerMaxIdleTimeInMinutes; }
/// <nodoc/> public JavaScriptResolverSettings( IJavaScriptResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); ModuleName = resolverSettings.ModuleName; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; Environment = resolverSettings.Environment; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; NodeExeLocation = resolverSettings.NodeExeLocation; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; Execute = resolverSettings.Execute; CustomCommands = resolverSettings.CustomCommands; Exports = resolverSettings.Exports; }
/// <nodoc/> public RushResolverSettings( IRushResolverSettings resolverSettings, PathRemapper pathRemapper) : base(resolverSettings, pathRemapper) { Root = pathRemapper.Remap(resolverSettings.Root); ModuleName = resolverSettings.ModuleName; UntrackedDirectoryScopes = resolverSettings.UntrackedDirectoryScopes; UntrackedFiles = resolverSettings.UntrackedFiles; UntrackedDirectories = resolverSettings.UntrackedDirectories; Environment = resolverSettings.Environment; KeepProjectGraphFile = resolverSettings.KeepProjectGraphFile; NodeExeLocation = resolverSettings.NodeExeLocation; AdditionalOutputDirectories = resolverSettings.AdditionalOutputDirectories; Execute = resolverSettings.Execute; CustomCommands = resolverSettings.CustomCommands; RushLibBaseLocation = resolverSettings.RushLibBaseLocation; Exports = resolverSettings.Exports; TrackDependenciesWithShrinkwrapDepsFile = resolverSettings.TrackDependenciesWithShrinkwrapDepsFile; }