internal DeltaProject(DeltaProject prev, Solution newSolution) { _changeMakerService = prev._changeMakerService; _solution = newSolution; _baseProjectId = prev._baseProjectId; _nextName = prev._nextName.Next(); }
public async Task GenerateDeltas(DeltaProject deltaProject, IAsyncEnumerable <Delta> deltas, Func <DeltaNaming, DeltaOutputStreams>?makeOutputs = null, Action <DeltaNaming, DeltaOutputStreams>?outputsReady = null, CancellationToken ct = default) { await foreach (var delta in deltas.WithCancellation(ct)) { Console.WriteLine("got a change"); /* fixme: why does FSW sometimes queue up 2 events in quick succession after a single save? */ deltaProject = await deltaProject.BuildDelta(delta, ignoreUnchanged : config.Live, makeOutputs : makeOutputs, outputsReady : outputsReady, ct : ct); } }
public async Task Run(CancellationToken ct = default) { await PrepareToRun(ct); var capabilities = PrepareCapabilities(); var baselineArtifacts = await SetupBaseline(capabilities, ct); var deltaProject = new DeltaProject(baselineArtifacts); var derivedInputs = SetupDeltas(baselineArtifacts, ct); await GenerateDeltas(deltaProject, derivedInputs, makeOutputs : MakeOutputs, outputsReady : OutputsReady, ct : ct); // FIXME: do something for LiveRunner if (OutputsDone != null) { await OutputsDone(ct); } }