Hi There,

The debate we got earlier [1] on this list after I posted a very early
version of the
Ant based build script showed that we were possibly going in the wrong
direction.

After chatting on IRC we realized that (some statements might look
obvious to you):

1. the actual Makefile is hard to read
2. the actual Makefile is not cross-platform at all
3. the actual Makefile is a PITA to maintain
4. the Ant build file is not as cross-platform as I hoped it was (my bad)
5. the Ant build file will most likely be a PITA to maintain as well

So we thought it could be a good idea to have a look at PHP based build systems.

Our requirements are:
- the build system must be cross platform as much as possible
- the build system must be simple to use and simple (our part) to maintain.
- the build system must be easy to use

I found Phing and Pake and here is what I think about them (please not that
I had a look at those tools during lunch as it was the best I could
do. If I overlooked
anything feel free to tell me):

Phing:
- looks big (bigger than the default Ant)
- provides a lot of features
- is XML based
- is supposed to be Ant for PHP but does not seem to be 100%
compatible with Ant files
- is very well documented

Pake:
- is smaller than Phing (not hard)
- is not as clearly documented as Phing, some parts of the
documentation are still missing
- is not XML based (Derick will appreciate that :P)
- claims to be Make for PHP and it seems it is

My preference would go to Pake as it looks much simpler for our needs
and we could end up
with a very-easy-to-maitain build script. What I appreciate with Pake
is that you can get total
control and freedom on what you do. It already provides all the
features [2] we need in order to
build the docs and the website, and if one of the library is not what
we need we could use AZC
easily.

I will try to give Pake a try as soon as possible. But if one of you
already has experience with
Phing or Pake I would be happy to get your feedback about these tools :)

<this is the auto flagellation part>
I plead guilty for imposing Ant, the reason is that I have been using
it for a couple
of years already and I thought it would solve problems we got in the
Makefile. But I
was wrong.
<this was the auto flagellation part>

1. 
http://mail-archives.apache.org/mod_mbox/incubator-zeta-dev/201104.mbox/%3cbanlktikgtskkg1yc+ierxt66a7ka_85...@mail.gmail.com%3E
2. https://github.com/indeyets/pake/tree/master/lib/pake

Reply via email to