/// <summary> /// Constructor /// </summary> public MockHost(BuildParameters buildParameters) { _buildParameters = buildParameters; _buildParameters.ProjectRootElementCache = new ProjectRootElementCache(false); _configCache = new ConfigCache(); ((IBuildComponent)_configCache).InitializeComponent(this); // We are a logging service _loggingService = this; _legacyThreadingData = new LegacyThreadingData(); _requestEngine = new BuildRequestEngine(); ((IBuildComponent)_requestEngine).InitializeComponent(this); _resultsCache = new ResultsCache(); ((IBuildComponent)_resultsCache).InitializeComponent(this); _requestBuilder = new Microsoft.Build.UnitTests.BackEnd.BuildRequestEngine_Tests.MockRequestBuilder(); ((IBuildComponent)_requestBuilder).InitializeComponent(this); _targetBuilder = new TestTargetBuilder(); ((IBuildComponent)_targetBuilder).InitializeComponent(this); }
public static ITargetBuilder SkipIf(this ITargetBuilder builder, Func <bool> predicate, string message = null) { return(builder.Wrap((target, next) => { if (predicate()) { target.MarkSkipped(message); } else { next(target); } })); }
public static ITargetBuilder PreCondition(this ITargetBuilder builder, Func <bool> predicate, string message = null) { return(builder.Wrap((target, next) => { if (!predicate()) { target.MarkFailed(message, null); } else { next(target); } })); }
/// <summary> /// Constructor /// /// UNDONE: Refactor this, and the other MockHosts, to use a common base implementation. The duplication of the /// logging implementation alone is unfortunate. /// </summary> public MockHost() { _buildParameters = new BuildParameters(); _legacyThreadingData = new LegacyThreadingData(); _configCache = new ConfigCache(); ((IBuildComponent)_configCache).InitializeComponent(this); _loggingService = this; _resultsCache = new ResultsCache(); ((IBuildComponent)_resultsCache).InitializeComponent(this); _requestBuilder = new RequestBuilder(); ((IBuildComponent)_requestBuilder).InitializeComponent(this); _targetBuilder = new TargetBuilder(); ((IBuildComponent)_targetBuilder).InitializeComponent(this); _sdkResolverService = new MockSdkResolverService(); ((IBuildComponent)_sdkResolverService).InitializeComponent(this); }
public ConsoleTargetBuilderClient(ITargetBuilder builder) { _builder = builder; }
/// <summary> /// Constructor /// /// UNDONE: Refactor this, and the other MockHosts, to use a common base implementation. The duplication of the /// logging implementation alone is unfortunate. /// </summary> public MockHost() { _buildParameters = new BuildParameters(); _legacyThreadingData = new LegacyThreadingData(); _configCache = new ConfigCache(); ((IBuildComponent)_configCache).InitializeComponent(this); _loggingService = this; _resultsCache = new ResultsCache(); ((IBuildComponent)_resultsCache).InitializeComponent(this); _requestBuilder = new RequestBuilder(); ((IBuildComponent)_requestBuilder).InitializeComponent(this); _targetBuilder = new TargetBuilder(); ((IBuildComponent)_targetBuilder).InitializeComponent(this); }
public static ITargetBuilder Do(this ITargetBuilder builder, Action action) { return(builder.Do(_ => action())); }
/// <summary> /// Starts a build request /// </summary> /// <param name="loggingContext">The logging context for the node.</param> /// <param name="entry">The entry to build.</param> public void BuildRequest(NodeLoggingContext loggingContext, BuildRequestEntry entry) { ErrorUtilities.VerifyThrowArgumentNull(loggingContext, "loggingContext"); ErrorUtilities.VerifyThrowArgumentNull(entry, "entry"); ErrorUtilities.VerifyThrow(null != _componentHost, "Host not set."); ErrorUtilities.VerifyThrow(_targetBuilder == null, "targetBuilder not null"); ErrorUtilities.VerifyThrow(_nodeLoggingContext == null, "nodeLoggingContext not null"); ErrorUtilities.VerifyThrow(_requestEntry == null, "requestEntry not null"); ErrorUtilities.VerifyThrow(!_terminateEvent.WaitOne(0), "Cancel already called"); _nodeLoggingContext = loggingContext; _blockType = BlockType.Unblocked; _requestEntry = entry; _requestEntry.Continue(); _continueResults = null; _targetBuilder = (ITargetBuilder)_componentHost.GetComponent(BuildComponentType.TargetBuilder); VerifyEntryInActiveState(); InitializeOperatingEnvironment(); StartBuilderThread(); }