| OLD | NEW |
| 1 Structure of the infra.git repository | 1 Structure of the infra.git repository |
| 2 ===================================== | 2 ===================================== |
| 3 | 3 |
| 4 Please also read the root README.md file in the source tree. The following | 4 Please also read the root README.md file in the source tree. The following |
| 5 sections contain an overview of the directory layout. All paths are relative to | 5 sections contain an overview of the directory layout. All paths are relative to |
| 6 the root one, which means that infra/ refers to infra/infra/. | 6 the root one, which means that infra/ refers to infra/infra/. |
| 7 | 7 |
| 8 Entry points | 8 Entry points |
| 9 ------------ | 9 ------------ |
| 10 * run.py: wrapper script to run programs contained in subdirectories without | 10 * run.py: wrapper script to run programs contained in subdirectories without |
| 11 having to deal with sys.path modifications. See README.md for details and | 11 having to deal with sys.path modifications. See README.md for details and |
| 12 invocation. | 12 invocation. |
| 13 * test.py: multi-purpose script to run tests. | 13 * test.py: multi-purpose script to run tests. |
| 14 * infra/libs/: :doc:`reference/infra.libs` generally useful functions and classe
s | 14 * infra/libs/: :doc:`reference/infra.libs` generally useful functions and classe
s |
| 15 * infra/services/: standalone programs intended to be run as daemons (more | 15 * infra/services/: standalone programs intended to be run as daemons (more |
| 16 details below) | 16 details below) |
| 17 * infra/tools: command-line tools, intended to be run by developers. | 17 * infra/tools: command-line tools, intended to be run by developers. |
| 18 * appengine/: all Chrome-infra-managed appengine applications (more details | 18 * appengine/: all Chrome-infra-managed appengine applications (more details |
| 19 below) | 19 below) |
| 20 * infra/experimental: for, well, experimental stuff. Once they are stabilized, | 20 * infra/experimental: for, well, experimental stuff. Once they are stabilized, |
| 21 they should be moved in a more permanent place. | 21 they should be moved in a more permanent place. |
| 22 | 22 |
| 23 | 23 |
| 24 Miscellaneous technical stuff | 24 Miscellaneous technical stuff |
| 25 ----------------------------- | 25 ----------------------------- |
| 26 * bootstrap/: utilities to set up a proper Python virtual environment. | 26 * bootstrap/: utilities to set up a proper Python virtual environment. More |
| 27 details about it can be found on this page: :doc:`bootstrap`. |
| 27 * infra/path_hacks: submodules of this modules give access to modules in the | 28 * infra/path_hacks: submodules of this modules give access to modules in the |
| 28 build/ repository (``from infra.path_hacks.common import <stg>`` is actually | 29 build/ repository (``from infra.path_hacks.common import <stg>`` is actually |
| 29 getting ``<stg>`` from build/scripts/common). | 30 getting ``<stg>`` from build/scripts/common). |
| 30 * utils/: purpose? | 31 * utils/: purpose? |
| 31 * misc/: purpose? difference with utils/? | 32 * misc/: purpose? difference with utils/? |
| 32 | 33 |
| 33 infra/services/ | 34 infra/services/ |
| 34 --------------- | 35 --------------- |
| 35 * gnumbd: git numbering daemon. Adds a monotonically-increasing number to git | 36 * gnumbd: git numbering daemon. Adds a monotonically-increasing number to git |
| 36 commits. | 37 commits. |
| 37 * gsubtreed: git subtree daemon. Mirrors subdirectories of some repositories | 38 * gsubtreed: git subtree daemon. Mirrors subdirectories of some repositories |
| 38 into independent repos so they can be consumed by downstream projects. | 39 into independent repos so they can be consumed by downstream projects. |
| 39 * lkgr_finder / lkgr_tag_pusher: computes last known good revision, based on | 40 * lkgr_finder / lkgr_tag_pusher: computes last known good revision, based on |
| 40 test results. | 41 test results. |
| 41 | 42 |
| 42 appengine/ and appengine_modules/ | 43 appengine/ and appengine_modules/ |
| 43 --------------------------------- | 44 --------------------------------- |
| 44 Contains all appengine applications. | 45 appengine/ should only contain appengine applications (i.e. directories |
| 46 containing an app.yaml file), appengine_modules/ should contain python packages |
| 47 that can be shared between appengine apps. The correct way to use one of them is |
| 48 to symlink the directory inside the application directory. |
| 45 | 49 |
| 50 Example: the `myapp` application should live in `appengine/myapp`. To use |
| 51 `appengine_module/testing_utils`, create a symlink to it in |
| 52 `appengine/myapp/testing_utils`. The name should remain the same as Python |
| 53 relies on directory names for its import system. |
| 54 |
| OLD | NEW |