equal
deleted
inserted
replaced
|
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 |