Tools for working with projects that have many dependencies.
ETSProjectTools provides commands to make it easier for developers to work on projects that have a large number of dependencies, such as the ETS project itself. These commands are all predicated on a concept we call a “checkout”, which is the coherent set of projects and versions that are required to satisfy all documented dependencies for the user-requested project(s).
ETSProjectTools provides its tools through the ‘ets’ command, which has many sub-commands.
The first set of sub-commands make it easy to create and interact with “checkouts” and their contained projects’ original source control repositories (currently only Subversion is supported). This is done by providing commands like “co” (checkout), “up” (update), “st” (status), and “rev” (revert). The syntax and semantics of these commands are similar to most source control systems. You can specify which repositories the ‘ets’ command knows about by editing the “.ets.cfg” file in your home directory.
The second set of ‘ets’ sub-commands make it easy to build, develop, or install these projects into a Python environment. This set includes the ‘build’, ‘develop’, and ‘install’ commands. These all basically invoke the ‘python setup.py’ command of the same name on all projects within the “checkout”.
The last set of ‘ets’ sub-commands are used to explore the dependencies of projects and enhance performance of the tool itself by generating a cache of projects within a repository, called a map, so that each client doesn’t have to crawl a repository on its own. These sub-commands are: depends, graph, pkgurl, and map.