Building the Jini(TM) Technology Packages

Building the Jini(TM) Technology Packages


The Jini(TM) Technology Starter Kit (starter kit) includes support for generating binary (JAR) files and documentation from the provided source code using the Apache Ant build tool (available from the Ant project site at Apache.org,
http://ant.apache.org).

This page describes how to use ant to build the starter kit from the source code. This Ant build process was originally based on Geoff Arnold's Ant build script, located at http://user-garnold.jini.org, and we thank him for his contribution.

It is not necessary to build the JAR files from source code to get started with Jini technology. The JAR files are provided for you as part of the starter kit, depending on your installation options. The location of the JAR files is documented in info-index.html . In the instructions below, install_dir is the directory into which you installed the starter kit distribution.

NOTE: Please do not attempt to build the starter kit JAR files without first taking note of the Outrigger build issues, and the platforms on which the starter kit has been tested.


Build instructions

The following prerequisites must be met before a build can be executed:

The following build options are currently available:

To build the starter kit JAR files, you must:

    cd install_dir/source

    ant <target>
where the basic targets are:
all
This target is also the default target and can be invoked by simply running ant without specifying any target. This target compiles the class files for all of the starter kit source code, and generates Java Remote Method Invocation (Java RMI) stub classes. The class files will be placed in the following directory:

   install_dir/source/classes

jars
Creates the JAR files for the starter kit, using the compiled class files. The compiled class files must already have been created. The resulting JAR files will be placed in the following directories:

   install_dir/source/lib
   install_dir/source/lib-dl
   install_dir/source/lib-ext

clean
Removes the class files, configentry files, docs, JAR files, and all associated directories generated during the build.

doc or javadoc
Generates API documentation for the starter kit, using the Javadoc(TM) tool. The documentation will be placed in the following directory:

   install_dir/source/doc/api

If you make any modifications and/or corrections to this build process and want those changes considered for use in our next release, please submit your modifications to jini-comments@sun.com for consideration.


Outrigger build issues

PersistentOutriggerImpl (the contributed persistent implementation of JavaSpaces(TM) technology from Sun Microsystems) relies on a pluggable persistence layer,
com.sun.jini.outrigger.Store. This release includes two implementations of the Store interface, logstore and snaplogstore. By default, PersistentOutriggerImpl uses the snaplogstore implementation.

Logstore depends on Progress Software's ObjectStore PSEPro for Java (PSEPro) to persist the contents of the space to disk. PSEPro requires the post processing of the class files for any objects that are going to be persisted. PSEPro also requires a set of runtime classes. Neither the runtime classes nor post processor are distributed in this release of the starter kit. As a result, unless you have obtained the PSEPro development tools (in particular Release 6.0 Service Pack 7), you cannot build LogStore from its source code (note, logstore's source code is included in this release).

If you use the above process to build the starter kit, you will be able to build TransientOutriggerImpl (the contributed, non-persistent implementation of JavaSpaces technology from Sun Microsystems), PersistentOutriggerImpl, and snaplogstore (along with the non-Outrigger parts of the starter kit). If PSEPro's runtime classes are not present, the above process will not (re)build the logstore package or the associated archive files.


Copyright 2005, Sun Microsystems, Inc.
Licensed under the Apache License, Version 2.0.