Skip to content

ronbu/made

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Made is a simple reactive build tool. If a file changes, every dependency of this file will be rebuilt. This project is heavily inspired by tup.

The build system needs a simple configuration file (Madefile) in the current folder. It is composed of shell commands on every line.

Made watches all files enclosed in '<|' and '|>'. If the glob pattern inside matches, the command on this line is executed.

cp <|.hgignore|> .gitignore
cp <|.gitignore|> .hgignore
cp <|*.txt|> dir
cp <|*.txt|> build/%b.html

The first line copies .hgignore to .gitignore if .hgignore is modified. The second line does the same in reverse (probably not a good idea :-)). The third line copies every changed *.txt file to the folder "dir". The last line copies every *.txt file from the current folder to the folder "dir" and changes the extension to .html, if a *.txt file has changed.

When made is executed it will run indefinitely and execute the above commands on every matching file change event (newly added or modified).

Installation

go get github.org/ronabu/made

If You have a properly configured Go environment.

TODO's and limitations

  • Not stable yet
  • Only OS X is currently supported.
  • No concurrency
  • Uses polling to find file modifications
  • No string escaping in Madefile

About

reactive file based automation tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages