Keros Environment 1.2


Project Conventions

Keros strives to adhere to various conventions as described below.

Directory names

Directory names should reflect the contents of those directories:

File names

Files adhere to the following naming conventions:

Property Names

Properties are named as follows:


User Definable Properties

User definable properties are those that can be defined value outside Keros.  If not defined, reasonable default values are used.

There are three ways to express values for user definable properties:
<property  name = "SomeProperty"  value = "SomeValue"/>

"Fixed" Properties

Fixed properties are those that are set by Keros to predefined values.  Often fixed properties are expressed using some user definable properties to create values.  Please note:  if a fixed property currently has a value, it is reset with a new one as defined by Keros.


Variables are properties used within macrodef's.  These properties will always be overwritten for each call of a macrodef.  The naming convention reflects [XML file name (minus dot XML)].[macrodef name].[variable name] - for example keros.unpack-bz2.BZ2_TAR_FILE_NAME

Deriving Directory Information

Properties holding directory information are typically named using a summation strategy:  definition of a directory name and a "home" using this name.  Additionally, directories may be defined relative to a "root" or home directory.  For example:
keros-project.project.HOME = [some directory]
keros-project.assembly.DIR_NAME = "assembly"
keros-project.assembly.HOME = "${keros-project.project.HOME}/${keros-project.assembly.DIR_NAME}"

Building and "skipping"

The build script, keros-project.xml, contains reusable targets and dependencies that follow a named pattern in the form of [xml file name].verb.noun (for example keros-project.document.svn).  To skip execution of targets (either directly or through a dependency), most targets make use of the unless attribute.  For example <target  name = "keros-project.document.svn"  unless = "keros-project.document.svn.SKIP"...>  Here are a few examples:

Target Name
Unless Attribute
keros-project.document.svn keros-project.document.svn.SKIP keros-project.jar.SKIP Logo