This page guides you through the process of cloning the current ModelGUI code from Github, and the dependencies required to develop the project.
No build tool is required to develop with the source code.
To get set up, you need to:
1. Clone three Github repositories
2. Download the dependencies
3. Set up your classpath
Table of Contents
|
Clone from Github
Clone these three repositories:
Dependencies
Download and extract lib-current.
You can obtain the dependencies for non-current versions here.
Classpath
If the dependencies "lib" folder is in the same directory as your executables, your classpath should look something like:
.:*:lib:lib/*:lib/java3d/*:lib/jogl/*
for Mac/Unix, or:
.;*;lib;lib\*;lib\java3d\*;lib\jogl\*
for Windows.
If "lib" is elsewhere, simply prepend the path where it is located (if it contains spaces, you'll also need to wrap it in " characters).
You will also need to add the mgui source directories to your classpath:
/path/to/mgui-exec/trunk/src:/path/to/mgui-core/trunk/src:/path/to/mgui-neuro/trunk/src
Executing
The main class is mgui.interfaces.exec.MguiStart, located in the mgui-exec project. This directory also contains the application data folders (init, cmaps, data, data_sources, logs, node_shapes, pipeline_process_libraries). You can execute directly from this directory, in which case your classpath will look like:
trunk/src:/path/to/mgui-core/trunk/src:/path/to/mgui-neuro/trunk/src
To execute, your full command line (on Mac/Unix) should look something like:
java -Xmx5000m -classpath .:*:lib:lib/*:lib/java3d/*:lib/jogl/*:trunk/src:/path/to/mgui-core/trunk/src:/path/to/mgui-neuro/trunk/src mgui.interfaces.exec.MguiStart mgui.mac.init
The -Xmx5000m part is a JDK argument specifying the desired memory (here, 5000 MB).
The mgui.mac.init part points to an initialization file located in the "init" directory. If not specified, this will look for "mgui.default.init".
Note, to save time/headaches, this command can be saved to a text file and executed directly.
Developing with Eclipse
Eclipse is a fantastic, community-based integrated development environment (IDE) for working with large Java-based APIs. To get set up in Eclipse, you'll need to:
1. Create three projects pointing to each repository
2. Add mgui-core and mgui-neuro projects to the build path of mgui-exec; also add mgui-core to the build path of mgui-neuro
3. Add a new user library called "mgui-lib", add all jars to this (including those in subdirectories) from the "lib" directory, and add this user library to the build path of mgui-core and mgui-neuro; see this tutorial if you're not sure how to do this.
4. Run or debug the main file "mgui.interfaces.exec.MguiStart". The run profile should set arguments pointing to the desired "init" file (e.g., mgui.mac.init or mgui.default.init), and the VM arguments can optionally be used to set the desired memory (e.g., -Xmx5000m).
Start Coding!
A good starting place for understanding the code is here.