Merlin CLI (Command Line Interface)

Overview

Merlin CLI is the command line interface to the Merlin system. It provides support for the declaration of the root block directive, a working home directory, a kernel directive, and other parameters qualifying debug output and language policy.

The prime objective the Merlin CLI is to launch a root block descriptor and facilitate the deployment of the block and as a consequence, the deployment of subsidiary blocks, containers and components.

Command Line

The Merlin CLI takes a [block] filename as it's primary argument. The block may be a block XML file or a jar file containing a block directive.

Example of block deployment based on a supplied block directive.

 $ merlin -help
usage: merlin [block] [-lang <code>] [-anchor <directory>]
       [-help] [-version] [-home <directory>] [-impl <artifact>]
       [-debug] [-info] [-config <url>] [-context <directory>] [-system
       <directory>] [-execute] [-repository <directory>] [-kernel <url>]

Command Line Qualifiers

Qualifier Parameter Description
lang A two letter country code Sets the default language country code to the supplied value.
anchor directory Override the default anchor directory for jar extension references and classpath include relative file references.
help Prints the help message.
version Prints Merlin version information and exit.
home directory Overide the ${merlin.dir} directory. This is a relative or absolute path to a working directory. If not suppled, the system will default to ${user.dir}.
impl artifact-spec Override the ${merlin.implementation} artifact spec. The specification is the formal of [group]:[artifact];[version] and is used to direct the boostrap system to load an alternative kernel implementation.
debug Instructs Merlin to issue internal system debug messages.
info Lists deployment parameters on startup.
config url A configuration source containing a set of target configuration fragements that will override configuration entries defined under a block. This value overrides any ${merlin.override} property value. If the supplied argument is a file (relative or absolute) Merlin will convert the file to a url. Relative file references are resolved relative to ${merlin.dir}.
context directory Overide the ${merlin.context} directory. This is a relative or absolute path to a working context directory. If not suppled, the system will default to ${merlin.dir}/home.
system directory Overide the ${merlin.system} directory. This is a relative or absolute path to the merlin system repository. The default value resolves to ${merlin.home}/system.
execute Forces ${merlin.server} to false resulting in the immediate shutdown of the kernel on completion of the deployment phase. If not included merlin will apply the default ${merlin.server} mode of 'true'.
repository file Declaration of a local repository cache directory. If not suppplied Merlin will default to ${avalon.home}/repository.
kernel url A url of a kernel configuration overriding the default kernel directive. The value defaults to ${merlin.config}/kernel.xml.