public SolutionBuildPattern(ISet <EquatableEdge <IBuilder> > graph, MSBuildRunner msbuildRunner, SlnBuilder slnBuilder) { this.msbuildRunner = msbuildRunner; this.slnBuilder = slnBuilder; root = new Lazy <IBuilder>(() => FollowMergingSources(graph, msbuildRunner)); }
private IBuilder MergeSteps(IList <IBuilder> additionalSteps, MSBuildRunner msbuild, IEnumerable <Project> projects) { var prjs = projects.ToArray(); if (additionalSteps.Count > 0) { return(coreBuilderFactory.CreateMergingBuilder(additionalSteps.Concat(new[] { msbuild }), new ProjectBuilderTag(String.Format("Runtime deps with project builders for {0}", String.Join(", ", prjs.Select(p => p.Name))), prjs))); } else { return(msbuild); } }
private static IBuilder MergeSteps(IBuildContext context, List <IBuilder> additionalSteps, MSBuildRunner msbuild) { if (additionalSteps.Count > 0) { var merger = new MergingBuilder(additionalSteps.Concat(new[] { msbuild })); merger.AddToContext(context); return(merger); } else { return(msbuild); } }