A month of Plumage work
It has been another month since the last time I posted a Plumage work log, back on the old u.p.o blog. Mostly this was because I was getting actual work done on Plumage, so I hope you'll forgive me.
Just like last time so much time had passed, I'm just going to post the (mildly edited) #parrotsketch
reports here; the format is a bit terse, but it should give you an idea of the pace of development:
DONE:
* Support fperrad++'s setup.pir system in Plumage
* Fix several portability issues, leading to ...
* ... Plumage's first successful clean test run and project install on Win32!
* Much more use of new NQP-rx features
* Switch over to parrot-nqp, no longer following NQP-rx git master directly
* More Glue.pir -> Util.nqp conversions
* Refactor action functions to reduce pointless duplication
* Add simple version of 'status' command
* Commit metadata additions/edits from fperrad++
* Reorganize more of the tests to make it easier to identify testing gaps
MAD PROPZ:
* fperrad++ # setup.pir, Win32 testing, new & improved metadata ...
* pmichaud++ # NQP-rx features, w00t!
EOR
DONE:
* Keep up with pmichaud's NQP-rx improvements (and push for more :-)
* Keep up (mostly) with fperrad's bug reports and metadata updates
* Various Glue.pir improvements
* A few more tests
WIP:
* Big refactoring of main "brains" to OO classes
* Document refactored code
* About 50% done with planned refactors before next feature push
MAD PROPZ:
* fperrad++ # Copious metadata updates, suggestions, and bug reports
* pmichaud++ # NQP-rx feature-o-rama
* dukeleto++ # Initial pass at qx() tests
EOR
DONE:
* Lots more metadata updates, fperrad++, dukeleto++, vadrer++
* Now at least 23 projects have Plumage metadata
* Convert Glue.pir code to native NQP-rx features as they become available
* Util.nqp reduce() implementation that doesn't entirely suck to use
* Improve output of projects command
WIP:
* Continued major refactoring. About 80% done now.
* Details of remaining refactoring unclear, need more code to clarify path forward.
MAD PROPZ:
* fperrad++ # Metadata updates, Win32 testing, assisting conversions to setup / plumage
* dukeleto++ # Metadata updates
* tene++ # try/CATCH
* cotto++ # Parrot build GUID/UUID suggestion
EOR
DONE:
* Hacking docs! Reviews requested: http://gitorious.org/parrot-plumage/parrot-plumage/trees/master/docs/hacking , start with the contributing.pod doc.
* More metadata updates from fperrad++
* Add accessor methods to Plumage::Project
* Add project-dir command to plumage
* Move responsibility for determining build sequence to Plumage::Project
* Move responsibility for mkpath($build_root) to Plumage::Project's fetch action
* Excise %STAGES and supporting code from plumage.nqp
* Improve API of perform_actions{,_on_projects}
* Add stub of update stage to Plumage::Project, reusing (and falling back to) fetch
* Make harness exit(1) after failing test runs
* Fix broken test
* Tell plumage command_ subs what command invoked them
* Collapse all plumage project action commands into one sub
EOR
DONE:
* Documentation
* Add/improve comments
* Update/improve usage info
* Update existing hacking docs
* Add more hacking docs
* Internals
* Save away a copy of the project metadata at install, remove at uninstall
* Improve metadata validation, resilience, and error reporting
* Several other improvements to error reporting
* Add hash() coercion to Util.nqp
* New features
* Add update type 'parrot_setup'
* Make update fall back to fetch if source dir is missing
* Make update the default way to start a build cycle
* Add support for Git submodules
* Add support for Mercurial repos
* Add support for Rake build tool
* Add new project actions: smoke, clean, realclean, uninstall
* uninstall only works with setup.pir-based projects for now
* Misc
* Lots of metadata updates, fperrad++
* Fix several bugs reported by fperrad++
* Fix several bugs discovered by me(--,++)
WIP:
* Convert remaining Glue.pir items to NQP and move to Util.nqp
MAD PROPZ:
* fperrad++ # Testing, suggestions, and metadata updates
* #ps++, pmichaud++, moritz++, Tene++, (anyone I forgot)++ # Great discussions, and suggestions for improving Plumage messaging outside the Parrot core team
BLOCKERS:
* Fat arrow (=>) syntax in nqp-rx
EOR
Interested in our future progress? You can follow Plumage here or on twitter or identi.ca; or for the real time experience, come by #parrot and chat us up:
Leave a comment