LOUI development is best done in with the eclipse IDE. Java 5 7 and eclipse 3.5 are the minimum acceptable versions for development - using Java 8 and eclipse 3.8.2 is highly recommended. Errors may occur on 4.x versions of eclipse, and higher Java versions (as of 2019 October) have not been tested.
It is required to download the full Eclipse SDK (e.g. eclipse-SDK-3.58.2-macosx-cocoa-x86_64.tar.gz) from the eclipse download site. If one wants to create products for multiple platforms, downloading the eclipse Delta Pack (eclipse-3.8.2-delta-pack.zip) and setting up a "Target Platform" would also be required.
Each required plugin which is not part of the standard eclipse SDK is in the source repository as its own project. Current list of required projects for one of the LOUIs, e.g. NASA42, is:
- com.richclientgui.rcptoolbox
- edu.lowell.loui.common
- edu.lowell.lig.common
- edu.lowell.lig.jms
- edu.lowell.loui.imager
- groovy
- org.apache.activemq
- org.apache.commons.beanutils
- org.apache.commons.codec
- org.apache.commons.collection
- org.apache.commons.configuration
- org.apache.commons.digester
- org.apache.commons.jxpath
- org.apache.commons.lang
- org.apache.commons.logging
- org.apache.commons.math
- org.apache.log4j
- org.jfreechart.swt.libs
- org.simpleframework.xml
In addition to these download files, one should also use the Eclipse update mechanism to install a few more packages:
In the "Help" menu option, "Install New Software ..."
- GEF SDK from the standard download site already available in eclipse
- PGroup widget from Nebula project at https://archive.eclipse.org/nebula/releases/2.0.0/
- NOTE: This version at least made the getTemp app buildable for me; the latest (2.5.something) had an error related to JRE 1.8 so my guess is nebula dropped Java 8 support somewhere along the way?
- Add the URL in the "Work with" box, and select the Pgroup widget from the "Nebula Release Individual Widgets" section
- Subversive
Subversive is the subversion (SVN) plugin; you'll need that to get the sources. It works with the current project sets. In the past, subclipse was another option, but the latest releases need Eclipse 4.2.x so that won't work super easily.
The repository is on jumar. The connection url is The repository is subversion and it is on jumar. The connection url is svn://jumar.lowell.edu
.
Example checkout syntax from command line:
Code Block | ||||
---|---|---|---|---|
| ||||
$ svn checkout svn://jumar.lowel.edu/edu.lowell.loui.nasa42/trunk edu.lowell.loui.nasa42<YOUR DESIRED REPO HERE>/trunk <LOCAL PATH HERE> |
Create a new workspace and do the above checkouts and then do the following:
- Create Create
/opt/LOUI/
directory directory for storing the configuration files. Give it permissions and ownership of the your username (or your desired development username) Check out the whole tree for the config files
Code Block bash bash $ cd /opt/LOUI $ svn checkout svn://jumar.lowell.edu/LOUI_Configuration/trunk/proddev .
- Edit the jndi.properties file in /opt/LOUI/nasa42 (DESIRED LOUI(we reccomend lmi)) to point to the right machine and right broker.
You'll also need to set up the logging path; the apps will technically work without it, but this should not be allowed. Root permissions are fine.
- Create a directory in /var/log/LOUI/
The logging framework creates the log files and rotates them automatically but the parent directory structure needs to be in place. Each app has a separate directory under /var/log/LOUI/
. The following apps should show up in there:
cat
deveny
getTemp
gwaves
igrins
joe
joeClient
lmi
nightlyReport
nihts
observerTargetlist
Once you're up and running minimally, the fastest way to get everything is to use Team Project Sets.
OLD UNSORTED NOTES STILL BELOW
Each required plugin which is not part of the standard eclipse SDK is in the source repository as its own project. Sample list of required projects for the LOUI build project set are as follows:
One can either do the checkouts individually using an eclipse subversion plugin, such as subclipse, or use a shell script to do all the checkouts in one operation, or use the eclipse's Team Project Set.
After you retrieve the required plugins, there are a few more libraries that need to be downloaded and installed. The easiest and fastest way to build the workspace is to use Team Project Sets.First is JUnit:
https://github.com/junit-team/junit/wiki/Download-and-Install
-Download the JAR file for the latest version.
-Put the JAR somewhere easily reached in your LOUI workspace.
-Find the plugins that require junit. This can be done most easily using the problems pane.
-navigate to that plug-in and right-click it.
-navigate through properties/java build path/libraries/add external JARs
-navigate to the junit JAR, and select it.
-Now, the project can access junit, but the manifest will require junit4.
-navigate to the project''s manifest (META-INF/MANIFEST.MF)
-in the manifest, find the junit4 requirement, and delete the 4.
Next is Eclipse Nebula. Instructions for installation can be found on the site.
https://eclipse.org/nebula/downloads.php
-
The installation file for the SVN version required by Eclipse 3.8.2 may be found here:
http://www.eclipse.org/subversive/previous-releases.php
or directly from:
Another useful link for finding the Eclipse 3.8.2 installation and supporting files is here:
http://archive.eclipse.org/eclipse/downloads/drops/R-3.8.2-201301310800/macPlatform.php
and
http://archive.eclipse.org/eclipse/downloads/drops/R-3.8.2-201301310800/
When installing the development files for the first time: