Chapter 1. Building JASMINe

Table of Contents

1.1. Software requirements
1.2. Getting the sources
1.2.1. Structure of the repository
1.2.2. Command line
1.2.3. Eclipse Subclipse/Subversive
1.3. Ant process
1.4. Building the UI

1.1. Software requirements

  • Eclipse 3.2 (or more)

  • Ant 1.6.5

  • JDK 5.0

  • JOnAS 4.8.X

1.2. Getting the sources

1.2.1. Structure of the repository

The structure is structured as follows:

trunk/
     assembly/            <- build.xml required files
     jasmine-control/     <- Central node module
     jasmine-doc/         <- Documentation
     jasmine-gui/         <- UI
     jasmine-jade/        <- JADE Bundles
     jasmine-probes/      <- Monitoring System
     build.xml

1.2.2. Command line

Svn command line client is used to checkout the sources:

>$ svn checkout svn://svn.forge.objectweb.org/svnroot/jasmine/jasmine/trunk jasmine
A    jasmine/assembly
A    jasmine/assembly/jasmine-control
A    jasmine/assembly/jasmine-control/ant
A    jasmine/assembly/jasmine-control/ant/README
A    jasmine/assembly/jasmine-control/ant/build.xml
A    jasmine/assembly/jasmine-control/rars
A    jasmine/assembly/jasmine-control/rars/autoload
...
A    jasmine/jasmine-probes/jython
A    jasmine/jasmine-probes/jython/manager.py
A    jasmine/jasmine-probes/jasmine-probe-jython.sh
A    jasmine/jasmine-probes/.settings
A    jasmine/jasmine-probes/.settings/org.eclipse.jdt.core.prefs
A    jasmine/build.xml
Checked out revision 184.
      

This will checkout all the JASMINe code base (Control node components, JADE bundles and wrappers, UI) in a folder named jasmine.

1.2.3. Eclipse Subclipse/Subversive

In the SVN Repository Exploring perspective, add a new repository location with the URL svn://svn.forge.objectweb.org/svnroot/jasmine/jasmine/trunk (or with 'svn:ssh' for a developer access).

Checkout the trunk as a new project (not Java project). Then, simply import the projects inside in your workspace.

It's important to keep the Jasmine projects structure, otherwise the JASMINe build process will not work.

[Note]Note

Use the protocol svn+ssh (instead of svn) for developer access. Anonymous users are unable to commit changes.

1.3. Ant process

Prior to the build execution, the following environment variables must be set:

  • JONAS_ROOT must points to a valid JOnAS 4.8.X installation directory.

Executing ant in the jasmine/ directory will compile everything and produce the distributable binaries in the output/dist/ directory:

>$ ant jar
Buildfile: build.xml

init:

jar-probes:
...
parent:
     [copy] Copying 1 file to /home/sauthieg/tmp/test-sub/jasmine/output/dist

jar:

BUILD SUCCESSFUL
Total time: 7 minutes 59 seconds

This command creates jasmine-doc-VERSION.zip, jasmine-jade-VERSION.zip and jasmine-control-VERSION.zip, which contain all the JASMINe binaries (except the UI).

The structure of the jasmine-control.zip file is:

jasmine-control.zip
         jonas/
           lib/ext/
               jasmine-shared.jar
           rars/autoload
               drools.rar
           ejb3s/
               jasmine-rules.jar
               jade-ejb.jar
         jasmine_rules/
               defaultRules.drl.xml
               test.drl.xml
         build.xml
         README

It contains a build.xml file which will ease the install of the components in a JOnAS server.

The file jasmine-jade.zip contains:

jasmine-jade.zip
         jade-jmx.zip
         jadenode.tar.gz
         jadeboot.tar.gz
         repository/
            ...

The use of these files is explained in the user manual.

1.4. Building the UI

Open the jasmine.product file from the JASMINe.editor project. It's important to take care of selecting all the necessary plug-ins. To launch it from eclipse click on 'Launch the product'. The conf folder should be visible from the working directory (it's possible to change it in the Run... wizard), usually inside the JASMINe project folder.

To get an independent eclipse RCP client, just click on 'Eclipse Product export wizard' on the overview tab of the jasmine.product.

Copyright © 2006-2007 JASMINe / ObjectWeb consortium
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License.

http://jasmine.objectweb.org