Minos Galanakis | f4ca6ac | 2017-12-11 02:39:21 +0100 | [diff] [blame] | 1 | #------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved. |
| 3 | # |
| 4 | # SPDX-License-Identifier: BSD-3-Clause |
| 5 | # |
| 6 | #------------------------------------------------------------------------------- |
| 7 | |
| 8 | /*! @mainpage TF-M CI Script Documentation |
| 9 | |
| 10 | @section Introduction |
| 11 | This repository holds build scripts used by "Continuous Integration" jobs |
| 12 | executed on Linaro Jenkins infrastructure. |
| 13 | |
| 14 | These script leave "provisioning" of the environment to the executor, and thus |
| 15 | will not install compilers and other needed tools, clone repositories and so on. |
| 16 | |
| 17 | The intention is to make these tools execute fine not only on the Jenkins |
| 18 | servers, but also on developer PC:s and thus these scripts provide both a |
| 19 | "centralised" and a "distributed" CI environment. |
| 20 | |
| 21 | @section documenting Writing/maintaining this documentation |
| 22 | This documentation is Doxygen based. Please use the makefile in this directory |
| 23 | to generate html output. |
| 24 | |
| 25 | The Doxygen configuration is made in a way to process all files with a .sh or |
| 26 | .dox extension. Still output will only be generated for documented files, i.e. |
| 27 | files with a <em>\@file</em> tag. |
| 28 | |
| 29 | For details on how to instrument the shell scripts please refer to |
| 30 | \ref pgSoxygenSh. |
| 31 | |
| 32 | @tableofcontents |
| 33 | @section ReadmeS1 Building tf-m. |
| 34 | |
| 35 | Python build documents are preliminary and will be included in future revisions. |
| 36 | |
| 37 | Each Python script contains built-in help which can be accessed by -h, --help |
| 38 | command line argument. |
| 39 | |
| 40 | In order to build all configurations use build_helper.py |
| 41 | |
| 42 | @code{.sh} |
| 43 | # Will build all configurations to build-all-dir and |
| 44 | # create a report in json format. |
| 45 | |
| 46 | ./ci-scripts/build_helper/build_helper.py -b build-all-dir -r report.json |
| 47 | @endcode |
| 48 | |
| 49 | |
| 50 | @section ReadmeS2 Static analysis of TF-M. |
| 51 | The CI system currently supports chakpatch and cppcheck to analyze TF-M source |
| 52 | content. |
| 53 | |
| 54 | @subsection ReadmeS2S1 Cppcheck |
| 55 | The script \ref run-cppcheck.sh can be used to execute cppcheck. For details |
| 56 | please refer to the documentation of the script. |
| 57 | |
| 58 | The script \ref make_cppcheck_summary.sh can be used to genetare a summary of |
| 59 | XML output files generated by cppcheck. |
| 60 | |
| 61 | @subsection ReadmeS2S2 Checkpatch |
| 62 | The script \ref run-checkpatch.sh can be used to execute checkpatch. For details |
| 63 | please refer to the documentation of the script. |
| 64 | |
| 65 | The script @ref make_checkpatch_summary.sh can be used to generate a summary |
| 66 | report file of chackpatch results. |
| 67 | |
| 68 | @section pgindex_r1 Table of contents |
| 69 | - @ref run-checkpatch.sh |
| 70 | - @ref make_checkpatch_summary.sh |
| 71 | - @ref run-cppcheck.sh |
| 72 | - @ref make_cppcheck_summary.sh |
| 73 | - @ref util_cmake.sh |
| 74 | */ |