Rake drake or?

Is there yet another alternative to drake vs rake?

Rake issues:

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?

Marc W.

I’ve started a new project from scratch:

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.

Marc W.

Am 06.07.2013 15:29, schrieb Marc W.:

I’ve started a new project from scratch:
GitHub - MarcWeber/rumake: drake & rake alternative replacement rumake
[…]
If you want to replace make using ruby you may want to give it a try.

I just wanted to mention that there also is ‘thor’.

(I did not follow the previous posts and your requirements, though,
and also do not use it myself, so this might not be helpful at all…)

Regards,
Marcus

Excerpts from sto.mar’s message of Sun Jul 07 15:23:49 +0200 2013:

I just wanted to mention that there also is ‘thor’.
Looks like a library which supports tasks, and is written to simplify
wirting command line applications. I needed much more, I ended up
writing

GitHub - MarcWeber/rumake: drake & rake alternative replacement rumake

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

Happy coding

Marc W.