
Sake: like make, but with shell scripts - fiatjaf
http://tonyfischetti.github.io/sake/
======
plorkyeran
The tool looks interesting, but I don't understand what the submission title
is supposed to mean. The novel part of this relative to make is not the use of
shell scripts (the actual building of things and dependency tracking appears
to be identical to make), but rather the graph visualization and ability to
actually document targets.

------
zem
bad title; shellscripts have nothing to do with it. the project's tagline
would be better:

Sake: A self-documenting build automation tool

~~~
asb
For something that _is_ like Make, but with shell scripts see shmake from
Steve Donovan [http://steved-imaginaryreal.blogspot.co.uk/2015/05/shmake-
sh...](http://steved-imaginaryreal.blogspot.co.uk/2015/05/shmake-shell-based-
build-tool.html)

~~~
davvid
apenwarr's implementation of djb redo[1] contains a minimal, shell
implementation of redo in its `minimal/` subdirectory.

It seems like the downside to using redo would be that there are .do files
sitting throughout the source tree. It'd be nice if there was a way to
consolidate several .do files into a single Redofile, similar to a Makefile or
Sakefile.

Like the non-minimal redo, sake is also implemented in Python. I wonder how
they compare, performance-wise.

[1] [https://github.com/apenwarr/redo](https://github.com/apenwarr/redo)

~~~
Tharre
A single Redofile kind of doesn't work with the hole concept of redo, sadly.
However, most .do files will sit in some kind of out/ directory anyway, so I
don't think that'd be a real issue in practise.

Speaking of performance, apenwarrs redo implementation suffers mostly from
excessive forking of the python runtime. Sake doesn't need to do this, but it
needs to do more work at the start, so my guess would be that Sake is faster
for any bigger project. That is assuming sequential builds though, because it
seems like Sake doesn't support parallel building?

EDIT: I believe you can create a fake "Redofile" even in apenwarr redo by just
naming it "default.do" and switching on $1 to see what you are supposed to
build. I even used this myself[0], but it's a hack, and should be replaced by
something better.

[0]
[https://github.com/Tharre/redo/blob/master/default.do](https://github.com/Tharre/redo/blob/master/default.do)

------
gojomo
Last month, the similar 'memoize' came up:

[https://github.com/kgaughan/memoize.py](https://github.com/kgaughan/memoize.py)
([https://news.ycombinator.com/item?id=9356433](https://news.ycombinator.com/item?id=9356433))

Also another entrant in the genre is 'Drake':

[http://blog.factual.com/introducing-drake-a-kind-of-make-
for...](http://blog.factual.com/introducing-drake-a-kind-of-make-for-data)
([https://news.ycombinator.com/item?id=5110921](https://news.ycombinator.com/item?id=5110921))

------
CalRobert
body { color: #777;

This is on a page with a white background. You might want to reconsider this
for the benefit of vision impaired readers (or even those trying to read with
some glare on the screen, as I am now).

~~~
nicolewhite
In their defense, it's the default when creating a GitHub pages site with the
'minimal' theme:
[https://github.com/orderedlist/minimal/blob/master/styleshee...](https://github.com/orderedlist/minimal/blob/master/stylesheets/styles.css#L6)

------
rtz12
So... just like make? I didn't bother reading what this is about, because the
grey text on white background is unreadable.

~~~
psykovsky
Less talking, more action.
[https://github.com/tonyfischetti/sake/pull/59](https://github.com/tonyfischetti/sake/pull/59)

------
joepvd
Was interested to see what this is about, but the lack of contrast between
letters and background put me off to make the effort to even try and get the
point. Please, people who make an effort: Please do not do so in vain.

~~~
notfoss
Not really a solution, but using NoScript helps in such situations. I was
using NoScript and only after seeing your comment (and temporarily
whitelisting the site) did I notice the issue.

