Oscar Subversion Repository

Release version: 1.0.5 - May 13, 2005

Introduction

The Oscar project is available via anonymous access from a Subversion repository hosted on the ObjectWeb Forge project page. This repository contains all Oscar framework source code (i.e., the OSGi framework implementation), one simple example bundle, user documentation, and other miscellaneous files needed to build Oscar from scratch. A benefit of having Oscar available via Subversion is that it is now possible to gain access to bug fixes and feature enhancements before official releases are published. This document describes the structure of Oscar's Subversion repository and the basic commands needed to anonymously access the repository. This document does not describe in detail how to build Oscar; for more information on building Oscar refer to the build document.

(This document assumes that you have a Subversion client installed on your computer.)

Repository Structure

The Oscar repository is located at the following URL:


    svn://svn.forge.objectweb.org/svnroot/oscar

The root of the repository contains the following three directories:

To view this structure using the standard Subversion command-line client, you type:


    svn list svn://svn.forge.objectweb.org/svnroot/oscar

The svn list command can be used to browse the entire Oscar repository in a fashion similar to command-line access to the file system.

Retrieving the Trunk

Often bug fixes or feature enhancements will be applied to the trunk a while before an official Oscar release is published. In a situation where you want the latest and greatest version of Oscar or, perhaps, need a specific bug fix or feature, then you should retrieve the trunk and build a new set of Oscar JAR files. To retrieve the trunk, type:


    svn checkout svn://svn.forge.objectweb.org/svnroot/oscar/trunk

This command creates a working copy of the head of the trunk in your current directory; it places the trunk in a directory called trunk/. If you prefer a more meaningful name, you can specify a directory name, such as:


    svn checkout svn://svn.forge.objectweb.org/svnroot/oscar/trunk oscar

This command creates a working copy of the head of the trunk in your current directory in a directory called oscar/. Once you created a working copy of the trunk, it is not necessary to check it out again to update the source code to the latest version of the trunk source code. To update to the latest trunk source code, from inside the directory of your working copy, type:


    svn update

This command will synchronize your working copy with the latest version of the trunk in the repository. The change log in the doc/ directory of your working copy will generally be kept up-to-date with respect to applied changes, so refer to it for details. To build the trunk, refer to the build section below. If you no longer wish to have a working copy of the trunk, you can simply delete your working copy directory.

Retrieving Releases

If you want to retrieve a specific official release of Oscar, you will probably first want to see which releases are available by issuing the following Subversion command:


    svn list svn://svn.forge.objectweb.org/svnroot/oscar/tags

This will display a list of all tagged releases; the will have names like "release-1.0.0" and "release-1.0.1". To make a copy of a specific release, use a command like the following:


    svn checkout svn://svn.forge.objectweb.org/svnroot/oscar/tags/release-1.0.1

This command will create a working copy of release 1.0.1 in your current directory. For information on how to build the release, refer to the next section.

Building Oscar

To build Oscar you will need to have at least version 1.6 of Ant installed. Assuming that you have Ant installed correctly, from inside your working copy directory type "ant and the Oscar JAR files will build and be placed into a directory called lib/. It is not possible to run Oscar directly from your working copy directly by default. If you want to run your newly built version of Oscar, you have two choices:

  1. Copy the JAR files from your working copy lib/ into a previously installed Oscar lib/ directory.
  2. Copy the necessary shell bundles and system properties file into your working copy's bundle/ and lib/ directories, respectively.

The second approach sounds more difficult, but it is probably the better approach since it does overwrite your Oscar installation. The details of the second approach are as follows:

After these two steps, you are free to start Oscar as normal (i.e., java -jar lib/oscar.jar). If you want more information about building Oscar, refer to the build document

Final Comments

If you have comments or suggestions, feel free to contact me at heavy@ungoverned.org

Richard S. Hall