Installation and configuration utility

Description

This utility manages the configuration of a MAT distribution in a number of ways.

The full MAT distribution is not "installed" in any standard sense; it is completely self-contained, and writes no files outside the distribution itself. However, it does store configuration information for the distribution in a standard location, in config/MAT_settings.config.

Usage

$ python install.py --help
Usage: install.py [ --mat_settings_file <file> ] [ --yui_dir <dir> ] [ --bottlepy_dir <dir> ] [ --munkres_dir <dir> ]
[ --jcarafe_jar <jar> ] [ --jcarafe_doc_pdf <pdf> ] [ --jackson_jar_dir <dir> ]
install.py --clean
install.py --distclean

None of --yui_dir, --bottlepy_dir, etc. should be required unless MAT was delivered, by request, without
any external dependencies.

Options

--mat_settings_file <file>
A settings file in the format of the one found in src/MAT/etc/MAT_settings.config.in. See the section on the runtime environment for more details on the actual settings.
--yui_dir <dir>
A distribution of the Yahoo! UI Toolkit, version 2.6.0. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--bottlepy_dir <dir>
A distribution of bottle, version 0.12.16. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--munkres_dir <dir>
A distribution of munkres 1.0.7. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--jcarafe_jar
A jCarafe JAR file, version 0.9.99. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--jcarafe_doc_pdf
The PDF documentation for jCarafe. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--jackson_jar_dir
A directory containing JAR files for the Java Jackson JSON parser. You don't need this unless you're in a distribution which was delivered, by request, without any external dependencies.
--clean
By default, the installer configures the installation. This operation, instead, removes everything added except for the configuration directory itself.
--distclean
Like --clean, but also removes the configuration directory. Unless you've added anything to the directory by hand, this operation will return the distribution to its original factory configuration.

Priority of settings

There are multiple ways to provide settings to the installer during the build process. The priority of the sources is as follows:

More details about the settings can be found in the section on the runtime environment.

Example

Let's say you want to store your task inventory in /proj/plugins/plugin_list.txt, so that when you install, you preserve your installed tasks rather than having to reinstall them by hand. To do this, you'd create a config file that looks like this:

[_GLOBALS]

MAT_PLUGIN_RECORD: /proj/plugins/plugin_list.txt

Let's say you were to save this in /proj/plugins/config.txt. Then, rather than invoking the installer in the default way, you'd do this, at the top level in the distribution:

$ python ./install.py --mat_settings_file /proj/plugins/config.txt

The settings you provided in your config file will override the default settings, and your tasks will be stored in, and read from, the specified file instead of the default location.