Help is available by sending an email to csf-support@mit.edu
Have any suggestion on how improve this wiki?  Please give us your feedback at csf-support@mit.edu

The instruction contain on this page are designed to be implemented on a Educational Systems supplied VM.  All the software components that are needed have been preconfigured on the VM.

If you are using a workstation which is not a pre-configured Educational Systems VM, then you will probably need to install additional software on your workstation.

OVERVIEW

To setup the development environment for working with the mit-release-plugin for MOVES, there are 3 steps that must be completed.  These 3 steps are:

It should take you approximately 15 - 20 minutes to complete the 3 above steps.

{anchor:The mit-release-plugin-parent Maven Project Reconfiguration}
h3. Section 1 - Step 1: The mit-release-plugin-parent Maven Project Reconfiguration

# Check-out the maven project for the mit-release-plugin.  The SVN repository is:
{code}
svn+ssh://svn.mit.edu/sais-sis-common/maven/plugins/mit-release-plugin/trunk
{code}
# Open the mit-release-plugin maven project in your IDE.
\\
## Open the pom.xml's for each of the following projects:
##* mit-release-plugin-parent
##* mit-release-plugin
##* mit-release-plugin-common
##* mit-release-plugin-integration-tests
## In each of the pom.xml's for the above, remove all occurances of *-SNAPSHOT* from the <version> tags.
There are a total of 7 occurances that have to be changed.
\\
##* EXAMPLE: <version>2.0.21-SNAPSHOT</version> becomes <version>2.0.21</version>

When you are satisfied that everything is correct, save the changes that you made to the pom.xml's.
h4. {color:green}The mit-release-plugin-parent Maven Project Reconfiguration is now complete.{color}
{anchor:The sais-moves-web Maven Project Reconfiguration}
h3. Section 1 - Step 2: The sais-moves-web Maven Project Reconfiguration

# Check-out the maven project for the sais-moves-web.&nbsp;&nbsp;The SVN repository is:
{code}
svn+ssh://svn.mit.edu/sais-sis-common/sais-moves-web/trunk
{code}
# Open the sais-moves-web maven project in your IDE.
## Open the sais-moves-web project pom.xml for editing.
## In the <dependencies> section, add the following dependency:
{code}
<dependency>
    <groupId>edu.mit.maven.plugins</groupId>
    <artifactId>mit-release-plugin</artifactId>
    <version>2.0.21</version>
</dependency>
{code}
{color:red}Change the <version>, in the above, to the mit-release-plugin version that you selected in Section 1.{color}
{color:green}The above dependency makes the source code for the mit-release-plugin available to the IDE's debugger.{color}
## In the <dependencies> section, find the following dependency:
{code}
<dependency>
    <groupId>edu.mit.maven.plugins</groupId>
    <artifactId>mit-release-plugin-common</artifactId>
    <version>[0.0.0,999.999.999)</version>
</dependency>
{code}
{color:red}Change the <version>, in the above, to the mit-release-plugin version that you selected in Section 1.{color}
## In the <plugins> section of the pom.xml, find the following plugin with the following groupId and artifactId:
{color:green}NOTE&nbsp;&nbsp;The version number may be differ from 2.0.21.{color}
{code}
<plugin>
    <groupId>edu.mit.maven.plugins</groupId>
    <artifactId>mit-release-plugin</artifactId>
    <version>2.0.21</version>
    .
    .
</plugin>
{code}
{color:red}Change the <version> for the above plugin to the mit-release-plugin version that you selected in Section 1.{color}
## Open the log4j.xml (located in the resources folder) for editing and add the following <logger>:
{code}
<logger name="edu.mit.moves.shell.logging">
    <level value="INFO" />
</logger>
{code}
{tip:title=OPTIONAL}
If you are only interested in debugging the mit-release-plugin, you might want to changed the <level> of all the other <logger>s to FATAL.&nbsp;&nbsp;If you do this, all output to the system console will be surpress except for the output from the mit-release-plugin.
{tip}

When you are satisfied that everything is correct, save the changes that you made.
h4. {color:green}The sais-moves-web Maven Project Reconfiguration is now complete.{color}
{anchor:The Moves Development Environment Setup}
h3. Section 1 - Step 3: The Moves Development Environment Setup

