From 4ef4ac2b51c4af43003d0b27de73b276134dba04 Mon Sep 17 00:00:00 2001 From: nissemand243 <47781194+nissemand243@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:35:24 +0200 Subject: [PATCH 1/2] 1a + 1b --- CoDepend/.codepend/snapshot | Bin 2541 -> 2290 bytes CoDepend/Domain/DependencyGraphSerializer.cs | 14 +++++++++++++- CoDepend/Infra/Logger.cs | 0 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 CoDepend/Infra/Logger.cs diff --git a/CoDepend/.codepend/snapshot b/CoDepend/.codepend/snapshot index aa638e386a9c420fe83fb2ee05c97d4985dbf67a..3f46a3a06d654b469c77daa02965e66283124131 100644 GIT binary patch literal 2290 zcmZvdZEO_B9mb!T-JRXN3m#+pjIqyNz~>rcd`k#U14a=1g7F(R2d1fjz;a&f3+G#N zcTk{&6w;ss)CBepN)b^YieqqSFa#(hC~i{;Dy3AZltQn9sxKdsFRf_uA#If4&e?$$ zwO@8uGozjVJpbQ3PwG0`c!OWO;oW}?Q1*OLlqRwZyI}6+VO}LjqE%J<7z4N-`yJ9a^SBckvm_3 zq%U;hT1zZx$2VDFJ7Eq#0(}>ZnKdAVEt|2V%ZewSgK@zJ!rDN05_$)PW)%N`*|IWb z4J7)UWQP^AdRt+7g8ZR?8JK#=8z6ngH9pJj3AUt&5>kFY?C7v z4|}s48>9}}w9Wxl&P~*TdBN+DU*BbgH(w=%Vu@adNhXnQBHt_}bhV6UQ7ZZ;DljU) zgz`bij*8B2v%9QhAESCMv?ds%jZmIn9kIVBwi(i(%>z3@=z2QWj@S3gl0y}-t`@$t z5p3yBMuc8M95w@OqRMIIz$kK;e@JIUBcDpy&DfLp1xcR@nxgW!m0kPst+DdofAWLK zoqq!9%O%*<;KVjXdhbg9k;xDW6r6t?)0SF)Qo19ex2L_>cx&uv!Ku4bSTHkt7TDL6 z4#{*r*6$D%zFPuS+l^o*&<%NjunvrC+=Q~~CU}1%vGxfT+21gaq|b#gx83QjReYyC zU`ax%74jm!#mF}5JwG(o4O*&r zzK_|>PLiNR)^x(N%RQ{3k{A+V?0 zov;;MHBq~^8q>}M$CM{~<5vGxCiqeVSo^9gd}P?e-q)2eS#Lv$`v;Ga`lV+QAM_OR z=RA3Z?go)GslDLKJVfnP)kEMjJt%bt zQIWdzBj|7Hvolpi;B$4xK7~{dxkfYGwUBdDXC>*kUg#az zM6X27U#Q^@ff+|m=#zN>Dtk#EfA#7)PZ2ptqz#0v(bbzox(&G+-WuIMx}3-}Ax+i& zZbmZ>{Yv9L_l#s5Ii@k?j|x4Z;#n^h1Jt@cD}BbAw<#FjBwP zO8B6b&-ZD?XqKqM4rXo0jwj5taA9fPXTD7J{abK<=KmqKRv?zCsKK>n=Rf9JDafjv zAgc<*UsZLVsA?eKp07r3$U$y=7>iPw={_`O`4M;V9dPknmPMu<%1y|=he=r__HwWE zhY=(7ca#;JT0vpMH`9jNATnkPlwrv@^f}SVMI!wa+A`$4D!@C7(pooDwFc5+ zA}ytC5ah=M+a>;nC@M;+e};f~m!L>G!Jw?^pwP(Lpfi0Rmy&Y6K!bOkR-8IY`31$# zH-dVPYsKzH@EaswULx`9n#4mW;x{$FcSz#1Ma7k*jMwO8{3SG=JQFlUR%Sh@Oeuc5 WL*u&?uXa*p2V}ZN-jF>o!M_34R8aN+ literal 2541 zcmZuzZBSI#8Gg>WckkZ2s~$iX2`(%O3?R4{wKh>YB8UnCvVz2BYSqhn#jUW5yQ{%( zrLD#oE7@J0)S48(ieFVU#`qP9PDk6Q8Pw{!sfp?IhiNBc)g;x9*zH*mTc`bV@11!+ z&ig*+dEe&-FG_V+*zzmpH5UMB-J_%sxs4H_opyDHJsho{TMXB^vSA1vva3Z+O${!m z=68AA>Vf|FEF6_Sj7)HKUV8(f&MZ6?CN9w2^?Hf!*PVWk*Y5NkNxHqF!g zdO134efmVrr}MNQB!WJa!_m>-fggXpmW1}%)e=vm=5njQkx>_p{x;fu{{b>1nW->` zu(n3`y0iw@vLmpaNr7@B9NpaA^)U~9kA#j@;X;|)uY2cfPTi;O?+0f%y7F;R+6vgR zM}Q=jEkuz+^ZHi9cFY2@GaS9^JPRH?YZ;-RBT;R@1E^&+Zmr3;z~isf+*xJiWp9tjN%ahixZdJ)VI@liZ6Ned-=#toBW7o7Ut&jSL+Q zp{ar+x>&34B!dt1gCiWhGiUWxWY?2-2wjVKbvDw}>gn{fce2OZsQEcIhvQ;yxtALs zlk7$^hbR*mhZpQ9o~ zLMI#uR_jiWcb-peS7NyAE!pt#Bw`z8hvE1Xm%q$C-^1hfo6*TJ|GTw~CtpkoAg5I| z8O1nX0VFdHhokz+*EnF2$^t0G4$Zmn3`yiM+;G4%*ui7gsDubNF;Gn*v_!;8q;Tf& zN@li&I`PuF8&o()#4?<()*Cqemgo-6zd)i&9PWgpHx7K&%2RA4q0aHd@Y7da`s=); zb~zS*X~j3^k+ivu&^dIJ?k#Q<1rIg!AavsApNFKs6Qq)pboG}O8{+4h-ZCtj?6(sc@{dBY(+rLdSg3oG5u?Is zD`cMKo^8`IBz*9lXj+cEDV_>~ZzRU2kDE?UyIqEaQ{x0v8LFmgOSE#p_F)o4J|I`u z6|CWfo$V56Go@Ft*{7C!{0%O57590@vgUb_=@@+ebt?XejOl@*CL9$i#@?iuAkk$o z*f2w#>hrh<08a#ST#RCqf)BcQ-rti#(9&rhw_XTt;Kk%Ef2$oymw!RTk=X519Sxe> zUt3v`(9=t761k7jv+FJ`=^~+%zk_)t{ee&INQli_+=N4OuL)|z{tBc5PU>+W7Rs9> zJZ9{zzbujFggLs#!tu!UFnWluqKpO^cc}teQrR1Se$uO}e z3hnPuq;8{FLd98_ybTN#>OvX2fk`7u<42dRV22rxWo&c;Jl5K0V z63;SVlr*L1Rj3U3ArbAQ|4_wvlL)sV=E7`Htew+{m<{29Yz-WdZEv^9%n~>#WNbOH zN$%&BS*?sg9eEIoBtr)1NrL_cmSr$n0(Q_(jA)l_!GJu3EtChc3ON~L1iD>njcr-o z>r+EqiiDbnmPl^jko8&qA6;j0x<)cb;KCHof0QK))~u{vUgm&Ub8_J6WneCl5jdKQ zxM~mLy!$ae7#V6oNsMTG;@=13&mL-}!*CO#bia2@%GY{4ix$yLE=2D1a z3IxuLR**bc4wqsiUuWwP7g!JZEX=Dgy+>iKWK1Y{Y&=@}#O_tFFF@E)C~O@_a{9VH ztp!>1OlwatBYhHVP_$+5k&c3 zAd*)dTfM`@$+6YDh|okzlM%o4DP^k#1J5)J7pZBkga8I*SU{V>zr Date: Tue, 14 Apr 2026 10:58:19 +0200 Subject: [PATCH 2/2] all task 1 --- CoDepend/.codepend/snapshot | Bin 2290 -> 2325 bytes .../Application/DependencyGraphBuilder.cs | 8 ++++-- CoDepend/Application/UpdateGraphUseCase.cs | 4 +++ CoDepend/Infra/Logger.cs | 27 ++++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/CoDepend/.codepend/snapshot b/CoDepend/.codepend/snapshot index 3f46a3a06d654b469c77daa02965e66283124131..3b69ac6776b5abf48a889d942d91dfef319a8779 100644 GIT binary patch delta 613 zcmWlVOGs346o=0_|NHd998yPY)EV(X8RoPwa1nv|Kq<&3U5J%k$E#dvW}F!<3sZ#X zC5UtH2vI>yZ%HiEk=nFyk(*{MLRsyiMGJQ=#HQ8nTYQ`Ew|iirkljsXAjjF9@$@r* z{5ZuEp5I&hT~j=7?;v4%J2hKYv8!$EPwgfv?QeU_m|koMw#Fi+9Sy$JKv`Y+7$GCG zwZ9&(`(f|E&gu~{LTIfn$RV6waMw;ksxvxfC5FtfH3R$=kXJzW+=d$W^;HB1eANz^ zJ)?u>m{oxBo}|@cCan;97v~^|@CX#|dM$`+*xVK!k7R)}pzCwst!)9L3}?<;3ERA4 z-|%C=RnV_n;5}@C+J_~bap;gYL?C65jyV*=q;-HNO9AICR2+A<>-s>PMsbOh7l6+Y z<^?|ooo^A9S6u*UgDTICo)ZU>e}TWaZ&cs3XOc>s0+PC=!c&99wHPS=uu0*TSair9 zz9V4~@+VOEDC&*Qc6|sc+s!jlyKNYjv>ESwScpP ziZV||jvx$jp(=%ef2qV5p@#jMm;3YEt(9^GR&z)LV_fsO4~W;~avlIO)-<0p0Gz`j zsaf!MO>hWG`Hxm^yb|14FJwN1es0tKd=FYPOAW!UL~J-=M$(dRxmV*!+0ZhoGAmJ^ JboqZb!asQ`onin0 delta 589 zcmXwz&r6eW9LL|E&-Z!0dmaaUayqf0TR5eHau5amkjkGW5!ylsO5$-o+RSabt*{P_ zd62S0xh0j@q3DN7zf6s8)g@1Z4iN-h`Ug7HA?hF*)amuQyo8uGpK#N0XE=UIQ>ge2!OFSg3>W^bER|m4bc-;i*@jL$8t1WcXT6vNTYr^7TiGwWg8-@xhcq zMP*gwb{QRUHxn5pu3`?L{GzSonlj}w>QK*RLmCBC*89O@ST|!2u@5{6yQn0GurzBR z4-+0v{T1(5=1t%$5FhQAsP@=1;5#HUp0ZG3&d~Y>drOQM%-`CGK|Tz4Sb9+}+Vabp zbv9YmQcGdkXTjTR1&X&>mdzUJ1AAw!K%oy(q6(u~$*QF!ifZ{})p#E(*}lHKg@Urf a4$4)u-Fwm)=}xBx(@r922A&-&*#19TR*I?s diff --git a/CoDepend/Application/DependencyGraphBuilder.cs b/CoDepend/Application/DependencyGraphBuilder.cs index 44446e6..79e1a13 100644 --- a/CoDepend/Application/DependencyGraphBuilder.cs +++ b/CoDepend/Application/DependencyGraphBuilder.cs @@ -8,6 +8,7 @@ using CoDepend.Domain.Models; using CoDepend.Domain.Models.Records; using CoDepend.Domain.Utils; +using CoDepend.Infra; namespace CoDepend.Application; @@ -80,6 +81,7 @@ private async Task TryClassifyItem( List<(RelativePath Parent, RelativePath Item, string AbsPath)> fileItems, CancellationToken ct) { + var logger = new Logger(); try { ct.ThrowIfCancellationRequested(); @@ -100,7 +102,8 @@ private async Task TryClassifyItem( } } catch (OperationCanceledException) { throw; } - catch (Exception ex) { await Console.Error.WriteLineAsync($"Error while processing '{item.Value}': {ex}"); } + + catch (Exception ex) { logger.LogError($"Error while processing '{item.Value}': {ex}"); } } private async Task Deps)>> ParseAllAsync( @@ -122,6 +125,7 @@ await Parallel.ForEachAsync( CancellationToken ct) { var (parent, item, absPath) = fileItem; + var logger = new Logger(); try { var deps = new List(); @@ -132,7 +136,7 @@ await Parallel.ForEachAsync( catch (OperationCanceledException) { throw; } catch (Exception ex) { - await Console.Error.WriteLineAsync($"Error while processing '{item.Value}': {ex}"); + logger.LogError($"Error while processing '{item.Value}': {ex}"); return null; } } diff --git a/CoDepend/Application/UpdateGraphUseCase.cs b/CoDepend/Application/UpdateGraphUseCase.cs index 34504e3..560b466 100644 --- a/CoDepend/Application/UpdateGraphUseCase.cs +++ b/CoDepend/Application/UpdateGraphUseCase.cs @@ -6,6 +6,7 @@ using CoDepend.Domain.Interfaces; using CoDepend.Domain.Models.Enums; using CoDepend.Domain.Models.Records; +using CoDepend.Infra; namespace CoDepend.Application; @@ -25,15 +26,18 @@ public async Task RunAsync(CancellationToken ct = default) var 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); + var logger = new Logger(); if (renderOptions.Format != RenderFormat.None) { if (diff) { var compareGraph = await snapshotManager.GetLastSavedDependencyGraphAsync(snapshotOptions, ct) ?? throw new InvalidOperationException("Diff mode requires a saved snapshot, but none was found."); + logger.LogInformation("Running diff use case"); await renderer.RenderDiffViewsAndSaveToFiles(graph, compareGraph, renderOptions, ct); } else + logger.LogInformation("Running non-diff use case"); await renderer.RenderViewsAndSaveToFiles(graph, renderOptions, ct); } diff --git a/CoDepend/Infra/Logger.cs b/CoDepend/Infra/Logger.cs index e69de29..41200d9 100644 --- a/CoDepend/Infra/Logger.cs +++ b/CoDepend/Infra/Logger.cs @@ -0,0 +1,27 @@ +using System; + +namespace CoDepend.Infra; + +public class Logger +{ + public Logger() + { + + } + + public void LogInformation(string input) + { + Console.WriteLine($"INFO: {input}"); + } + + + public void LogWarning(string input) + { + Console.WriteLine($"WARN: {input}"); + } + + public void LogError(string input) + { + Console.Error.WriteLine($"ERROR: {input}"); + } +} \ No newline at end of file