JLense Project Directory Structure

This document is a detailed explanation of the JLense project directory structure. The JLense project itself is packaged in the same way as a JLense-based application.
Thus, knowledge of how the JLense project is structured, and why, is neccessary in order to understand JLense applications.

The article 'Packaging and delivering Eclipse based products' in the Eclipse Platform Plugin Developer Guide (which can be found in the Eclipse Help system) is also highly relevant to understanding the directory structure of an Eclipse application (and hence, relevant to understanding the directory structure of a JLense application).

JLense is installed by either checking it out of the Jlense CVS repository into a directory or by expanding a JLense distribution jar file into a directory. In either case the result of installing JLense is a specific directory structure that looks a lot like this...

jlense/
    build.xml
    install.ini
    .eclipseproduct

    .config/   (local configuration info)

    jre/ (optional)

    features/   (installed features)
        org.jlense.platform_1.0.0/
            feature.xml

    plugins/
        org.eclipse.core.boot_2.0.2/
            plugin.xml
            ...
        ...

    links/
        jledger.link
        jlense.link

    jlense/
        eclipse/
            plugins/
                ...

    jledger/
        eclipse/
            plugins/
                ...

    startup/
        startup.jar
        .classpath
        .project
        start-jlense-workbench.bat
        ...

Let's take a look at these directories in more detail.

The JLense root Directory

The JLense root directory contains these important files...

FileDescription
build.xml This is the main Ant build file for building JLense.
install.ini Specifies the default 'feature'. Used by the Eclipse bootloader.
See this article on Eclipse-based Products and Extensions for more information.

The .config Directory

This directory contains Eclipse installation information.

After installing an Eclipse product the product's main executable should be run with the -initialize option to create this directory. The contents of this directory are created by the Eclipse boot loader.

The JLense build script will build this directory the first time it is run.

See this article about the Eclipse Installer for more information.

The jre Directory

A Java JRE may optionally be installed with an Eclipse application. JLense does not include a JRE.

See this article on the Eclipse Installer for more information.

The features Directory

An Eclipse-based product can have one or more primary features, and any number of other features. Files that describe these features are installed into this directory during the installation process.

In order to make the installation of JLense as simple as possible this directory is packaged as part of the JLense download and is also included in the JLense CVS repository. When installing your own product this directory should be creating following the standard Eclipse installation procedure.

See this article about the Eclipse Installer for more information.

The plugins Directory

The plugins directory contains all the standard Eclipse plugins and plugins that contain third-party libraries used by JLense. All JLense plugins and JLedger plugins are segregated into thier own plugin directories. Doing this makes it easier to set up development projects in IDEs, like Eclipse. There are entries in the links directory that tell the Eclipse boot loade to include the JLense and JLedger plugin directories.

The links Directory

This directory contains files that tell the Eclipse boot to look for additional plugin in the jlense/jlense/eclipse/plugins directory as well as the jlense/jledger/eclipse/plugins directory .

The startup Directory

The startup directory is the directory from which all JLense applications are started. In a typical JLense application installation all scripts for starting applications and such will be installed in this directory.