# Download the following files:
{warning}
The following 2 properties files are the be used solely and exclusively in the software development environment on an Educational Systems VM.&nbsp;&nbsp;They are *NOT* to be deployed to the development, test or production servers.
{warning}
## Download and install the *sais-moves-web.properties* file ([right click on this link | ^sais-moves-web.properties] then select *Save target/link as...*.&nbsp;&nbsp;Navigate to the *$\{user.home}* directory and click *Save*)
## Download and install the *sais-moves-web-build.properties* file ([right click on this link | ^sais-moves-web-build.properties] then select *Save target/link as...*.&nbsp;&nbsp;Navigate to the *$\{user.home}* directory and click *Save*)
\\
## Open the sais-moves-web-build.properties file for editing and change the following properties:
\\
##* *mit.maven.release.plugin.version=2.0.21*&nbsp;&nbsp;Change the version number (2.0.21) to the mit-release-plugin version number that you selected in section 1.
##* *maven.system.property.cargo.hostname=esvm-1xx.mit.edu*&nbsp;&nbsp;Change the hostname (esvm-1xx.mit.edu) to your vm's hostname.
\\
\\
# Configure your moves build directories
\\
## Create the following directories:
\\
##* *C:\tmp\movesbuild\build\sais-common-conf\.m2\repository*
##* *C:\tmp\movesbuild\build\sais-common-conf\servers\oc4j*
{note}
Please note that the .m2 directory {color:red}cannot{color} be created using Windows Explorer.&nbsp;&nbsp;To create the .m2 directory, you must open a cmd window, cd to the sais-common-conf directory and use mkdir to create the .m2 directory.
{note}
## Open a *cmd window* and *cd* to the *C:\tmp\movesbuild\build\sais-common-conf\.m2* directory.&nbsp;&nbsp;Execute the following command:
{code}
linkd repository c:\Users\esuser\.m2\repository
{code}
The above command will link your local maven repository to the directory C:\tmp\movesbuild\build\sais-common-conf\.m2\repository.
{warning}
Do not delete or rename the repository directory.&nbsp;&nbsp;Deleting or Renaming the repository directory will delete your local maven repository.&nbsp;&nbsp;Unlink the repository directory before you delete or rename.
{warning}
{tip}
You can unlink the repostory directory with the following command:
{code}
linkd repository /D
{code}
You must be in the *.m2 directory* when you execute the above command.
{tip}
## Download and install the *settings.xml* ([right click on this link | Install Maven^settings.xml] then select *Save target/link as...*.&nbsp;&nbsp;Navigate to the *.m2* directory you've just created and click *Save*)
\\
\\
Open the *settings.xml* for editing and change the following:
\\
\\
##* Change the property value for *<oc4j.j2eeHome>* to:
{code}
/oracle-oc4j-10.1.3.5.0-server/j2ee/home
{code}
##* Change the property value for *<oc4j.password>* to:
{code}
oc4jadmin
{code}
## In a cmd window, *cd* to the *C:\tmp\movesbuild\build\sais-common-conf\servers* directory.&nbsp;&nbsp;Execute the following command:
{code}
linkd oc4j c:\oracle-oc4j-10.1.3.5.0-server
{code}
The above command will link your local oracle server to the directory C:\tmp\movesbuild\build\sais-common-conf\servers\oc4j.
{warning}
Do not delete or rename the oc4j directory.&nbsp;&nbsp;Deleting or Renaming the oc4j directory will delete your local oracle server.&nbsp;&nbsp;Unlink the oc4j directory before you delete or rename.
{warning}
{tip}
You can unlink the oc4j directory with the following command:
{code}
linkd oc4j /D
{code}
You must be in the *servers directory* when you execute the above command.
{tip}
# Configure your moves ui directories
\\
## Create the following directories:
\\
##* *C:\tmp\movesbuild\ui\sais-common-conf\.m2\repository*
##* *C:\tmp\movesbuild\ui\sais-common-conf\servers\oc4j*
{note}
Please note that the .m2 directory {color:red}cannot{color} be created using Windows Explorer.&nbsp;&nbsp;To create the .m2 directory, you must open a cmd window, cd to the sais-common-conf directory and use mkdir to create the .m2 directory.
{note}
## Open a *cmd window* and *cd* to the *C:\tmp\movesbuild\ui\sais-common-conf\.m2* directory.&nbsp;&nbsp;Execute the following command:
{code}
linkd repository c:\Users\esuser\.m2\repository
{code}
The above command will link your local maven repository to the directory C:\tmp\movesbuild\ui\sais-common-conf\.m2\repository.
{warning}
Do not delete or rename the repository directory.&nbsp;&nbsp;Deleting or Renaming the repository directory will delete your local maven repository.&nbsp;&nbsp;Unlink the repository directory before you delete or rename.
{warning}
{tip}
You can unlink the repostory directory with the following command:
{code}
linkd repository /D
{code}
You must be in the *.m2 directory* when you execute the above command.
{tip}
## Download and install the *settings.xml* ([right click on this link | Install Maven^settings.xml] then select *Save target/link as...*.&nbsp;&nbsp;Navigate to the *.m2* directory you've just created and click *Save*)
\\
\\
Open the *settings.xml* for editing and change the following:
\\
\\
##* Change the property value for *<oc4j.j2eeHome>* to:
{code}
/oracle-oc4j-10.1.3.5.0-server/j2ee/home
{code}
##* Change the property value for *<oc4j.password>* to:
{code}
oc4jadmin
{code}
## In a cmd window, *cd* to the *C:\tmp\movesbuild\ui\sais-common-conf\servers* directory.&nbsp;&nbsp;Execute the following command:
{code}
linkd oc4j c:\oracle-oc4j-10.1.3.5.0-server
{code}
The above command will link your local oracle server to the directory C:\tmp\movesbuild\ui\sais-common-conf\servers\oc4j.
{warning}
Do not delete or rename the oc4j directory.&nbsp;&nbsp;Deleting or Renaming the oc4j directory will delete your local oracle server.&nbsp;&nbsp;Unlink the oc4j directory before you delete or rename.
{warning}
{tip}
You can unlink the oc4j directory with the following command:
{code}
linkd oc4j /D
{code}
You must be in the *servers directory* when you execute the above command.
{tip}

h4. {color:green}The Moves Development Environment Setup is now complete.{color}
h4. {color:green}Section 1 is now complete.{color}

Section 2: Setting mit-release-plugin debugging break points

  1. Build and install mit-release-plugin-parent.
  2. Build, install and deploy sais-moves-web to your oracle server.
  3. Setting break points.
  4. Attaching the IDE's debugger.

Section 3: Debugging the mit-release-plugin

  1. Build and install mit-release-plugin-parent.
  2. Build, install and deploy sais-moves-web to your oracle server.
  3. Setting break points.
  4. Attaching the IDE's debugger.