TPTP Development Guide: Getting Started

This article describes the necessary steps to start developing for the TPTP Project. The TPTP open source project is stored in a CVS repository. The reader should be familiar with CVS concepts and have some experience working with the eclipse workspace. A good CVS source of information can be found on the CVS repository page. The Eclipse help files also provides a tutorial and documentation on how to use the CVS plug-ins within the eclipse workspace.

1. Installing TPTP

Your first step is to install a TPTP environment. Instructions for installing TPTP can be found in the following document: Installation Guide v4.0.0.

2. Understanding the CVS structure

If you are unfamiliar with CVS concepts there is a good list of resources on the CVS repository page.

Each TPTP release has a CVS branch. The name of the CVS branch will follow the following naming convention:

TPTP-<version number>

where
<version number> -The current TPTP version, e.g. 4_1_0

Additional examples:

TPTP-4_0_0
TPTP-3_3_0

The HEAD branch is the the version currently under development. Therefore, in order to work with the latest files, you have to work with the
"HEAD" branch. The structure of the CVS repository is shown below:


The repository has a HEAD branch, which in this case is TPTP-4_1_0. The sub branch (TPTP-4_0_0) corresponds to the last available release. If for some reason you need to access files from previous release of TPTP, you can check out code from a sub branch instead of HEAD.

3. Checking out code from CVS as an anonymous user

An anonymous user will only have access to check out files from the CVS repository. An anonymous user does not have privileges to check files into CVS. An anonymous user will have to work with a committer to check in files.

3.1 Configuring the CVS client to get TPTP files

You first need to be in the CVS perspective. Select Windows>Open Perspective>CVS Repository Exploring. Right click on the CVS
Repositories View as shown below. And select New>Repository Location.


Enter the information as shown below in the "Add CVS Repository" Dialog Box and click Finish As you can see the following information will establish a connection with the /home/tptp repository located on dev.eclipse.org using the anonymous user id. Make sure you set the Connection type to pserver and use the default port.

3.2 Checking out code from CVS for the first time

If you followed the steps in the previous section you should see a new repository entry in the CVS Repositories view. Expand the repository node. Then expand the "HEAD" node as shown below to view all the modules in the CVS Repository.


Now you are ready to check out the TPTP CVS modules. Scroll down and highlight the module you want to check out, as shown below. Then right click and select the Check out menu option.

Once this is done you should have a project for each of the TPTP CVS modules that you check out. Switch to the Java perspective and start developing.

Note: To compile, you must ensure that you have checked out all dependencies for the module you are working on. You can identify dependencies by looking at the Dependencies view of the plugin.xml file for the module. In the Repository view, double click on the plugin.xml file for the module. The plugin.xml file will appear in the right hand pane of the Eclipse workbench. Select the Dependencies tab, as shown below:

3.3 Synchronizing your local changes with the latest HEAD CVS branch

To synchronize your local changes with the HEAD CVS branch right click on the resource you want to synchronize. Select Team > Synchronize with Repository.

The synchronize view should be open at this point. The following text is from the eclipse help contents and briefly discusses the synchronization view.

From within the synchronize view
1. Use the toolbar buttons to switch modes for this view. There are three modes:
Incoming mode - shows incoming changes only (resources in the repository that differ from what is in the Workbench).
Outgoing mode - shows outgoing changes only (resources modified in the Workbench).
Incoming/Outgoing mode - shows both incoming and outgoing changes.

2. It is possible that someone has committed a new revision of your file since you started working on it. This will result in a conflict, and care must be taken to resolve this. To see only conflicts, click the Show Only Conflicts button on the view's toolbar.


At this point you can manually merge your changes or automatically merge the changes. To automatically merge your changes right click on the resource you want to merge. Select Team > Update.

If there are conflicts that CVS cannot resolve it will insert special markup in the file to indicate that those lines which could not be merged. If you want more information about the CVS plug-in refer to the eclipse help files.