intelligentautomation / proteus

Desktop client for Sensor Observation Service (SOS) data discovery
GNU Lesser General Public License v3.0
8 stars 1 forks source link

Proteus

This repository contains the source code for Proteus. Proteus is a desktop client for sensor discovery and management developed by Intelligent Automation Inc.

proteus

Development

The following describes software dependencies and how to compile and build Proteus from the source code.

Software Dependencies

Proteus is built using the Eclipse Rich Client Platform and has the following dependencies:

Building From Source

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.

Requirements

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.

Delta pack

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.

Building

There are two simple steps to successfully build Proteus with PDE/Build.

  1. Configure the build
  2. Execute the build

We will detail these two steps below.

Configure the build

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

Execute the build

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.

Known Build Issues

Eclipse 3.7.x and Java 7 on Mac OS X

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.

Running

You can run Proteus either from within Eclipse or by using the built product.

To run Proteus from Eclipse:

  1. Import all bundles (plugins and features into Eclipse).
  2. Right-click on the proteus.product file found in the com.iai.proteus plugin.
  3. Select Run As -> Eclipse Application

FAQ

Currently none.

License

This software is released under the GNU Lesser General Public License (LGPL). See the file "LICENSE" for more details.

Acknowledgments

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.