Difference between revisions of "Setting Up a MIRC Development Environment"

From MircWiki
Jump to navigation Jump to search
Line 6: Line 6:
 
* <b><tt>Util</tt></b> contains the embedded server, common servlets, and a collection of utility classes.
 
* <b><tt>Util</tt></b> contains the embedded server, common servlets, and a collection of utility classes.
 
* <b><tt>CTP</tt></b> contains the CTP application, including.
 
* <b><tt>CTP</tt></b> contains the CTP application, including.
* <b><tt>MIRC</tt></b> contains the CTP plugin that implements the teaching file system.
+
* <b><tt>MIRC2</tt></b> contains the CTP plugin that implements the teaching file system.
  
 
==Obtaining the Source Code==
 
==Obtaining the Source Code==
Line 32: Line 32:
  
 
Each build file contains several targets. The <tt><b>all</b></tt> target does a clean build of everything, including the installer (if the module has one) and the Javadocs.  
 
Each build file contains several targets. The <tt><b>all</b></tt> target does a clean build of everything, including the installer (if the module has one) and the Javadocs.  
* The Util build process copies its jar to the <b><tt>CTP</tt></b> directory tree.
+
* All the build processes put their output in the <b><tt>products</tt></b> subdirectory.
 +
* The Util build process creates the <b><tt>util.jar</tt></b> file and copies it to the <b><tt>CTP/libraries</tt></b> directory.
 
* The CTP build process can be run alone.
 
* The CTP build process can be run alone.
* The MIRC build process references files in the <b><tt>CTP</tt></b> directory tree.
+
* The CTP build process creates the <b><tt>CTP/products/CTP-installer.jar</tt></b> file.
 +
* The MIRC2 build process references files in the <b><tt>CTP</tt></b> directory tree.
 +
* The MIRC2 build process creates the <b><tt>MIRC2/products/TFS-installer.jar</tt></b> file.
 +
* The jar containing the MIRC2 code is called <b><tt>MIRC.jar</tt></b>. It is deleted from the <b><tt>MIRC2/products</tt></b> directory after the installer is created.
  
 
To do a manual rebuild of all modules, do it in this order:
 
To do a manual rebuild of all modules, do it in this order:
 
# <b><tt>Util</tt></b>
 
# <b><tt>Util</tt></b>
 
# <b><tt>CTP</tt></b>
 
# <b><tt>CTP</tt></b>
# <b><tt>MIRC</tt></b>
+
# <b><tt>MIRC2</tt></b>
  
  

Revision as of 15:03, 13 December 2012

UNDER CONSTRUCTION

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

If you plan to do any meaningful 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 https://github.com/johnperry.

The best approach is to fork the Util, CTP, and MIRC2 repositories and check out the code onto your development system.

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.5, 1.6, and 1.7. For compatibility with older Macintosh systems, all the modules are traditionally built on Java 1.5. It's not clear whether this is still required, as most systems in the field are now running at least Java 1.6.

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.

  • All the build processes put their output in the products subdirectory.
  • 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.

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

  1. Util
  2. CTP
  3. MIRC2


The Javadocs can be accessed with a browser by opening the file:

CTP/documentation/index.html

The installer is located in the products directory.