YellLabs/yellfabric — pull request #18 by MattCottingham (2012-10-29 14:16:44+00:00)
Title: Add module for deploying Play Framework 2.x projects

Adds the `play2` module for deploying projects using Play Framework 2.x

This functions in a similar fashion the the `play` module, however, there are some differences.

* `play dist` is invoked as a local build command. This produces a zip file in `dist/` with all project dependencies.
* This zip file is unzipped and rsynced to the project deployment directory

In order to only sync the files in `dist/{project-name}-{project-version}/`, an argument has been added to `rsync_from_local` to specify this.

Adding another argument to `rsync_from_local` (and thus to its caller, `fetch_render_copy`) is not particularly neat, so I'd be open to suggestions on how to refactor this.

There is also a fair bit of overlap between the `play` and `play2` functions for `supervisord` control, so it may be a good idea in future for these to be extracted into a separate generic module.