Ejemplo n.º 1
0
 internal DeltaProject(DeltaProject prev, Solution newSolution)
 {
     _changeMakerService = prev._changeMakerService;
     _solution           = newSolution;
     _baseProjectId      = prev._baseProjectId;
     _nextName           = prev._nextName.Next();
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
    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);
        }
    }