This repository contains the source code for Proteus. Proteus is a desktop client for sensor discovery and management developed by Intelligent Automation Inc.
The following describes software dependencies and how to compile and build Proteus from the source code.
Proteus is built using the Eclipse Rich Client Platform and has the following dependencies:
Proteus Common, Version 1.0, GNU Lesser General Public License (LGPL)
NASA World Wind, Version 1.3, NOSA License, version 1.3. The NASA World Wind source code is redistributed, but unmodified.
Eclipse Albireo, Version 0.0.3.v20081031, Eclipse Public License, version 1.0. The Albireo code is distributed, but unmodified.
JFreeChart, Version 1.0.13, GNU Lesser General Public License (LGPL)
Java XT - RSS & GIS, Version 1.1, MIT License
Apache Commons Validator, Version 1.4.0, Apache License, Version 2.0
Apache Log4j, Version 1.2.17, Apache License, Version 2.0
Proteus is built on the Eclipse Rich Client Platform (RCP). Eclipse plugins and features (bundles) can be compiled and built using the PDE/Build component.
Proteus requires JDK 7 and Eclipse RCP 3.7.x. (Indigo). The build also requires Ant to be installed on you computer and to be available on your path.
To build Proteus for multiple platforms (e.g. Mac OS X, Linux and Windows), the Eclipse target installation needs to have the Delta pack installed. The Delta pack contains platform-specific bundles and executables for multiple platforms. By default an Eclipse RCP installation only contains bundles for the specific platform it will run on.
The Delta pack is specific to each Eclipse version. The Delta pack for Eclipse 3.7.2, for example, can be found here.
Unpack the downloaded Delta pack into the target Eclipse installation with the same version. This will make platform-specific bundles available so that builds for multiple platforms can be produced on a single platform.
There are two simple steps to successfully build Proteus with PDE/Build.
We will detail these two steps below.
The PDE/Build process we use is ultimately controlled by a build.properties file. The default build.properties file we provide can be found in the utilities/pde-builder folder. This file provides information needed by the PDE/Build scripts, and specifies exactly what should be built. It is a Java properties file, so it consists of key-value (key=value) pairs. Most default values can be left untouched, or will be overridden by our custom scripts.
To keep things organized, there are a few pre-build steps that are recommended. For sake of simplicity we have provided an ANT build file (utilities/build.xml) that can execute these simple pre-build steps for you, as well as initiate the PDE/Build itself. Just follow the instructions below.
Step 1: Copy the build configuration file
To avoid having to change the version-controllde PDE/Build build.properties file discussed above, we have provided a separate Java properties file where the necessary properties can be overridden. This file is called config.example.properties and is located in the utilities folder. Copy the contents of this file to a file called config.properties in the same folder:
cd utilities
cp config.example.properties config.properties
Note: Modifying a copied file avoids making changes to versioned controlled files during specific system build configurations.
Step 2: Edit the build configuration file
There is really just one property that needs to be modified, and that is the property specifying the location of the target Eclipse RCP installtion that we will be building against.
Note: The target Eclipse installation needs to have the Delta pack installed in order to successfully build for multiple platforms (this is the default). If you do not want to build for multiple platforms the utilities/pde-builder/build.properties file needs to be modified. Which platforms to build for is controlled by the 'configs' parameter
When the build has been configured, simple execute the build.xml ANT script by runnnig ANT in the utilities folder:
ant
The build will by default take place in the utilities/target folder. The final output of the build can be found in the utilities/target/dist folder. It should contain a ZIP archive of Proteus for each platform built for. To test the build, unpack the desired ZIP file and execute the appropriate Protues.* file (e.g. Proteus.exe on Windows, Proteus.app on Mac OS X).
If you want to you can read more about ther PDE/Build process.
There is an issue with the PDE/Build system on Eclipse 3.7.x with Java 7 on Mac OS X. Details can be found in Bug 392434. A simple workaround is to do the following:
cd /Library/Java/JavaVirtualMachines/jdk1.7.0_*.jdk/Contents/Home
sudo ln -s jre/lib Classes
You may need root access for the above.
You can run Proteus either from within Eclipse or by using the built product.
To run Proteus from Eclipse:
Currently none.
This software is released under the GNU Lesser General Public License (LGPL). See the file "LICENSE" for more details.
This software was initially developed by Intelligent Automation, Inc., under NASA funding (contract no: NNX11CA19C).
The icons used in Proteus are from the Fugue Icon set and are (C) 2012 Yusuke Kamiyamane, used under Creative Commons Attribution 3.0 License.