Lines Matching refs:build
5 …e build reproducibility, maintainability, and quality. The build standards team has analyzed a var…
9 **P01 Automate the entire build process.**
11 …tions are error-prone and time-consuming. Automate all the build operations to make the build proc…
13 **P02 Make build projects and build environments code-based.**
15 … a high-level build framework such as CMake, Maven, and Gradle to describe build projects, and use…
17 This principle helps hide the complexity of the build system from developers.
19 **P03 Make the build process reproducible and traceable.**
21 …build dependencies and always explicitly specify fixed dependency versions to ensure version consi…
23 **P04 Ensure that the build scripts are simple, clear, and easy to maintain.**
27 **P05 Standardize the build process.**
29 The build directory structure, dependencies, initialization, entry, and naming must be standardized…
37 ##### G.COM.01 Use build scripts to implement one-click, automated build by delivery unit.
39 …ed build means that no manual interventions are allowed throughout the entire build process (until…
47 [Description] One-click build improves operation efficiency while greatly reducing the possibility …
49 [Negative Example] The one-click build of a component can be triggered only by the CI system but ca…
51 …et the memory mapping address on the Xplorer IDE UI for a component, and then perform manual build.
69 …### G.COM.02 DO NOT delete or modify source code files and their directory structures during build.
75 - If the source code directory structure is deleted or modified during the build, the build process…
77 - During the build, the build output (including the target files, temporary files, and build logs) …
79 …build, do not modify source files, including but not limited to copying, moving, and running **dos…
81 …build. If tools are used to automatically generate source code during the build, the source code g…
83 [Exception] Some source code may be added or adjusted during patch build.
85 ##### G.COM.12 Provide appropriate permissions for files and directories created during the build.
89 …build must comply with the design of least privilege. For example, do not create directories or fi…
97 …build logs in the build project of the current level will be cleared, and the **clean** commands o…
98 …y the corresponding target files, temporary files, and build logs generated in the specified build…
102 …build from being affected by historical build files and build logs, ensuring build reproducibility…
108 |---build.suffix
111 |---build.suffix
114 |---build.suffix
118 base_dir/build.suffix clean
122 base_dir/build.suffix clean component_depository_1
126 component_depository_1/build.suffix clean makebin hert umpt
130 ##### G.COM.04 Clear legacy build files in the build environment before the build of a component.
134 …build environment has been initialized, the build environment does not have legacy build files. In…
138 …sion release build, recompile all the archived deliverables (including all dependent platforms and…
140 A version release build refers to the build of a formally released product version (including all d…
144 …build after file modification may cause failures in updating some binary files and integrating new…
149 …build configuration data from the build script to prevent the build project architecture from deca…
151 …an Excel file) as a build configuration file. Use a file format recognized by different platforms,…
157 - The file calls Microsoft Office APIs during the build. Each time the Excel file is accessed, the …
163 ##### G.COM.07 Generate simple and clear build logs, and use the format "timestamp + [module name](…
178 ##### G.COM.08 Stop the build if error is displayed in the log.
182 …build error that requires manual intervention, for example, an incorrect environment variable, too…
184 [Negative Example] A component is successfully built, but the build log contains a large amount of …
186 ##### G.COM.09 Retain only the logs of the current build in the build log file.
190 …build logs in the build log file may cause confusing. For example, when a new build fails, users m…
202 ##### G.COM.11 DO NOT use the super administrator **root** or system user for build. Instead, use a…
206 …ser have high system permissions. Using such an account for the build may cause the build environm…
212 ##### G.COM.12 Follow the industry conventions for build output file name extensions.
218 …t files, such as .lib and .obj files, must comply with the default naming rules of the build tools.
241 ##### G.C&C++.01 Standardize the build directory structure.
245 - Source Tree is the directory for storing source code and build scripts.
246 - Build Tree is the directory for storing build middleware. Generally, the directory name is **buil…
247 - Install Tree is the directory for storing build deliverables. The directory name is fixed at **ou…
249 …irectory is used as both Source Tree to store source code and Build Tree to store build middleware.
254 …build.*suffix*** script file, which is the one-click build entry. You only need to invoke this scr…
255 - **config.*suffix*** configuration file, which is used to store build options and is the unique en…
257 - Component code directory, which is used to store source code and build scripts of each component.
259 Among the preceding files and directories, only the **CMakeLists.txt**, **build.*suffix***, and **c…
263 …build** directory, which is used to store the build middleware. This directory may be created duri…
267 …h is used to store deliverables. This directory may be created during the build process and may no…
278 |---build.suffix |
285 |---build ------> Build Tree
294 |---build.suffix |
301 |---build ------> Build Tree
305 ##### G.C&C++.02 DO NOT modify Source Tree in any form during the build process.
309 [Description] If Source Tree is modified during the build, the build process will be non-reproducib…
323 (1) Copy code to Build Tree, install a patch, and build the code.
325 …build process untrustworthy, do not use the dotting tool during the build. Instead, upload the dot…
327 …hase. Source Tree in the versions before and after tailoring must not be modified during the build.
331 … and then restoring source code is prohibited because the source code has changed during the build.
335 …and formats of files in the code repository are correct to prevent modifying them during the build.
337 …es, run the **git status** command in the source code directory after the build. Source Tree shoul…
345 …optional)* and /usr1/*deliveryUnitName + versionNumber (optional)* as the build root directory in …
349 …build root directory in the format of *deliveryUnitName + versionNumber*, where *versionNumber* is…
351 A clear build directory structure helps test personnel set build parameters, execute one-click buil…
359 ##### G.C&C++.04 Store all middleware generated during the build in Build Tree.
363 …build includes the makefile automatically generated by the build tool CMake, the source code autom…
364 Create the **logs** subdirectory under Build Tree and name build log files in .log format.
370 …build process is irrelevant to the directory. The directory where the build is executed is Build T…
378 …Description] In the local build scenario, deliverables are directly installed on the host computer…
382 Do not place any file other than deliverables (such as build middleware) in Install Tree.
388 …y other than Source Tree and Build Tree as Install Tree. In this way, the build process is irrelev…
390 [Positive Example] The CMake build project supports the function of specifying the Install Tree dir…
394 …e a unique build entry for each delivery unit. Name all the build entry scripts in the **build.*su…
398 …ue build entry allows for a more efficient and automated build process. Each delivery unit has a u…
400 [Negative Example] The following build has multiple entry points. If no description document is pro…
402 build.bat
408 [Positive Example] A typical one-click build script **build.sh** is as follows:
413 if [ -d "build" ]; then
414 rm -fr build/*
416 mkdir build
425 cd build
434 ##### G.C&C++.09 You can specify the build target.
438 … you can specify the target to build modified code. A project can be built by specifying the targe…
443 base_dir # cd build
444 base_dir/build # cmake ..
446 base_dir/build # make
448 base_dir/build # make target_name
451 ##### G.C&C++.10 Reproducible build is supported.
455 … and deliverables, or modify the build environment after the last successful build, you can perfor…
457 ##### G.C&C++.11 Incremental build is supported.
461 …pment scenarios, incremental build can improve development efficiency. Therefore, it is advised to…
463 ##### G.C&C++.12 Parallel build is supported.
467 [Description] You can run the **make -jN** command for quicker parallel build. This guideline appli…
540 …### G.C&C++.13 Define a build dependency file **dependence.xml** to describe all components on whi…
544 …t you do not need to define dependency components in the build scripts. This improves the build pr…
548 ##### G.C&C++.14 Use the configuration file **config.*suffix*** in the build root directory as the uni…
552 …*config.*suffix*** file. Configure only the information about the build environment and build tool in…
554 [Exception] If there are a small number of build options and key-value pairs are used, the configur…
560 ##### Rule 1.1 DO NOT use GN to invoke external build tools to build software modules.
564 …build mode to avoid unnecessary dependencies on the environment during the build and obtain common…
566 [Negative Example] In GN, use **action** to invoke **automake** and **Make** to build third-party c…
568 …build framework builds user-mode programs. The kernel can be independently built outside the build…
570 ##### Rule 1.2 DO NOT add compiler security options that have been added to the build system to the…
583 ##### Rule 1.3 DO NOT add build options that are opposite to the default build options to GN.
587 …ion] The default build options represent the default capabilities of the build system. If your mod…
589 [Negative Example] Add **-wno-unused** to a module to clear build alarms.
591 [Exception] When porting or using a third-party component, you can overwrite the default build opti…
607 …t are not limited to installing patches for, copying files to, performing build tasks in, and gene…
609 ##### Rule 2.4 Set the encoding format of the build script to UTF-8 and the newline character to UN…