Setting Up a MIRC Development Environment

From MircWiki
Revision as of 12:59, 10 February 2014 by Johnperry (talk | contribs) (→‎Building the Software)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This article describes the development environment that was used to develop the MIRC software, including CTP and TFS. It is not the only way that it could have been done, and it is certainly not a sophisticated approach; it is just the way that I did it. The intended audience for this article is software engineers who are extending or maintaining the code.

There are three key modules in the MIRC software:

  • Util contains the embedded server, common servlets, and a collection of utility classes.
  • CTP contains the CTP application, including.
  • MIRC2 contains the CTP plugin that implements the teaching file system.

1 Obtaining the Source Code

All the software written by the RSNA for the MIRC project is released under the RSNA Public License. It is maintained on GitHub. To obtain the source code, go to and click the Downloads button.

If you plan to do any substantial development on CTP or MIRC, I recommend that you obtain all three modules and build them. This will provide all the Javadocs.

All the software is available on GitHub at

The best approach is to fork the Util, CTP, and MIRC2 repositories and check out the code onto your development system using Git. Alternatively, you can get the three zip files from GitHub, unpack them onto your development system, and rename the top-level directories to the names shown below.

2 The Development Directory Structure

Each module has an Ant build file to build it. The build files expect this directory structure:

  • Development
    • Util
    • CTP
    • MIRC2

3 Building the Software

Each module's top-level directory contains its Ant build.xml file and several subdirectories. The source code is in the source directory, which has at least two subdirectories, one for the Java sources and one for the files required by the module.

All the modules will build on Java 1.6, and 1.7.

To build the software on a Windows system, launch a command window, navigate to the root directory of the tree, and enter ant all.

Each build file contains several targets. The all target does a clean build of everything, including the installer (if the module has one) and the Javadocs.

Each build file must be run manually.

  • All the build processes put their output in their products subdirectories.
  • The Util build process creates the util.jar file and copies it to the CTP/libraries directory.
  • The CTP build process can be run alone.
  • The CTP build process creates the CTP/products/CTP-installer.jar file.
  • The MIRC2 build process references files in the CTP directory tree.
  • The MIRC2 build process creates the MIRC2/products/TFS-installer.jar file.
  • The jar containing the MIRC2 code is called MIRC.jar. It is deleted from the MIRC2/products directory after the installer is created.
  • The Javadocs are built in the module's documentation subdirectory. They can be accessed with a browser by opening the index.html file.

To do a manual rebuild of all modules, do it in this order:

  1. Util
  2. CTP
  3. MIRC2

If you aren't working on the MIRC teaching file plugin, you don't need to set up its development environment (or build it).

4 The Modules

For technical descriptions of the modules, see these articles: