app/README
changeset 153 79d52c2d50a2
child 1502 2fee94feef59
equal deleted inserted replaced
152:7c1e2cb6dc44 153:79d52c2d50a2
       
     1 trunk/app should contain only the files needed for the actual Google App
       
     2 Engine application "image".  Support code that is not part of the application
       
     3 image belongs elsewhere, such as in trunk/scripts, for example.
       
     4 
       
     5 = THIRD PARTY CODE =
       
     6 
       
     7 Third-party code that is *not* part of the application image (the Google App
       
     8 Engine SDK in trunk/thirdparty/google_appengine, for example) belongs in
       
     9 trunk/thirdparty (see also trunk/thirdparty/README).
       
    10 
       
    11 Third-party code that is part of the application image is placed in a package
       
    12 subdirectory in trunk/app, such as trunk/app/django, for example.
       
    13 
       
    14 If the third-party package is a single Python source file, place the code in
       
    15 trunk/app/<package>/__init__.py, so that it can simply be imported using,
       
    16 for example:
       
    17 
       
    18 import feedparser
       
    19 
       
    20 (The trunk/app/feedparser package is a good example of this approach.)
       
    21 
       
    22 == THIRD PARTY LICENSES ==
       
    23 
       
    24 Third-party code must also include a license text file, named LICENSE or
       
    25 COPYING, in the package subdirectory.  If the third-party package subdirectory
       
    26 is maintained automatically with a tool such as svn_load_dirs.pl (which
       
    27 removes files, such as license text files, that were added later to the
       
    28 "target" directory), place the license text file in the trunk/app directory
       
    29 and add the package name as a suffix (LICENSE.django is an example of this
       
    30 case).
       
    31