Newer Doc
Newer documentation is in the works.
Prerequisites
The following tools are needed for CIShell development. Download them to your local machine and install or unzip them.
- Eclipse Java EE Developers (Kepler through Mars support verified): http://www.eclipse.org/downloads/
- CIShell executable: http://cishell.org/nightly/
- Sci2 executable: https://sci2.cns.iu.edu
- Java 6 or 7 installation: http://java.com/en/download/ – for Java 7 see note below
- CIShell Java Doc: http://cishell.org/dev/docs/spec/api-1.0/
Setting Up the CIShell Development Tool
Download the CIShell development tool. Select Help -> Install New Software
from Eclipse menu. Insert http://cishell.org/update into the Work with
field as following and press Add
button.
Give the location a descriptive name, such as CIShell Update Site and press OK.
Select the Development
checkbox as show in the following image.
Proceed with Next
and accept the license. You will be given an unsigned content warning. Click OK
to continue. Eclipse should prompt you to restart when the installation completes.
Setting Up CIShell Target Platform in Eclipse
Setting up the target platform will enable Eclipse to recognize remote libraries needed for CIShell. This setup allows you to develop a single plugin without checking out all the dependency libraries.
Get a copy of the CIShell target platform definition. It can be found here.
Sci2 Development
If you are developing for the Sci2 tool, you should use the target platform definition found here or in source control instead.
Add the file to your workspace. Right-click and Open With -> Target Editor
. In the upper right corner, click Set as Target Platform
.
You should now have all the plugins available from CIShell.
You can view your Target Platform by navigating Window -> Preferences -> Plug-in Development -> Target Platform
Offline Development
If you plan on developing offline or have the full source code, Tycho-era development and build setup is a much more appropriate solution.
Next Steps
Now that you've completed CIShell development setup, try Developing a Single Plugin