--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/buildframework/helium/sf/java/diamonds/diamonds.rst Tue Apr 27 08:33:08 2010 +0300
@@ -0,0 +1,78 @@
+.. index::
+ module: Configuring Diamonds
+
+====================
+Configuring Diamonds
+====================
+
+.. contents::
+
+Introduction
+------------
+Diamonds is web application that can collect all build related information and categorize
+builds. It can represent build information in different metrics. This document describes how
+to configure diamonds in helium.
+
+Diamonds Server setup
+---------------------
+Please define ``diamonds.host`` property with server address and ``diamonds.port`` with server port number.
+e. g. ::
+
+ <!-- Diamonds server details -->
+ <property name="diamonds.host" value="diamonds.xxx.com"/>
+ <property name="diamonds.port" value="9900"/>
+
+
+Initialize diamonds
+-------------------
+`diamonds` target is the initialize target for diamonds logging. Call diamonds target in build target sequence
+and this will log the already available data to diamonds and continue to log data onward as soon as they are available.
+This is done already in helium build target sequence. So user can ignore this section.
+
+Disable diamonds logging
+-------------------------------
+Diamonds logging can be skipped by defining the property ``skip.diamonds`` to true.
+e.g.::
+
+ hlm -Dskip.diamonds=true
+
+
+Add targets into diamonds configuration ftl file
+------------------------------------------------
+Diamonds detail configurations are in helium/config/diamonds_config.xml.ftl file.
+User have to add target here(this target must be already defined in configuration)
+if they want to log some additional data to diamonds after the target execution.
+
+Define the target with the following attributes inside ``<targets>`` node:
+
+.. csv-table:: Target
+ :header: "Attribute", "Description", "Required"
+
+ "name", "Name of the target","Yes"
+ "template-file", "template file to process the data","No, if not defined, consider template file name same as target name"
+ "logfile", "log file which will be processed","No"
+ "ant-properties","set true if you need values from ant properties, default is false","No"
+ "defer", "logging will be deferred and will be logged at the build finish time. Default is false","No"
+
+e.g
+
+.. code-block:: xml
+
+ <target name="check-tool-dependencies" template-file="tool.xml.ftl" logfile="${ant['temp.build.dir']}/build/doc/ivy/tool-dependencies-${ant['build.type']}.xml" ant-properties="true" defer="true"/>
+
+
+If no logfile provided, looks for xml file to send using <build.id_target_name.xml> file or <target_name.xml> file,
+if both doesn't exists does nothing. tries to pass ant properties and sends it. For below example, it looks for
+<build.id_create-bom.xml> or create_bom.xml and if any one exists then it will send that data.
+
+::
+
+ <target name="create-bom"/>
+
+
+Using only ant properties for a specific target to send data
+
+::
+
+ <target name="ant-prop-target" template-file="ant-prop.xml.ftl" ant-properties="true"/>
+