sbt/sbt-appengine — pull request #23 by stephanos (2013-05-20 07:49:06+00:00)
Title: Added appcfg commands for manging backend instances

In order to execute "backends XYZ" [commands](https://developers.google.com/appengine/docs/java/backends/overview#Commands) the code had to be adjusted a bit.

The thing is that the backend commands have a slightly different syntax:
`appcfg backends `,
while the existing one looked like this:
`appcfg `.

So I refactored the actual execution of `appcfg` into a new function (`appcfgTaskCmd`) and created two separate Tasks for each syntax: `appcfgTask` and `appcfgBackendTask`.

Furthermore some backend commands **must** receive an argument (i.e. to specify the backend) and some can have an **optional** argument. The `appcfgBackendTask` contains a flag to check for this requirement and throws an error when it's missing.

PS: the naming of the parameters was changed to reflect the [official documentation](https://developers.google.com/appengine/docs/java/tools/uploadinganapp#Command_Line_Arguments): they are now called *opts* (starting with "--") and *args*.