Skip to main content

Ralsina.Me — Roberto Alsina's website

Posts about hace

Version 0.1.3 of Hacé is out

A new release of Hacé my make-like tool backed by Croupier is out!

New in this version


  • Set vari­ables from the com­mand line
  • Al­low pass­ing out­put files as ar­gu­ments
  • Au­to mode works bet­ter
  • Han­dle bo­gus ar­gu­ments bet­ter
  • Made --question more verbose, and only report stale tasks matching arguments
  • New -k option to keep going after errors.
  • Switched to croupi­er main, sup­ports de­pend­ing on di­rec­to­ries
  • Au­to­mat­i­cal­ly build bi­na­ries for re­lease
  • Gen­er­al house­keep­ing
  • Build it­self us­ing a Hace­file in­stead of a Make­file
  • Re­ject if two tasks share out­puts (lim­i­ta­tion of croupi­er for now)

Bugs Fixed:

  • Warn about un­known tasks used in com­mand line
  • Tasks with out­puts passed wrong tar­get to croupi­er
  • Com­mand out­put was not vis­i­ble in the log.

Full Changel­og: v0.1.2...v0.1.3

Hacé version v0.1.2 is out

A new release of Hacé my make-like tool backed by Croupier is out!

Version v0.1.2

  • Make tasks not be de­fault by de­fault. This means that if you
    don't spec­i­fy a task when in­vok­ing hace, noth­ing will hap­pen.

    This is a break­ing change.

  • Added self to ex­posed vari­ables in tasks. This can be used
    to achieve what you would use $@ or oth­er au­to­mat­ic vari­ables
    in Make­files.

  • Added -f op­tion to spec­i­fy a Hace­file to use.

  • Added -n op­tion to do a dry run.

  • Added al­ways_run flag for tasks which caus­es them to al­ways
    run even if their de­pen­den­cies are un­changed.

  • Im­ple­ment­ed --ques­tion flag to ask if a task should be run.

  • Im­ple­ment­ed au­to com­mand, which con­tin­u­ous­ly re­builds as need­ed
    re­act­ing to filesys­tem changes.

Hace release v0.1.1 is out

A new release of Hacé my make-like tool backed by Croupier is out!

First ac­tu­al re­lease. While the tool is not fea­ture com­plete by any mean­s,
it does some stuff and what it does it seems to do well.

For de­tails on what it can and can't do, see the

New Project: Hacé, like Make but lame

Since my dataflow li­brary Croupi­er is sort-of-­func­tion­al, I need­ed a project where I could ex­er­cise it.

This is im­por­tan­t, be­cause it's how you know if the de­sign of a li­brary is good, ex­ten­si­ble, and so on.

So, I de­cid­ed to write a min­i­mal make-­like-thing.

Well, good news, that was easy!

In about 50 lines of code I could write a thing that will run shell com­mands in a de­pen­den­cy dataflow!

It's called Hacé (don't both­er about how to pro­nounce it, I don't care) which is "im­per­a­tive make, sec­ond per­son sin­gu­lar" in ar­gen­tini­an span­ish, so it's an or­der to make.

I will spend a week or two mak­ing it in­to some­thing semi-use­ful, since it has some ad­van­tages over Make­files, such as re­act­ing to file con­tent and not file date, but its des­tiny is prob­a­bly just to be a test­bed for Croupi­er.

Contents © 2000-2024 Roberto Alsina