Is there yet another alternative to drake vs rake?
Rake issues:
- https://github.com/jimweirich/rake/issues/207
it does not abort early enough using --jobs 4
- There is no multifile, only multitask.
Users can assume that -m is ok, but it should be the Rakefile author
deciding upon this, not the user
Those are "fundamental" issues I don't want to keep.
drake issue:
all tasks get created in 0.09 secs.
drake target
behaves almost well, but starts way too many tasks, so if one fails it
takes too long to stop
drake -j 4 target
stops earlier (not starting that many jobs), but takes way longer (why
!??)
Now please help me: How to proceed? Start a drakerake project trying to
behave more dev/user/time friendly?
Is there another make like library which already does this?
It already works - some niceness such as "DSL" and "namespaces" are
missing.
Features compared to rake/drake:
- fails early
- builds the chain of dependencies which is supposed to take longest
first. This is done by caching the time it takes to build a task.
Maybe the code is not perfect but gets my job done.
Now it could be discussed which features of rumake are worth integrating
into rake/drake.
If you want to replace make using ruby you may want to give it a try.
rather than adjustintg an existing tool to my needs.
Evereybody is welcome to join.
quoting its Readme:
features:
* fast / lightweight
* abort early
* keep going (optional)
* tries to build the dependency path which is supposed to take longest first
* multiple threads possible to run multiple compilations at the same time
(no processes, thus if you have long running ruby calculations we have to
think about a solution)
* estimated time of arrival support by simulating the build based on previous runs
* tasks.respond_to? :shell_commands => export to makefile
* force rebuild when the command line changes (see @actionChanged)
TODO:
- improve rake/drake like DSL
- is it needed to have tasks run in order? rake's non multitask?
goals:
- write the code in a way so that it can eventually be used by guard one day
Give it a try, it might make a difference to you, too.
Of course its "work in progress", but gets my job done nicely