JMRI has migrated away from CVS for version control to SVN in July 2011, and on to Git in September 2015. For access to the current JMRI source code, please see the Git repository page.
JMRI release 2.12 (and earlier) were made from CVS, and to access that source code, you should use the detailed instructions below.
You can download the JMRI source code via CVS using:
cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri login
cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri co all
(If asked for a password, just hit return)
Our source code up to JMRI version 2.12 was distributed using CVS. (We also kept the website in CVS, if you'd like to work with it directly.) If you want to work with the code, a few minutes installing CVS is well worth it. We're sorry, but we just can't support other methods (sending .zip files, etc), as they're just too error prone.
Many computers come with CVS installed, including Linux and Mac OS X. If you're using Windows, you will need to install a CVS "client" program like WinCVS.
To get a copy of the source for your own use, you can use "anonymous checkout". For a command line cvs client, make a new directory for the project, change to it, and tell CVS you exist with
cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri loginThis "login" line is only needed once; after that, it is remembered on your local machine. You may be asked for a password. If so, just hit return, as the empty password will be accepted. You can then get a copy of the code with
cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri co all
If you're using a GUI-based client like WinCVS, pull down the "admin" menu and select "command line" to get a place to type these commands. On other computers, you can type them directly on the command line.
If you have an existing copy of the code and want to update it to the most recent contents of CVS, the second command is:
cvs -d:pserver:anonymous@jmri.cvs.sourceforge.net:/cvsroot/jmri -q update -dA
See also the CVS FAQ page.
After the checkout is complete, you'll find directories called "xml", "resources", "jython", "help", "lib", "java" and others. Change to the "java" directory. There, you will find a "src" directory that contains the source code for JMRI itself, and a "tests" directory that contains various test routines.
You can look at the code with your favorite text editor. To compile and run it, you need one of the compilation tools described on the bar at the left.
Once you're working with the code, you'll probably create some improvements you'd like to contribute back to the project. This is where CVS has tremendous advantages; with the appropriate permissions and commands, you can merge your changes back into the common source automagically. Contact us when you're ready to do that or see the info on contributing.
Getting and updating the code with tortoisecvs
To get a initial checkout from CVS for your own use after installing http://www.tortoisecvs.org/. Make a new directory for the project, by creating a folder named "JMRISourceCode". Right Click (control-click) on that folder and select CVS CVS Checkout". In the pane that opens for the CVSROOT enter
<:pserver:jmri.cvs.sourceforge.net:/cvsroot/jmri>
For the Server enter
< jmri.cvs.sourceforge.net>
On the lower right of the screen is a "Fetch List" button. Click that and a list will appear,
click on the 'all' line. Then Click "OK" on the bottom of the pane. A new pane will open and the
files will be downloaded; at the bottom of that pane is a check box called "Close on Completion",
check it. When the pane closes, the folder you created will have folders inside it with all the
JMRI files.
Once you have performed the initial checkout from CVS in your local folder, to update them select all of them and then Right Click and select "CVS Update". You can also just update a single folder by selecting it, etc.