Grid Library Format

The Grid Library can be an archive file in ZIP (.zip) or gzipped TAR format (.tgz or .tar.gz), with a grid-library.xml file in the root. It might also contain any number of directories that contain resources. Although the filename has no inherent meaning, the following format is strongly encouraged:

    library_name-library_version.[zip|tar.gz|tgz]

If a Grid Library has the OS attribute set, the following format must be used:

    library_name-library_version-os.[zip|tar.gz|tgz]

To reduce Engine restarts when you deploy a new version, always include the version in the filename, as overwriting existing libraries requires a restart, whereas a new library does not.

The directory structure is completely up to you since the configuration file is used to specify where resources are found within the Grid Library.

The configuration file must be a well-formed XML file named grid-library.xml, and be in the root of the Grid Library.

The GridServer SDKs include a grid-library.dtd file that can be used to validate the XML file. They also include an example Apache Ant build.xml file that can be used to validate and build Grid Libraries. This DTD can also be found in The grid-library.dtd.

Following is a table that specifies all elements and attributes of the grid-library.dtd file. It uses the XML schema notation for elements and attributes, such as:

[no tag]         (Required)

?        (Optional)

*        (Optional and Repeatable)

Grid Library DTD Elements and Attributes

Element

Description

Elements and Attributes

grid-library

The root element. Note that attributes affect deployment; Engines only download Grid Libraries whose attributes match their own properties and ignore those with non-matching attributes. If no attributes are specified in this element for a particular Grid Library, all Engines download this Grid Library.

ELEMENTS

grid-library-name
grid-library-version?
arguments?
dependency*
conflict*
jar-path*
lib-path*
assembly-path*
command-path*
hooks-path*
environment-variables*
java-system-properties*

 

 

ATTRIBUTES

jre
bridge?
super?
os?
compiler?

grid-library-name

The library name. All libraries must be named.

 

grid-library-version

The version. If not specified, 0 is implied. If in comparable format as defined below, it can be used to determine the latest version.

 

dependency

A library dependency. If the version is not specified, the latest version is chosen at runtime.

ELEMENTS

grid-library-name*
grid-library-version?

ELEMENTS

os?
compiler?

conflict

Indicates that this library conflicts with the given library. If this Grid Library is NOT a dependency, and grid-library-name="*", then it indicates that this Grid Library conflicts with all other Grid Libraries (aside from its dependencies).

ELEMENTS

grid-library-name*

pathelement

An element containing a relative path, typically set to a directory. This element must be in the proper format for the OS.

 

jar-path

The JAR path. If specified, all JARs and classes in the path are loaded.

ELEMENTS

pathelement*

ATTRIBUTES

os?
compiler?

lib-path

The native library search path.

ELEMENTS

pathelement*

ATTRIBUTES

os?
compiler?

assembly-path

The .NET assembly search path. Absolute assembly paths, mapped drives, and UNC paths do not work.

ELEMENTS

pathelement*
os?
compiler?

command-path

The path in which the Engine searches for Command Service executables.

ELEMENTS

pathelement*

ATTRIBUTES

os?
compiler?

hooks-path

Path to Engine Hook XML files. Engine Hooks are initialized at the time the containing Grid Library is loaded.

ELEMENTS

pathelement*

ATTRIBUTES

os?
compiler?

name

The name of a property

 

value

The value of a property

 

property

A name/value pair, used by environment variables and Java System properties.

ELEMENTS

name, value

environment-variables

Environment variables to set.

ELEMENTS

property

ATTRIBUTES

os?
compiler?

java-system-properties

Java system properties, which are set immediately prior to executing a task using this library.

ELEMENTS

property

ATTRIBUTES

os?
compiler?

The following is a list of attributes used above. Valid values can be found in the About page in the Administration Tool:

Grid Library Attributes

Attribute

Description

os

The os attribute specifies that it is only applied to this OS. If the attribute is not this operating system (OS), the containing element and its children and content are ignored.

compiler

If the attribute is not this compiler, the containing element and its children and content are ignored.

super

If set to true, the Grid Library is a Super Grid Library, meaning, it is always loaded when the Engine starts up. See Super Grid Libraries for more information.