CSLI/CALO - Java Software Manual for CALO Partners
This document contains
general information on
downloading,
installing,
developing,
linking, and
running CSLI's CALO Java software. It is intended for our CALO partners who have access to the SRI SVN repository.
Supporting Software
There are a number of third-party software components that require installation prior to using our software. Please see
CaloSupportingSoftwareInstallation for details on getting all the supporting software installed and running.
Download and Install
All of CSLI's CALO software is available from the SRI SVN
calo-ma module in the folder called
csli-calo. You will need to check out the four directories within that directory, each of which is a separate "project" developed here at CSLI:
-
util (generic supporting tools)
-
model (the OPI ontology-based annotation management framework)
-
corpora (NOMOS annotation software and corpus analysis routines)
-
calo (CALO-specific algorithms, topic ID, action items, etc.)
Use any SVN client to do this. We recommend using Eclipse (see below) if you intend to view the source and/or do development using our code, as this is the tool we use at CSLI.
Building and Developing from Source
The four directories mentioned above are each developed at CSLI as separate
Eclipse JDK projects. We highly recommend the Eclipse environment for development, and using it will give you direct access to our build configurations and all the other conveniences that we use ourselves during development. To do this, use the Eclipse SVN Repository Browser, select the four folders, and choose
Check Out. Or, if you have already checked them out, you can import each directory as a Java project into your Eclipse workspace using
Import > Existing projects into workspace.
The Java software in SRI CVS comes
pre-built and packaged into jar files.
You will only need to build our Java components if you change the source code. Some of our non-Java components (such as Gemini) do require a local build before running, but this process is described in the
CaloSupportingSoftwareInstallation page.
To build our Java software, you must generate the project jar file for the project you are modifying. NOTE: In Year 4, we are only providing source code for the
calo project. Therefore, you will only be able to modify and rebuild the
calo project. You can either do this in Eclipse (recommended since this is what we do), or directly from ant.
You have two options for step 1:
Option 1: Eclipse
- From
Run > External Tools > External Tools... run CALO Build SRI Distro (calo)
Option 2: Ant
- Run the following command, where [ROOT_DIR] is the fully-specified path of the location of all the
csli-calo directory you checked out of SVN:
ant -v -f [ROOT_DIR]/util/dist/general/scripts/build-project.xml -Dproj.name=calo -Din.dir=[ROOT_DIR] -Dout.dir=[ROOT_DIR] build jar
Step 2
- IMPORTANT: Copy the newly generated file
[ROOT_DIR]/calo.jar to [ROOT_DIR]/calo/calo.jar .
Referring to Compiled Jars
The set of jar files you must put on your class path when referencing our jars are all the files which match the following regular expressions:
-
[ROOT_DIR]/*/*.jar
-
[ROOT_DIR]/*/ext/*/*.jar
-
[ROOT_DIR]/dialogue/lib/jar/*/*.jar
Running
- Before running the CSLI Service Manager, you need to:
- Create a
calo.local.config file in calo/run directory
- put
inherits=calo.config in the first line of calo.local.config file (this will allow you to inherit all the parameters from calo.config)
- now you can customize your own setting by adding parameters into
calo.local.config file (it will overwrite the parameters that inherit from calo.config file)
- To run the CSLI Service Manager, run the
Service Manager.bat or Service Manager.sh script in the calo/run directory. This will start the CSLI Service Manager, which is a GUI for starting the available individual service. Additionally, each service can be added or removed from Service Manager by configuring the service.* parameter in calo/lib/calo.local.config file. Please see the main CALO page for information pertaining to specific agents and software components.