Kook/Rook
News
- [2006-09-27] Kook 0.2.1 released
- [2006-09-24] Rook 0.2.0 released
- [2006-09-24] Kook 0.2.0 released
- [2006-01-19] 0.1.1 released
- [2006-01-17] 0.1.0 released
Introduction
| Fig: Cookbook format is YAML and it allows to contain PHP/Ruby code. |
|
Kook and Rook is a software build tool such as Make, Ant, SCons or Cook. Kook is implemented in PHP5 and Rook is the port of Kook into Ruby. Basic commands (copy, move, rename, mkdir, ...) are also implemented in PHP(Kook) or Ruby(Rook) and allow you to execute platform-depended command.
Kook and Rook liken build process to cooking.
- Output is called as 'product'.
- Input file is called as 'ingredient'
- Optional input file is called as 'topping'
- Task is called as 'recipe'.
- Build file is called as 'cookbook'.
Kook/Rook generates products from ingredients according to recipes. You describe products, ingredients, and recipes in cookbook.
Cookbook's format is YAML which is much easier for human to read and write than XML. In addition, Kook and Rook allows you to embed PHP or Ruby code into cookbook directly. It means that you can get the advantage of 'declarative' with YAML and of 'procedural' with PHP/Ruby code.
Kook is implemented in PHP5 because exception is supported only in PHP5 and not supported in PHP4. You need to install PHP5 before using Kook.
Rook is a Ruby port of Kook. It works with Ruby 1.8 or later.
Download
- Download Kook from sourceforge
- Kook-0.2.1.tgz (2006-09-27 released)
- Download Rook from rubyforge
- Rook-0.2.0.gem (2006-09-24 released)
Installation
- Kook
- Download Kook-X.X.X.tgz and just type
pear install Kook-X.X.X.tgzby root user. - Or copy 'bin/kook' and 'Kook/*.php' to proper directory manually.
- Download Kook-X.X.X.tgz and just type
- Rook
- Just type 'gem install -r rook' by root user.
- Or download rook_X.X.X.tar.bz2, extract it, and type 'sudo ruby setup.rb'.
- Or copy 'bin/rook' and 'lib/*' to proper directory manually.
Documents
- Kook
- Rook
License
- LGPL 2.1
If you need looser license, please contact me.
Other
- Bug reports or request for enhancement are welcome.