Development Guide

Source Layout

dfc/                            DSTO Foundation Classes
  ...

livespaces/                     Livespaces components

  livespace.build/              Builds Livespace source
    build                       Script to build from source
    distro                      Script to build distributions
    dist/                       Distribution files built here
    ...

  livespace.osgi/               Livespace OSGi runtime host
    lib/bundles/                Livespace OSGi bundles built here
    bin/start_livespace         Shell script to launch Livespaces/OSGi
    config/                     Livespace service configurations
    ...
  ...

Most of the Livespace components (livespace.* directories under livespaces) correspond to an OSGi bundle of the same name that is built and deployed into livespaces.osgi/lib/bundles by a ‘bundle’ target in the component’s Ant build.xml file.

The livespace.build project contains scripts to coordinate building all Livespace and DFC components and generating distribution packages.

The livespaces.osgi project contains an OSGi runtime (Knopflerfish) plus scripts and bootstrap code needed to configure and launch a Livespaces runtime (server or client).

Requirements

Optional:

Getting Started

The examples below assume a Bourne shell command line environment.

Using Eclipse

To import into Eclipse (3.3 or later):

Windows: dfc.swt/lib/swt/win32/swt.jar
Mac OS X (10.4 - 10.5): dfc.swt/lib/swt/cocoa_i386_ppc/swt.jar
Mac OS X (10.6): dfc.swt/lib/swt/cocoa_x86_64/swt.jar
Linux (x86): dfc.swt/lib/swt/gtk_linux_x86/swt.jar
Linux (x86-64): dfc.swt/lib/swt/gtk_linux_x86_64/swt.jar

To run build and distribution targets from inside Eclipse:

Where To From Here?

Have a look at the livespace.services.clipboard and livespace.ui.clipboard projects for a really simple example of a Livespace service and its associated Dashboard GUI widget.

The build.xml file in each project demonstrates how to build the associated OSGi bundle for each component and deploy it into the bundle staging area in livespace.osgi.