<div dir="ltr">I don't know what the state of the art is, but for chasing down a tree of dependencies to determine what needs to be rebuilt, there's always make. Usually a human hand-codes the dependencies of each file in the Makefile -- but if you could automate that, make could do the rest.<br><br>Note also that shake is a make alternative written in Haskell, with (gross understatement here) better syntax.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 26, 2023 at 9:16 AM Geraldus <<a href="mailto:heraldhoi@gmail.com" target="_blank">heraldhoi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello, dear Cafe!<br><br>I have a mono repository and would like to do the following for CI:<br>- take the files from the commit<br>- Find all the code that depends on them explicitly or implicitly<br>- make a list of executable files that need to be rebuilt<br><br>This happens in CI and there is no cache of previous builds. Note that dependencies may not be direct, e.g:<br>- there are packages A, B, C. <br>- C depends only on B<br>- B depends on A<br>- C should be rebuilt if there were changes in A<br><br>Can you please tell me if there is any ready-made solution for this?<br></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">   </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px">   </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a>   |   <a href="https://twitter.com/carelogic" target="_blank">Twitter</a>  |  <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>