Open Source Content Management Framework

MidCOM3 to transition from Phing to pake

  1. MidCOM3 to transition from Phing to pake

    Sun October 25 2009 16:45:08 UTC
    Hi,

    One of the decisions from the Midgard Gathering is to transition to
    pake for our PHP build scripts and other automation.

    Pake is a Rake-like build tool maintained by our own Alexey
    Zakhlestin. Some info:
    http://blog.milkfarmsoft.com/2009/08/pake-php5-project-build-system/
    http://wiki.github.com/indeyets/pake

    MidCOM3 already has Pake commands for scaffolding components and
    linking statics. The plan is to also implement the midgard2-installer
    tools using Pake.

    /Bergie

    --
    Henri Bergius
    Motorcycle Adventures and Free Software
    http://bergie.iki.fi/

    Skype: henribergius
    Jabber: henri.bergius@gmail.com
    Microblog: http://www.qaiku.com/home/bergie/

    My Royal Enfield Bullet 500 is for sale, see http://www.nettimoto.com/844397
    _______________________________________________
    dev mailing list
    dev@lists.midgard-project.org
    http://lists.midgard-project.org/mailman/listinfo/dev
    •  Reply
  2. Re: [midgard-dev] MidCOM3 to transition from Phing to pake

    Tue October 27 2009 12:35:07 UTC
    Hi,

    On Sun, Oct 25, 2009 at 6:42 PM, Henri Bergius <henri.bergius@iki.fi> wrote:
    > One of the decisions from the Midgard Gathering is to transition to
    > pake for our PHP build scripts and other automation.

    Some notes about Midgard2 installer:

    Will be done with PHP5 + Pake

    Bundle installation
    Check out bundle manifest from git
    Read dependencies
    Resolve dependencies (get their manifest files, build dependency tree)
    Install components
    Get bundle files
    Import data
    Use transaction that finishes when all imports are done
    Check revised of the objects in database before importing
    Throw exception and revert install in this case, except when run with "force"
    $object->import();

    Component installation
    Check out component manifest from git
    Read dependencies
    Resolve dependencies (get their manifest files, build dependency tree)
    Install PECL dependencies
    Install PEAR dependencies
    Install component dependencies -> component installation
    Get component files
    in new install:
    git clone
    git checkout <desired branch/tag>
    in update:
    git pull
    git checkout <desired branch/tag>
    Validate MgdSchema
    Install MgdSchema and views
    symlink to Midgard's directories
    Install statics
    symlink to static root
    Clear MidCOM3 manifest cache
    Create/update storage
    use a transaction that we commit only after whole installation finishes
    (maybe stop/start HTTP server)
    (report installation to "popularity contest")

    Bundle creation
    Create directory for bundle (myapp.mgdbundle)
    (maybe do a git init)
    Export bundle manifest (component list)
    (git add)
    Export data
    Check what MgdSchemas are to be exported
    Build data dependency tree
    Give sequence number to objects
    Compare files to export to existing files in bundle, do moves if
    GUIDs match, remove files that are not in export
    Export to XML
    (git add)
    (maybe do a git commit)

    Old installer code from Rambo in
    http://trac.midgard-project.org/browser/trunk/external-tools/mvc_installer

    Next: who will do what?

    /Henri

    --
    Henri Bergius
    Motorcycle Adventures and Free Software
    http://bergie.iki.fi/

    Skype: henribergius
    Jabber: henri.bergius@gmail.com
    Microblog: http://www.qaiku.com/home/bergie/

    My Royal Enfield Bullet 500 is for sale, see http://www.nettimoto.com/844397
    _______________________________________________
    dev mailing list
    dev@lists.midgard-project.org
    http://lists.midgard-project.org/mailman/listinfo/dev
    •  Reply
  3. Re: [midgard-dev] MidCOM3 to transition from Phing to pake

    Tue October 27 2009 13:30:07 UTC
    Henri Bergius pisze:
    > Hi,

    Hi!

    > Validate MgdSchema
    > Install MgdSchema and views
    > symlink to Midgard's directories

    I think I already mentioned this. What about midgard_config being
    responsible to install schemas and views? This way application doesn't
    have to worry about schemas location.

    Piotras

    _______________________________________________
    dev mailing list
    dev@lists.midgard-project.org
    http://lists.midgard-project.org/mailman/listinfo/dev
    •  Reply
Designed by Nemein, hosted by Kafit