Take a look at one of my recent Pollen makefiles: https://thelocalyarn.com/cgi-bin/yarncode/artifact/7a3d32d6264f1bcb
I define my dependencies such that if one of the core files (like pollen.rkt) has changed, it triggers a re-render of all documents with `raco pollen setup` and then `raco pollen render -p ...`. The later dependencies check to see if individual Pollen articles (.poly.pm) have changed since their .html file was last rendered. If a render-of-everything has already been triggered above, then these will already be up to date at this point. But if not, any changed articles will be re-rendered singly, without parallel processing. (I don't use the -j switch when running make.) So the basic idea is that I give make a very specific dependency tree, and rely on it to check those dependencies in a specific order, bringing in the new parallel setup and render when it's clear a complete rebuild is needed. You also have to make sure that the makefile and the Pollen setup cache watchlist agree precisely on which are the "core" files that would trigger a complete rebuild. Because I have some Pollen articles that depend on others, I also use tricks like "touching" the dependent articles during the evaluation of the `root` tag. See https://thelocalyarn.com/cgi-bin/yarncode/artifact?udc=1&ln=91-92&name=d9318d9822c88d35&udc=1 and https://thelocalyarn.com/cgi-bin/yarncode/artifact?udc=1&ln=101-111&name=30ceaf46d62ff4c0 On Thursday, June 27, 2019 at 3:23:37 PM UTC-5, Shrutarshi Basu wrote: > > > This is great. I'm wondering how this should affect Makefile-driven > setups? Currently I have a project with a bunch of directories, and a > Makefile that runs `raco pollen render` for all the directories, and then > publish at the toplevel directory. I've been running it `make -j 4` (since > that's how many cores I have), but maybe there's a better way to do it? > Should I just use `raco pollen render --recursive` at the toplevel and let > pollen figure everything out? > > Here's a gist of my current Makefile, if it helps: > https://gist.github.com/basus/e524fed3a305fe4235ba03eab68c634d > > -- > Shrutarshi Basu > Basus.me > The ByteBaker <http://bytebaker.com> -- computer science is not about > computers > @basus <http://twitter.com/basus> > -- You received this message because you are subscribed to the Google Groups "Pollen" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/pollenpub/d52ce987-16bf-4df1-be52-0b67450c8d22%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
