Not Logged In

rod.recipe.appengine 2.0.3

The rod.recipe.appengine is a zc.buildout recipe to build, test and deploy
projects for the Google App Engine. It makes it easy to use eggs and resolve
their dependencies automatically.

To be honest, this is a recipe for scrambled eggs. It produces a zip file
containing all configured external packages in a traditional folder hierarchy.

Copyright and license

Copyright 2009, 2010, 2011 Tobias Rodaebel

This software is released under the GNU Lesser General Public License,
Version 3.

Credits

Thanks to Attila Olah who provided a patch which fixes two issues where the
recipe wasn’t able to find the original pkg_resources.py file. He also enabled
the recipe to be used together with distribute as a replacement for setuptools.

Attila Olah also provided a patch for supporting regular expressions when using
the exclude option.

Thanks to Tom Lynn for submitting a patch which fixes an issue with symlink on
platforms other than UNIX.

Lots of thanks to Gael Pasgrimaud for submitting a patch that allows for
zc.recipe.egg options such as extra-paths and entry-points.

A brief documentation

This recipe takes a number of options:

appengine-lib

Path to an already installed appengine library

appserver-script-name

The name of the script in GAE to run the dev. server.
The default is ‘dev_appserver.py’. Because there have been
intermediate versions of the GAE SDK using ‘dev_appserver2.py’,
this script name is configurable.

appserver-run-file

The name of the run function in the “appserver-script-name” script.
This name changed in GAE SDK > 1.7.5. Default is “_run_file”.
In previous GAE versions it was “run_file”. This switch enables
the use of this recipe for older GAE versions.

eggs

List of required eggs

entry-points

A list of entry-point identifiers. See zc.recipe.egg for a more detailed
documentation.

exclude

A list of basenames and regular expressions to be excluded when setting up
the application files, e.g. the whole ‘tests’ directory.

extra-paths

Extra paths to include in a generated script.

initialization

Specify some Python initialization code. This is very limited. In
particular, be aware that leading whitespace is stripped from the code
given.

packages

A list of packages to be included into the zip archive, which will be
uploaded to the appspot.

patch

Specifies a patch file for patching the SDK source-tree. This option is
not allowed if appengine-lib is specified.

patch-options

List of patch options separated by blanks. (Default=-p1)

server-script

The name of the script to run the development server.

src

The directory which contains the project source files.

symlink-gae-runtime

When this flag is True, a symlink to the “_python_runtime.py”
script is created in the buildout ‘bin’ directory.
This script is needed for newer versions of the GAE SDK.
You have to manually remove the symlink when you change this
flag from True to False.

url

The url for fetching the google appengine distribution

use_setuptools_pkg_resources

Flag whether the recipe shall copy setuptool’s pkg_resources.py into the
app directory rather than writing a dummy version. (Default=False)

zip-name

The name of the zip archive containing all external packages ready
to deploy.

zip-packages

Flag whether external packages shall be zipped into a single zip file.
(Default=True)

2.0.2 2013-06-18

Added ‘appserver-run-file’ configurations, because Google changed this
name somewhere in the 1.7.x version range. [jjmurre]

Added ‘symlink-gae-runtime’. Throught this switch a symlink to
the GAE runtime script ‘_python_runtime.py’ can be made in de
buildout bin directory. This symlink is needed, because the
developments server had been thouroughly rewritten by Google. [jjmurre]