chromium/native_client_sdk/src/gonacl_appengine/README

GoNaCl App Engine
=================

This is a new App Engine Python 2.7 application for http://gonacl.com

At this time it presents the existing functionality of redirecting
to http://developers.google.com/native-client/

Also, there are PNaCl demos added at ``/demo/<name>``


To Run Locally
--------------

1. Download the App Engine SDK (https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python)

2. Run ``<path/to/app/engine>/dev_appserver.py app.yaml``

3. Navigate in your browser to http://localhost:8080/demo/


To Update App Engine (HTML/JS)
------------------------------

To upload, run this from the root directory of the App Engine SDK::

  $ ./appcfg.py update <path-to-this-dir>

It probably makes sense to bump the application version in app.yaml for each
upload, as it lets us use App Engine's versioning. The newly uploaded version
can be tried before actually being activated, by going to the "Versions"
section on the App Engine dashboard. Note that the newly uploaded version only
becomes active when it's set as the "default" version in the dashboard.


To Update the Binary files (.pexe/.nmf)
---------------------------------------

The build outputs are automatically uploaded to Google Cloud Storage
(``storage.googleapis.com``) by the linux SDK builder (linux-sdk-multi).
To publish a new version:

1. Make and land your change to the demo, found in ``src/<demo-name>``.

2. Wait for the linux SDK builder to build and upload your change. You can see
   what's available in the browser at::

     http://gsdview.appspot.com/gonacl/demos/continuous/

   Or by using gsutil::

     $ gsutil ls gs://gonacl/demos/continuous/

3. Use 'make publish REVISION=<REV>' in the ``src`` directory to publish the
   revision.

4. Update the URLs to use this new revision in each demo's JavaScript files:

   Please see the following table for the location of the revision number to
   modify.

   ==========  =============================  ===========
   Demo        File                           Function
   ==========  =============================  ===========
   bullet      /static/bullet/main.js         pageDidLoad
   cube        /static/cube/example.js        getDataURL
   earth       /static/earth/example.js       getDataURL
   life        /static/life/example.js        getDataURL
   lua         /static/lua/lua.js
   smoothlife  /static/smoothlife/example.js  getDataURL
   voronoi     /static/voronoi/example.js     getDataURL

5. Land a CL with these changes.

6. Update App Engine, using the instructions above.