diff --git a/CoDepend/.codepend/snapshot b/CoDepend/.codepend/snapshot index aa638e3..a9fcc88 100644 Binary files a/CoDepend/.codepend/snapshot and b/CoDepend/.codepend/snapshot differ diff --git a/CoDepend/Application/UpdateGraphUseCase.cs b/CoDepend/Application/UpdateGraphUseCase.cs index 34504e3..cb85283 100644 --- a/CoDepend/Application/UpdateGraphUseCase.cs +++ b/CoDepend/Application/UpdateGraphUseCase.cs @@ -17,12 +17,14 @@ public sealed class UpdateGraphUseCase( IReadOnlyList parsers, RendererBase renderer, ISnapshotManager snapshotManager, + IRepository? repository = null, bool diff = false ) { public async Task RunAsync(CancellationToken ct = default) { - var snapshotGraph = await snapshotManager.GetLastSavedDependencyGraphAsync(snapshotOptions, ct); + var snapshotGraph = repository?.GetSnapshot(); + snapshotGraph ??= await snapshotManager.GetLastSavedDependencyGraphAsync(snapshotOptions, ct); var projectChanges = await ChangeDetector.GetProjectChangesAsync(parserOptions, snapshotGraph, ct); var graph = await new DependencyGraphBuilder(parsers, baseOptions).GetGraphAsync(projectChanges, snapshotGraph, ct); diff --git a/CoDepend/Domain/Interfaces/IRepository.cs b/CoDepend/Domain/Interfaces/IRepository.cs new file mode 100644 index 0000000..68385a2 --- /dev/null +++ b/CoDepend/Domain/Interfaces/IRepository.cs @@ -0,0 +1,9 @@ +using CoDepend.Domain.Models; + +namespace CoDepend.Domain.Interfaces; + +public interface IRepository +{ + ProjectDependencyGraph? GetSnapshot(); + void SetSnapshot(ProjectDependencyGraph snapshot); +} \ No newline at end of file diff --git a/CoDepend/Infra/Repository.cs b/CoDepend/Infra/Repository.cs new file mode 100644 index 0000000..665da0b --- /dev/null +++ b/CoDepend/Infra/Repository.cs @@ -0,0 +1,18 @@ +using CoDepend.Domain.Interfaces; +using CoDepend.Domain.Models; + +namespace CoDepend.Infra +{ + public class Repository : IRepository + { + public ProjectDependencyGraph? GetSnapshot() + { + return null; + } + + public void SetSnapshot(ProjectDependencyGraph snapshot) + { + // FIXME: does nothing for now + } + } +} \ No newline at end of file diff --git a/CoDepend/Program.cs b/CoDepend/Program.cs index 1942eb0..147a1dd 100644 --- a/CoDepend/Program.cs +++ b/CoDepend/Program.cs @@ -41,7 +41,7 @@ public static async Task CLI(string configPath, string format = "puml", var parsers = DependencyParserFactory.SelectDependencyParser(parserOptions); var renderer = RendererFactory.SelectRenderer(renderOptions); - var useCase = new UpdateGraphUseCase(baseOptions, parserOptions, renderOptions, snapshotOptions, parsers, renderer, snapshotManager, diff); + var useCase = new UpdateGraphUseCase(baseOptions, parserOptions, renderOptions, snapshotOptions, parsers, renderer, snapshotManager, diff: diff); await useCase.RunAsync(); Console.WriteLine($"Success! Diagrams available in: {renderOptions.SaveLocation}");