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. |