ControlTier Inc. > CTL
 
Font size:      

Extensions

Overview

Extensions add framework level functionality that is available to any other user of the framework. Extensions can include the following:

  • Java class libararies which may include Ant tasks and types, and their own APIs.
  • CTL command modules
  • framework commands that live in $CTL_HOME/bin

The framework provides an extension installer that takes an extension archive and installs it into the framework.

Extension Installer

All extensions are installed via the ctl-extension command.

The ctl-extension command takes an extension JAR file, extracts it, reads the MANIFEST.MF, and copies files into the appropriate places under $CTL_HOME and $CTL_BASE.

The command usage of the command is shown below:

usage: ctl-extension [options]
options:
 -S,--nosetup          don't re-run setup
 -f,--file             file to install
 -h,--help             print this message
 -o,--overwrite        overwrite framework with files from extension
Examples:
ctl-extension -f extension-name.jar

Installed extensions can be found under $CTL_HOME/lib/extensions as described below:


ctl-home
  |
  +-bin                 // shell scripts
  |
  +-classes             // bootstrap classes 
  | 
  +-depots              // project depots
  |  
  +-lib                 
  |  |
  |  +-ant              // command modules
  |  |
  |  +-extensions       // framework extensions
  |
  +-pkgs                // ant home

Project setup

The ctl-extension command installs the modules into the framework but does not install them in the project depots. Use the ctl-depot command to pull those into the project depot:

ctl-depot -p project 

For more information about the internals of an extension see the reference.