========= HUDSONENV ========= This library is used to run hudson tests on MS Windows based on configuration files into a network-less virtual environment Configuration files =================== Each project has its configuration file which name is defined by the INI_FILENAME constant:: INI_FILENAME = 'hudson.json' Once successfully parsed, a copy is put in the same directory under the name defined in the CACHE_FILENAME constant:: CACHE_FILENAME = '.hudsoncache' When the CACHE_FILENAME does not exist, the library will re-parse the INI_FILENAME and force recreating the environment System-wide Python installs =========================== We use symbolic links (see http://en.wikipedia.org/wiki/Symbolic_link#Microsoft_Windows) to link to system-wide installed Python libraries without breaking the no-site-packages rule. The name of the executable used to build symbolic links is defined by the JUNCTION_APP constant:: JUNCTION_APP = "linkd" By default it uses linkd that can be found at the following location: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17657 Directories =========== Important files and directories for the library are stored in the "home" of the current user. This "home" is picked from a defined list of possibly defined environment variables and placed in the HOME_DIR variable. If none is defined, then it defaults to the directory where the library was installed (e.g. c:\python26\lib\site-packages\hudsonenv). The variables it tries to pick are defined in the HOME_VARS constant:: HOME_VARS = ('HUDSONENV', 'HOME', 'TEMP', 'TMP') Based on the HOME_DIR variable, there are two important folders for the library:: * VIRTUAL_ENV_DIR : defines the place where virtual environments are stored. It is calculated as HOME_DIR\.virtualenv. You need read-write permissions on this folder. * PACKAGES_SOURCE : defines the place where to look when installing "file" dependencies. It is calculated as VIRTUAL_ENV_DIR\_DIST_PACKAGES. You need (at least) read-only permissions on this folder. Dependencies ============ Python ====== You will need Python installed on the computer and the "python" executable directory added to your PATH environment variable (usually c:\Python26\) MinGW32 ------- Many Python libraries need a valid C/C++ compiler to be installed on the computer to be installed/compile dependencies. MinGW can be downloaded at the following location: http://sourceforge.net/projects/mingw/files/latest/download?source=files During installation, be sure to include all possible compilers, especially GCC and G++, respectively for C and C++ compilation. You will need to add gcc and g++ executables directory added to your PATH environment variable (usually C:\MinGW32\bin). Mercurial --------- You will need Mercurial installed on the computer and the "hg" executable directory added to your PATH environment variable (usually c:\program files\mercurial). Python Dependencies ------------------- * virtualenv * easy_install (a.k.a setuptools) * pip (optional) Installation ============ Once you have satisfied all the dependencies requirements, you can copy this folder (the one that contains this README) to your PYTHONPATH, either by updating your PYTHONPATH variable, either by moving the folder in c:\Python26\lib\site-packages. Testing installation ==================== To test your installation, open a command line and type the following :: $ python >>> import hudsonenv.hudson >>> hudsonenv.hudson.run() You should see an error message surrounded by exclamation marks. If you have a traceback, then you didn't install the library properly.