Simon Michael
unread,Mar 2, 2020, 12:43:26 PM3/2/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to shake-bui...@googlegroups.com
Hi Neil, all,
in the hledger project I have a Makefile which I use as front end for all scripts and common tasks. For more portability and programmability, I added a Shake.hs, which currently handles the more complex tasks (eg generating docs).
Every so often I think about going all in on shake, using it as a general scripting tool as I do with make. It would be nice to be able to focus on one portable and powerful system, with (compared to make, bash, and ordinary haskell scripts) the combination of portability, haskell power, nice Command utilities, and a powerful build system available for tasks which need that.
Then I remember one big limitation: I can't run two shake tasks in a project at the same time, because of "failed to acquire a file lock on .shake/.shake.lock". Some situations where this has come up:
- when I think about automating a complex release process, with many steps, some of them not yet automated, requiring human review etc. It seems desirable to be able to add a new script to my shake file that, at least at first, just runs the same commands that I would, some which involve running existing shake scripts.
- in a different project: a long-running script that shows an updating time dashboard. I realised this couldn't be a shake script, or it would prevent using shake for anything else in that project.
Any thoughts on this ? I wondered if there'd be a flag to use a different lockfile/state directory, at least, but I think not (--share doesn't seem to do it).
Thanks a lot for shake. Best,
-Simon