DISQUS

Alexey Zakhlestin's blog: Pake: PHP5 project build system

  • EdwinF · 4 months ago
    Hi.

    What are the differences/pro/cons against Phing?

    Thanx.
  • indeyets · 4 months ago
    1) Phing is XML-based, like Ant. Pake is PHP-based (syntax is simplier)
    2) Phing has weird parameterization when you need to specify some additional flags, Pake let's you do this as simple as you need
    3) Pake can use Phing for it's subtasks (while adding a nice wrapper around them)
  • gasper_k · 4 months ago
    Well, yes, PHP already has a tool that parallels Ant and Rake. But it's not Pake, it's Phing. It's much older, well documented, has a substantial community, is in active development, and has a wide collection of pluggable tasks. It's not very reasonable to use Pake, actually. Not only it's not documented, it's not even actively developed and it'll be dropped (maybe it already is) by Symfony. So, as much as I hate that counter-intuitive hacking of those XMLs, Pake is not a viable option, I'm afraid.

    If your continue the project and make something out of it, then great, I'd like to see that. But until then, please don't recommend it to us as if it was on par with other build tools. ;)
  • indeyets · 4 months ago
    Well, my idea is to raise interest, to potentially good solution. And, yes, I am going to start medical procedures and force the patient to live long and happily ;)

    By the way, as I mentioned earlier, pake is useful even as a wrapper for phing ;)
  • gasper_k · 4 months ago
    Well, I'm looking forward to see what you make of it. As I mentioned earlier, I don't like Phing very much, so you have my support. :)
  • Fabrice · 4 months ago
    brrr... this bloated Phing with all those XMLs. Pake is more PHP friendly. You have my support too !
  • troelskn · 4 months ago
    Good to see someone picking Pake up. I have been thinking about doing the same thing. One problem with Pake is that it got absorbed into Symfony, which means that it never grew any further. In part, I think that is intentional from Fabien, since it is one of the things that makes Symfony stand out amongst other frameworks. It's a pity though; PHP could do well with a standard tool for this, rather than something that is tied to each individual framework.
  • Duane Gran · 4 months ago
    The symfony project is making a good attempt at peeling off some of the tools into stand alone components:

    http://components.symfony-project.org/
  • troelskn · 4 months ago
    Thanks Duane. I was not aware of that effort.
  • till · 4 months ago
    Good stuff. :)
  • Frank · 4 months ago
    This looks cool. I think I will try this for a project.
  • Alexey Shockov · 4 months ago
    Great work!

    Alexey, but why Pake wasn’t maintained? As I know, Pake is often used in Symfony (subproject? Same developers?), and Symfony maintained very well. I thought, Symfony guys should support this project...
  • indeyets · 4 months ago
    Symfony had Pake as independent project in 1.0.x days. After that, as far as I understand, they integrated it with their core much more tightly, so it is not possible to use it separately, anymore.
  • GiorgioSironi · 4 months ago
    Personally I use phing, which has a more or less good documentation but it is little diffused too.
  • indeyets · 4 months ago
    almost everybody does :-)
    Phing was mentioned several times in comments already. Pake is quite useful even as a wrapper around phing-tasks. It is possible to get something more user-friendly this way.
  • chrishenry · 4 months ago
    Is there svn support for this? Or just git? One of the reasons I've never personally ventured into any established PHP build systems is that they're so convoluted. I actually find it a lot easier to use PHP's exec() to export any number of svn repos and rsync them into place.
  • indeyets · 3 months ago
    I recently added support for SVN, Git and rsync

    something like this:

    pakeSubversion::export($repo_url, $local_path);
    pakeRSync::sync_to_server($local_path, 'your.server.com', $remote_path);

    in case of pakeRSync you can specify array of paths as $local_path and pake will put all of them in $remote_path