874
edits
(filled out intro, philosophy sections) |
(filled-in prerequisites and environments sections) |
||
| Line 16: | Line 16: | ||
* '''Developer Ergonomics.''' cfx uses Cuddlefish's introspection capabilities to provide full stack tracebacks when errors occur; it also provides facilities for making it easy to spot memory leaks, and generally tries to make writing production-quality code as hassle-free as possible. | * '''Developer Ergonomics.''' cfx uses Cuddlefish's introspection capabilities to provide full stack tracebacks when errors occur; it also provides facilities for making it easy to spot memory leaks, and generally tries to make writing production-quality code as hassle-free as possible. | ||
= Prerequisites = | |||
The current reference implementation of cfx is available via Mercurial: | |||
http://hg.mozilla.org/users/avarma_mozilla.com/jep-28/ | |||
Using this implementation requires Python 2.5 or greater. On Windows, it also requires the [http://python.net/crew/skippy/win32/Downloads.html Win32 Extensions for Python]. | |||
= Usage = | = Usage = | ||
== Environments == | == Environments == | ||
Unlike many package management systems, there isn't a system-wide location for a cfx installation. Instead, developers can have as many installations of cfx as they want, each configured separately from one another. Each installation is called an ''environment''. | |||
To set up a new environment, simply create a new clone of the cfx repository. To activate the environment under a unix-based operating system, launch a bash shell, enter the root directory of the repository checkout, and run: | |||
source bin/activate | |||
Alternatively, if the OS is Windows-based, launch <tt>cmd.exe</tt> and run: | |||
bin\activate | |||
This will activate the checkout's environment such that a number of cfx-specific command-line tools are globally available from any directory. | |||
At any time, <tt>deactivate</tt> can be entered to deactivate the environment and return the shell to its original state. | |||
== Package Management == | == Package Management == | ||
edits