buildframework/helium/doc/src/manual/running.rst
changeset 628 7c4a911dc066
parent 587 85df38eb4012
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
    96 * Warn about required properties in groups where at least one other property from that group is used. A group is a set of related properties for a feature. If that feature is to be used some properties may then be required and some may still be optional within that group.
    96 * Warn about required properties in groups where at least one other property from that group is used. A group is a set of related properties for a feature. If that feature is to be used some properties may then be required and some may still be optional within that group.
    97 * Show for information any properties that are in the configuration but not in the data model. A particular build configuration may want to define some properties that are additional to those recognised by Helium.
    97 * Show for information any properties that are in the configuration but not in the data model. A particular build configuration may want to define some properties that are additional to those recognised by Helium.
    98 
    98 
    99 
    99 
   100 .. index::
   100 .. index::
   101   single: Tools version checking
       
   102 
       
   103 Tools version checking
       
   104 ======================
       
   105 
       
   106 Tool version checking can be performed to ensure that all tools have correct versions present. At the same time, a path setting file will be created. Calling this file will add tools into path, so hard coding paths is no longer needed.
       
   107 
       
   108 To perform checking run the command::
       
   109 
       
   110   hlm check-tool-versions
       
   111 
       
   112 
       
   113 .. index::
       
   114   single: Build output
   101   single: Build output
   115 
   102 
   116 Build output
   103 Build output
   117 ================
   104 ================
   118 
   105 
   119 When a build is running the targets being executed are listed on the screen there is no need to pipe this to a file as the ant targets are logged in the   ``\*_main.ant.log`` for product and IDO builds. Once the build is complete it will say on the screen whether the build was successful or failed. If it has failed it should give an indication of where and why it failed on the screen but for more information you must examine the output logs. If the build says it was successfult this does not necessarily mean that the build compiled all components successfully, you must examine the logs to check that all is compiled and linked correctly. See :ref:`Troubleshooting-label` for information on logs and where they kept.
   106 When a build is running the targets being executed are listed on the screen there is no need to pipe this to a file as the ant targets are logged in the   ``\*_main.ant.log`` for product and IDO builds. Once the build is complete it will say on the screen whether the build was successful or failed. If it has failed it should give an indication of where and why it failed on the screen but for more information you must examine the output logs. If the build says it was successfult this does not necessarily mean that the build compiled all components successfully, you must examine the logs to check that all is compiled and linked correctly.
   120 
   107 
   121 The result of the build (compiled files, linked (flash) files etc.) are  stored in the usual folders and directories under the ``\epoc32`` directory.
   108 The result of the build (compiled files, linked (flash) files etc.) are  stored in the usual folders and directories under the ``\epoc32`` directory.
   122 
   109 
   123 .. index::
   110 .. index::
   124   single: Running build operations
   111   single: Running build operations
   154 Logging
   141 Logging
   155 =======
   142 =======
   156 
   143 
   157 Diamonds
   144 Diamonds
   158 --------
   145 --------
   159 Logging to the Diamonds metrics database can be disabled by setting the property:: 
   146 Logging to the Diamonds metrics database could be disabled by setting the property:: 
   160 
   147 
   161     skip.diamonds=true
   148     diamonds.enabled=false
   162 
   149 
   163 Internal data
   150 Internal data
   164 -------------
   151 -------------
   165 
   152 
   166 Helium can collect internal data about builds for the purpose of improving support. This can be disabled by setting an environment variable::
   153 Helium can collect internal data about builds for the purpose of improving support. This can be disabled by setting an environment variable::
   167 
   154 
   168     set HLM_DISABLE_INTERNAL_DATA=1
   155     set HLM_DISABLE_INTERNAL_DATA=1
       
   156     
       
   157 Output logs
       
   158 -----------
       
   159 
       
   160 There are a large number of output logs created to assist with understanding the build and determining what has been performed and what has not. All of the log files are generated in the build area, usually under the ``output/logs`` folder. Many of the logs are created in different formats, e.g. the Bill Of Materials log file exists as HTML, XML and text (all the same information). Some of the logs exist as different file formats giving different information at various stages of the activity, e.g. the cenrep logs in which case generally the HTML files are a summary of the whole activity.
       
   161 
       
   162 .. image:: dependencies_log.grph.png
   169 
   163 
   170  
   164  
   171 Troubleshooting
   165 Troubleshooting
   172 ================
   166 ================
   173 
   167 
   174 See :ref:`Troubleshooting-label` for information on how to find faults with Helium.
   168 This section contains details on how to find errors and problems within Helium itself (for helium contributors) and within the configuration files
       
   169 and Ant tasks etc. for build managers and subcons.
       
   170 
       
   171 Diagnostics
       
   172 ------------
       
   173 
       
   174 Use the :hlm-t:`diagnostics` command provide debugging information when reporting problems. It lists all the environment variables and all the Ant 
       
   175 properties and all the Ant targets within Helium::
       
   176 
       
   177     hlm diagnostics > diag.log
       
   178 
       
   179 Failing early in the build
       
   180 ---------------------------
       
   181 
       
   182 The :hlm-p:`failonerror` property is defined in ``helium.ant.xml`` and has the default value ``false``. It is used to control whether the ``<exec>`` 
       
   183 tasks fail when errors occur or the build execution just continues. The build can be configured to "fail fast" if this is set to ``true``, 
       
   184 either on the command line or in a build configuration before importing ``helium.ant.xml``. Given that many ``exec`` tasks will return an 
       
   185 error code due to build errors, it is not recommended to set this to true for regular builds.