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

From MircWiki
Jump to navigation Jump to search
Line 7: Line 7:
 
* <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>MIRC</tt></b> contains the CTP plugin that implements the teaching file system.
 +
 +
==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.
 
All the software is available on GitHub at https://github.com/johnperry.
Line 12: Line 15:
 
The best approach is to fork the <b><tt>Util</tt></b>, <b><tt>CTP</tt></b>, and <b><tt>MIRC2</tt></b> repositories and check out the code onto your development system.
 
The best approach is to fork the <b><tt>Util</tt></b>, <b><tt>CTP</tt></b>, and <b><tt>MIRC2</tt></b> repositories and check out the code onto your development system.
  
Each module has an Ant build.xml file to build it. The build files expect this directory structure:
+
==The Development Directory Structure==
 +
Each module has an Ant build file to build it. The build files expect this directory structure:
 
<tt>
 
<tt>
 
* Development
 
* Development
Line 21: Line 25:
  
 
==Building the Software==
 
==Building the Software==
In each module's top-level directory, there is the Ant build file and several subdirectories. The source code is in the <tt><b>source</b></tt> directory, which has at least two subdirectories, one for the Java sources and one for the files required by the module. In some cases there are other subdirectories for configuration files and resources that are included in the module's jar.
+
Each module's top-level directory contains its Ant <b><tt>build.xml</tt></b> file and several subdirectories. The source code is in the <tt><b>source</b></tt> directory, which has at least two subdirectories, one for the Java sources and one for the files required by the module.
  
For compatibility with older Macintosh users, all the modules are traditionally built on Java 1.5.
+
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 <tt><b>ant all</b></tt>.
 
To build the software on a Windows system, launch a command window, navigate to the root directory of the tree, and enter <tt><b>ant all</b></tt>.
  
Each build file contains several targets. The <tt><b>all</b></tt> target does a clean build of everything, including the installer 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.
 +
* The CTP build process can be run alone.
 +
* The MIRC build process references files in the <b><tt>CTP</tt></b> directory tree.
 +
 
 +
To do a manual rebuild of all modules, do it in this order:
 +
# <b><tt>Util</tt></b>
 +
# <b><tt>CTP</tt></b>
 +
# <b><tt>MIRC</tt></b>
 +
 
 +
 
  
 
The Javadocs can be accessed with a browser by opening the file:
 
The Javadocs can be accessed with a browser by opening the file:

Revision as of 14:51, 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.
  • MIRC 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.

  • The Util build process copies its jar to the CTP directory tree.
  • The CTP build process can be run alone.
  • The MIRC build process references files in the CTP directory tree.

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

  1. Util
  2. CTP
  3. MIRC


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

CTP/documentation/index.html

The installer is located in the products directory.