15f9996aaSopenharmony_ci{
25f9996aaSopenharmony_ci  "target_cpu": {
35f9996aaSopenharmony_ci    "arg_name": "--target-cpu",
45f9996aaSopenharmony_ci    "argDefault": "arm",
55f9996aaSopenharmony_ci    "arg_help": "Default:''. Help:Specifies the desired cpu architecture for the build, each may support different cpu architectures, run 'hb set --all' to list product all supported cpu architectures",
65f9996aaSopenharmony_ci    "arg_phase": "prebuild",
75f9996aaSopenharmony_ci    "arg_type": "str",
85f9996aaSopenharmony_ci    "arg_attribute": {
95f9996aaSopenharmony_ci      "optional": [
105f9996aaSopenharmony_ci        "arm",
115f9996aaSopenharmony_ci        "arm64",
125f9996aaSopenharmony_ci        "x86_64",
135f9996aaSopenharmony_ci        "x64",
145f9996aaSopenharmony_ci        "mipsel",
155f9996aaSopenharmony_ci        "riscv64",
165f9996aaSopenharmony_ci        "loongarch64"
175f9996aaSopenharmony_ci      ]
185f9996aaSopenharmony_ci    },
195f9996aaSopenharmony_ci    "resolve_function": "resolve_target_cpu",
205f9996aaSopenharmony_ci    "testFunction": "testBuildTargetCpu"
215f9996aaSopenharmony_ci  },
225f9996aaSopenharmony_ci  "target_os": {
235f9996aaSopenharmony_ci    "arg_name": "--target-os",
245f9996aaSopenharmony_ci    "argDefault": "ohos",
255f9996aaSopenharmony_ci    "arg_help": "Default:''. Help:Specifies the desired os type for the build, each may support different os type, run 'hb set --all' to list product all supported os type",
265f9996aaSopenharmony_ci    "arg_phase": "prebuild",
275f9996aaSopenharmony_ci    "arg_type": "str",
285f9996aaSopenharmony_ci    "arg_attribute": {
295f9996aaSopenharmony_ci      "optional": [
305f9996aaSopenharmony_ci        "android",
315f9996aaSopenharmony_ci        "ios"
325f9996aaSopenharmony_ci      ]
335f9996aaSopenharmony_ci    },
345f9996aaSopenharmony_ci    "resolve_function": "resolve_target_os",
355f9996aaSopenharmony_ci    "testFunction": "testBuildTargetOs"
365f9996aaSopenharmony_ci  },
375f9996aaSopenharmony_ci  "product_name": {
385f9996aaSopenharmony_ci    "arg_name": "--product-name",
395f9996aaSopenharmony_ci    "argDefault": "",
405f9996aaSopenharmony_ci    "arg_help": "Default:''. Help:Build a specified product. You could use this option like this: 1.'hb build --product-name rk3568@hihope' 2.'hb build --product-name rk3568'",
415f9996aaSopenharmony_ci    "arg_phase": "prebuild",
425f9996aaSopenharmony_ci    "arg_type": "str",
435f9996aaSopenharmony_ci    "arg_attribute": {
445f9996aaSopenharmony_ci      "abbreviation": "-p"
455f9996aaSopenharmony_ci    },
465f9996aaSopenharmony_ci    "resolve_function": "resolve_product",
475f9996aaSopenharmony_ci    "testFunction": "testProduct"
485f9996aaSopenharmony_ci  },
495f9996aaSopenharmony_ci  "rename_last_log": {
505f9996aaSopenharmony_ci    "arg_name": "--rename-last-log",
515f9996aaSopenharmony_ci    "argDefault": true,
525f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:You can use it to decide whether to keep the last build log",
535f9996aaSopenharmony_ci    "arg_phase": "prebuild",
545f9996aaSopenharmony_ci    "arg_type": "bool",
555f9996aaSopenharmony_ci    "arg_attribute": {},
565f9996aaSopenharmony_ci    "resolve_function": "resolve_rename_last_log",
575f9996aaSopenharmony_ci    "testFunction": "testRenameLastLog"
585f9996aaSopenharmony_ci  },
595f9996aaSopenharmony_ci  "log_mode": {
605f9996aaSopenharmony_ci    "arg_name": "--log-mode",
615f9996aaSopenharmony_ci    "argDefault": "normal",
625f9996aaSopenharmony_ci    "arg_help": "Default:'normal'. Help:You can use this option to determine whether to use single-line refresh log mode",
635f9996aaSopenharmony_ci    "arg_phase": "prebuild",
645f9996aaSopenharmony_ci    "arg_type": "str",
655f9996aaSopenharmony_ci    "arg_attribute": {
665f9996aaSopenharmony_ci      "optional": [
675f9996aaSopenharmony_ci        "normal",
685f9996aaSopenharmony_ci        "silent"
695f9996aaSopenharmony_ci      ]
705f9996aaSopenharmony_ci    },
715f9996aaSopenharmony_ci    "resolve_function": "resolve_log_mode",
725f9996aaSopenharmony_ci    "testFunction": "testLogMode"
735f9996aaSopenharmony_ci  },
745f9996aaSopenharmony_ci  "precise_branch": {
755f9996aaSopenharmony_ci    "arg_name": "--precise-branch",
765f9996aaSopenharmony_ci    "argDefault": "dayu200_tdd",
775f9996aaSopenharmony_ci    "arg_help": "Default:'dayu200_tdd'. Help:You can use this option to select the dayu200_tdd branch",
785f9996aaSopenharmony_ci    "arg_phase": "prebuild",
795f9996aaSopenharmony_ci    "arg_type": "str",
805f9996aaSopenharmony_ci    "arg_attribute": {},
815f9996aaSopenharmony_ci    "resolve_function": "resolve_precise_branch",
825f9996aaSopenharmony_ci    "testFunction": "testPreciseBranch"
835f9996aaSopenharmony_ci  },
845f9996aaSopenharmony_ci  "ccache": {
855f9996aaSopenharmony_ci    "arg_name": "--ccache",
865f9996aaSopenharmony_ci    "argDefault": true,
875f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:Enable ccache, this option could improve compilation speed. --stat-ccache can summary the cache data",
885f9996aaSopenharmony_ci    "arg_phase": "prebuild",
895f9996aaSopenharmony_ci    "arg_type": "bool",
905f9996aaSopenharmony_ci    "arg_attribute": {},
915f9996aaSopenharmony_ci    "resolve_function": "resolve_ccache",
925f9996aaSopenharmony_ci    "testFunction": "testCCache"
935f9996aaSopenharmony_ci  },
945f9996aaSopenharmony_ci  "xcache": {
955f9996aaSopenharmony_ci    "arg_name": "--xcache",
965f9996aaSopenharmony_ci    "argDefault": false,
975f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Enable xcache, this option could improve compilation speed. --stat-ccache can summary the cache data",
985f9996aaSopenharmony_ci    "arg_phase": "prebuild",
995f9996aaSopenharmony_ci    "arg_type": "bool",
1005f9996aaSopenharmony_ci    "arg_attribute": {},
1015f9996aaSopenharmony_ci    "resolve_function": "resolve_xcache",
1025f9996aaSopenharmony_ci    "testFunction": "testXcache"
1035f9996aaSopenharmony_ci  },
1045f9996aaSopenharmony_ci  "enable_pycache": {
1055f9996aaSopenharmony_ci    "arg_name": "--enable-pycache",
1065f9996aaSopenharmony_ci    "argDefault": false,
1075f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Enable pycache, This option can improve the execution speed of python files",
1085f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1095f9996aaSopenharmony_ci    "arg_type": "bool",
1105f9996aaSopenharmony_ci    "arg_attribute": {},
1115f9996aaSopenharmony_ci    "resolve_function": "resolve_pycache",
1125f9996aaSopenharmony_ci    "testFunction": "testPycache"
1135f9996aaSopenharmony_ci  },
1145f9996aaSopenharmony_ci  "jobs": {
1155f9996aaSopenharmony_ci    "arg_name": "--jobs",
1165f9996aaSopenharmony_ci    "argDefault": "",
1175f9996aaSopenharmony_ci    "arg_help": "Deprecated, please do not use this option",
1185f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1195f9996aaSopenharmony_ci    "arg_type": "str",
1205f9996aaSopenharmony_ci    "arg_attribute": {
1215f9996aaSopenharmony_ci      "deprecated": "true"
1225f9996aaSopenharmony_ci    },
1235f9996aaSopenharmony_ci    "resolve_function": "resolve_jobs",
1245f9996aaSopenharmony_ci    "testFunction": "testJobs"
1255f9996aaSopenharmony_ci  },
1265f9996aaSopenharmony_ci  "disable_part_of_post_build": {
1275f9996aaSopenharmony_ci    "arg_name": "--disable-part-of-post-build",
1285f9996aaSopenharmony_ci    "argDefault": [],
1295f9996aaSopenharmony_ci    "arg_help": "Deprecated, please do not use this option",
1305f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1315f9996aaSopenharmony_ci    "arg_type": "list",
1325f9996aaSopenharmony_ci    "arg_attribute": {
1335f9996aaSopenharmony_ci      "deprecated": "true"
1345f9996aaSopenharmony_ci    },
1355f9996aaSopenharmony_ci    "resolve_function": "resolve_disable_part_of_post_build",
1365f9996aaSopenharmony_ci    "testFunction": "testDisablePartOfPostBuild"
1375f9996aaSopenharmony_ci  },
1385f9996aaSopenharmony_ci  "build_target": {
1395f9996aaSopenharmony_ci    "arg_name": "--build-target",
1405f9996aaSopenharmony_ci    "argDefault": [],
1415f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:You use this option to specify a single compilation target, and use 'hb tool --ls' to list all build target",
1425f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1435f9996aaSopenharmony_ci    "arg_type": "list",
1445f9996aaSopenharmony_ci    "arg_attribute": {
1455f9996aaSopenharmony_ci      "abbreviation": "-T"
1465f9996aaSopenharmony_ci    },
1475f9996aaSopenharmony_ci    "resolve_function": "resolve_build_target",
1485f9996aaSopenharmony_ci    "testFunction": "testBuildTarget"
1495f9996aaSopenharmony_ci  },
1505f9996aaSopenharmony_ci  "ninja_args": {
1515f9996aaSopenharmony_ci    "arg_name": "--ninja-args",
1525f9996aaSopenharmony_ci    "argDefault": [],
1535f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:You can use it to pass parameters for the ninja phase, but you need to follow the specified command format. eg. --ninja-args=-dkeeprsp ",
1545f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1555f9996aaSopenharmony_ci    "arg_type": "list",
1565f9996aaSopenharmony_ci    "arg_attribute": {},
1575f9996aaSopenharmony_ci    "resolve_function": "resolve_ninja_args",
1585f9996aaSopenharmony_ci    "testFunction": "testNinjaArgs"
1595f9996aaSopenharmony_ci  },
1605f9996aaSopenharmony_ci  "full_compilation": {
1615f9996aaSopenharmony_ci    "arg_name": "--full-compilation",
1625f9996aaSopenharmony_ci    "argDefault": false,
1635f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:You can use it to start full code compilation. The default compilation target is images. Use this option to add 'make_all' and 'make_test' to the build process.",
1645f9996aaSopenharmony_ci    "arg_phase": "prebuild",
1655f9996aaSopenharmony_ci    "arg_type": "bool",
1665f9996aaSopenharmony_ci    "arg_attribute": {
1675f9996aaSopenharmony_ci      "abbreviation": "-f"
1685f9996aaSopenharmony_ci    },
1695f9996aaSopenharmony_ci    "resolve_function": "resolve_full_compilation",
1705f9996aaSopenharmony_ci    "testFunction": "testFullCompilation"
1715f9996aaSopenharmony_ci  },
1725f9996aaSopenharmony_ci  "strict_mode": {
1735f9996aaSopenharmony_ci    "arg_name": "--strict-mode",
1745f9996aaSopenharmony_ci    "argDefault": false,
1755f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Check all produce of each phase to early terminates a potentially problematic compilation.",
1765f9996aaSopenharmony_ci    "arg_phase": "load",
1775f9996aaSopenharmony_ci    "arg_type": "bool",
1785f9996aaSopenharmony_ci    "arg_attribute": {},
1795f9996aaSopenharmony_ci    "resolve_function": "resolve_strict_mode",
1805f9996aaSopenharmony_ci    "testFunction": "testStrictMode"
1815f9996aaSopenharmony_ci  },
1825f9996aaSopenharmony_ci  "scalable_build": {
1835f9996aaSopenharmony_ci    "arg_name": "--scalable-build",
1845f9996aaSopenharmony_ci    "argDefault": false,
1855f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Select whether to read information from parts.json generate by preload",
1865f9996aaSopenharmony_ci    "arg_phase": "load",
1875f9996aaSopenharmony_ci    "arg_type": "bool",
1885f9996aaSopenharmony_ci    "arg_attribute": {},
1895f9996aaSopenharmony_ci    "resolve_function": "resolve_scalable_build",
1905f9996aaSopenharmony_ci    "testFunction": "testScalableBuild"
1915f9996aaSopenharmony_ci  },
1925f9996aaSopenharmony_ci  "build_example": {
1935f9996aaSopenharmony_ci    "arg_name": "--build-example",
1945f9996aaSopenharmony_ci    "argDefault": false,
1955f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Select whether to read information from subsystem_config_example.json",
1965f9996aaSopenharmony_ci    "arg_phase": "load",
1975f9996aaSopenharmony_ci    "arg_type": "bool",
1985f9996aaSopenharmony_ci    "arg_attribute": {},
1995f9996aaSopenharmony_ci    "resolve_function": "resolve_build_example",
2005f9996aaSopenharmony_ci    "testFunction": "testBuildExample"
2015f9996aaSopenharmony_ci  },
2025f9996aaSopenharmony_ci  "build_platform_name": {
2035f9996aaSopenharmony_ci    "arg_name": "--build-platform-name",
2045f9996aaSopenharmony_ci    "argDefault": "phone",
2055f9996aaSopenharmony_ci    "arg_help": "Default:'phone'. Help:Name of the compilation platform. The current optional value is 'phone'",
2065f9996aaSopenharmony_ci    "arg_phase": "load",
2075f9996aaSopenharmony_ci    "arg_type": "str",
2085f9996aaSopenharmony_ci    "arg_attribute": {},
2095f9996aaSopenharmony_ci    "resolve_function": "resolve_build_platform_name",
2105f9996aaSopenharmony_ci    "testFunction": "testBuildPlatformName"
2115f9996aaSopenharmony_ci  },
2125f9996aaSopenharmony_ci  "build_xts": {
2135f9996aaSopenharmony_ci    "arg_name": "--build-xts",
2145f9996aaSopenharmony_ci    "argDefault": false,
2155f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Select whether to load the components included in the subsystem xts",
2165f9996aaSopenharmony_ci    "arg_phase": "load",
2175f9996aaSopenharmony_ci    "arg_type": "bool",
2185f9996aaSopenharmony_ci    "arg_attribute": {},
2195f9996aaSopenharmony_ci    "resolve_function": "resolve_build_xts",
2205f9996aaSopenharmony_ci    "testFunction": "testBuildXts"
2215f9996aaSopenharmony_ci  },
2225f9996aaSopenharmony_ci  "ignore_api_check": {
2235f9996aaSopenharmony_ci    "arg_name": "--ignore-api-check",
2245f9996aaSopenharmony_ci    "argDefault": [],
2255f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:Skip the check of some subsystems",
2265f9996aaSopenharmony_ci    "arg_phase": "load",
2275f9996aaSopenharmony_ci    "arg_type": "list",
2285f9996aaSopenharmony_ci    "arg_attribute": {},
2295f9996aaSopenharmony_ci    "resolve_function": "resolve_ignore_api_check",
2305f9996aaSopenharmony_ci    "testFunction": "testIgnoreApiCheck"
2315f9996aaSopenharmony_ci  },
2325f9996aaSopenharmony_ci  "load_test_config": {
2335f9996aaSopenharmony_ci    "arg_name": "--load-test-config",
2345f9996aaSopenharmony_ci    "argDefault": true,
2355f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:Select whether to load the test field in bundle.json, that is, whether to call the test case",
2365f9996aaSopenharmony_ci    "arg_phase": "load",
2375f9996aaSopenharmony_ci    "arg_type": "bool",
2385f9996aaSopenharmony_ci    "arg_attribute": {},
2395f9996aaSopenharmony_ci    "resolve_function": "resolve_load_test_config",
2405f9996aaSopenharmony_ci    "testFunction": "testLoadTestConfig"
2415f9996aaSopenharmony_ci  },
2425f9996aaSopenharmony_ci  "skip_partlist_check": {
2435f9996aaSopenharmony_ci    "arg_name": "--skip-partlist-check",
2445f9996aaSopenharmony_ci    "argDefault": false,
2455f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Skip the subsystem and component check in partlist file",
2465f9996aaSopenharmony_ci    "arg_phase": "load",
2475f9996aaSopenharmony_ci    "arg_type": "bool",
2485f9996aaSopenharmony_ci    "arg_attribute": {},
2495f9996aaSopenharmony_ci    "resolve_function": "resolve_skip_partlist_check",
2505f9996aaSopenharmony_ci    "testFunction": "testSkipPartlistCheck"
2515f9996aaSopenharmony_ci  },
2525f9996aaSopenharmony_ci  "build_type": {
2535f9996aaSopenharmony_ci    "arg_name": "--build-type",
2545f9996aaSopenharmony_ci    "argDefault": "release",
2555f9996aaSopenharmony_ci    "arg_help": "Default:'release'. Help:Specify compile release or debug version",
2565f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
2575f9996aaSopenharmony_ci    "arg_type": "str",
2585f9996aaSopenharmony_ci    "arg_attribute": {
2595f9996aaSopenharmony_ci      "optional": [
2605f9996aaSopenharmony_ci        "release",
2615f9996aaSopenharmony_ci        "profile",
2625f9996aaSopenharmony_ci        "debug"
2635f9996aaSopenharmony_ci      ]
2645f9996aaSopenharmony_ci    },
2655f9996aaSopenharmony_ci    "resolve_function": "resolve_build_type",
2665f9996aaSopenharmony_ci    "testFunction": "testBuildType"
2675f9996aaSopenharmony_ci  },
2685f9996aaSopenharmony_ci  "log_level": {
2695f9996aaSopenharmony_ci    "arg_name": "--log-level",
2705f9996aaSopenharmony_ci    "argDefault": "info",
2715f9996aaSopenharmony_ci    "arg_help": "Default:'INFO'. Help:Specify the log level during compilation. you can select two levels: debug, info. In debug mode, it show all command lines while building, including cxx, link, solink, etc.",
2725f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
2735f9996aaSopenharmony_ci    "arg_type": "str",
2745f9996aaSopenharmony_ci    "arg_attribute": {
2755f9996aaSopenharmony_ci      "optional": [
2765f9996aaSopenharmony_ci        "info",
2775f9996aaSopenharmony_ci        "debug"
2785f9996aaSopenharmony_ci      ]
2795f9996aaSopenharmony_ci    },
2805f9996aaSopenharmony_ci    "resolve_function": "resolve_log_level",
2815f9996aaSopenharmony_ci    "testFunction": "testLogLevel"
2825f9996aaSopenharmony_ci  },
2835f9996aaSopenharmony_ci  "export_para": {
2845f9996aaSopenharmony_ci    "arg_name": "--export-para",
2855f9996aaSopenharmony_ci    "argDefault": [],
2865f9996aaSopenharmony_ci    "arg_help": "Deprecated, please do not use this option",
2875f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
2885f9996aaSopenharmony_ci    "arg_type": "list",
2895f9996aaSopenharmony_ci    "arg_attribute": {
2905f9996aaSopenharmony_ci      "deprecated": "true"
2915f9996aaSopenharmony_ci    },
2925f9996aaSopenharmony_ci    "resolve_function": "resolve_export_para",
2935f9996aaSopenharmony_ci    "testFunction": "testExportPara"
2945f9996aaSopenharmony_ci  },
2955f9996aaSopenharmony_ci  "test": {
2965f9996aaSopenharmony_ci    "arg_name": "--test",
2975f9996aaSopenharmony_ci    "argDefault": [],
2985f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:You can use it to choose test type. eg. --test xts",
2995f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3005f9996aaSopenharmony_ci    "arg_type": "list",
3015f9996aaSopenharmony_ci    "arg_attribute": {},
3025f9996aaSopenharmony_ci    "resolve_function": "resolve_test",
3035f9996aaSopenharmony_ci    "testFunction": "testTest"
3045f9996aaSopenharmony_ci  },
3055f9996aaSopenharmony_ci  "gn_args": {
3065f9996aaSopenharmony_ci    "arg_name": "--gn-args",
3075f9996aaSopenharmony_ci    "argDefault": [],
3085f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:Specify gn build arguments, you could use this option like this 'hb build --gn-args is_debug=true'",
3095f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3105f9996aaSopenharmony_ci    "arg_type": "list",
3115f9996aaSopenharmony_ci    "arg_attribute": {},
3125f9996aaSopenharmony_ci    "resolve_function": "resolve_gn_args",
3135f9996aaSopenharmony_ci    "testFunction": "testGnArgs"
3145f9996aaSopenharmony_ci  },
3155f9996aaSopenharmony_ci  "gn_flags": {
3165f9996aaSopenharmony_ci    "arg_name": "--gn-flags",
3175f9996aaSopenharmony_ci    "argDefault": [],
3185f9996aaSopenharmony_ci    "arg_help": "Default:[]. Help:Specify gn build arguments, you could use this option like this 'hb build --gn-flags \"--export-compile-commands\"",
3195f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3205f9996aaSopenharmony_ci    "arg_type": "list",
3215f9996aaSopenharmony_ci    "arg_attribute": {},
3225f9996aaSopenharmony_ci    "resolve_function": "resolve_gn_flags",
3235f9996aaSopenharmony_ci    "testFunction": "testGnFlags"
3245f9996aaSopenharmony_ci  },
3255f9996aaSopenharmony_ci  "compiler": {
3265f9996aaSopenharmony_ci    "arg_name": "--compiler",
3275f9996aaSopenharmony_ci    "argDefault": "clang",
3285f9996aaSopenharmony_ci    "arg_help": "Deprecated, please do not use this option",
3295f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3305f9996aaSopenharmony_ci    "arg_type": "str",
3315f9996aaSopenharmony_ci    "arg_attribute": {
3325f9996aaSopenharmony_ci      "abbreviation": "-c"
3335f9996aaSopenharmony_ci    },
3345f9996aaSopenharmony_ci    "resolve_function": "resolve_compiler",
3355f9996aaSopenharmony_ci    "testFunction": "testCompiler"
3365f9996aaSopenharmony_ci  },
3375f9996aaSopenharmony_ci  "fast_rebuild": {
3385f9996aaSopenharmony_ci    "arg_name": "--fast-rebuild",
3395f9996aaSopenharmony_ci    "argDefault": false,
3405f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:You can use it to skip prepare, preloader, gn_gen steps so we can enable it only when there is no change for gn related script",
3415f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3425f9996aaSopenharmony_ci    "arg_type": "bool",
3435f9996aaSopenharmony_ci    "arg_attribute": {},
3445f9996aaSopenharmony_ci    "resolve_function": "resolve_fast_rebuild",
3455f9996aaSopenharmony_ci    "testFunction": "testFastRebuild"
3465f9996aaSopenharmony_ci  },
3475f9996aaSopenharmony_ci  "root_perf_main": {
3485f9996aaSopenharmony_ci    "arg_name": "--root-perf-main",
3495f9996aaSopenharmony_ci    "argDefault": "main",
3505f9996aaSopenharmony_ci    "arg_help": "Default:root. Help:different kinds of root packages",
3515f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3525f9996aaSopenharmony_ci    "arg_type": "str",
3535f9996aaSopenharmony_ci    "arg_attribute": {
3545f9996aaSopenharmony_ci        "optional": [
3555f9996aaSopenharmony_ci          "root",
3565f9996aaSopenharmony_ci          "main",
3575f9996aaSopenharmony_ci          "root_main"
3585f9996aaSopenharmony_ci        ]
3595f9996aaSopenharmony_ci      },
3605f9996aaSopenharmony_ci    "resolve_function": "resolve_root_perf_main",
3615f9996aaSopenharmony_ci    "testFunction": "testResolveRootPerfMain"
3625f9996aaSopenharmony_ci  },
3635f9996aaSopenharmony_ci  "runtime_mode": {
3645f9996aaSopenharmony_ci    "arg_name": "--runtime-mode",
3655f9996aaSopenharmony_ci    "argDefault": "release",
3665f9996aaSopenharmony_ci    "arg_help": "Default:release. Help:runtime mode",
3675f9996aaSopenharmony_ci    "arg_phase": "targetGenerate",
3685f9996aaSopenharmony_ci    "arg_type": "str",
3695f9996aaSopenharmony_ci    "arg_attribute": {
3705f9996aaSopenharmony_ci        "optional": [
3715f9996aaSopenharmony_ci          "release",
3725f9996aaSopenharmony_ci          "debug",
3735f9996aaSopenharmony_ci          "profile"
3745f9996aaSopenharmony_ci        ]
3755f9996aaSopenharmony_ci      },
3765f9996aaSopenharmony_ci    "resolve_function": "resolve_runtime_mode",
3775f9996aaSopenharmony_ci    "testFunction": "testResolveRuntimeMode"
3785f9996aaSopenharmony_ci  },
3795f9996aaSopenharmony_ci  "check_compilation_parameters": {
3805f9996aaSopenharmony_ci    "arg_name": "--check-compilation-parameters",
3815f9996aaSopenharmony_ci    "argDefault": false,
3825f9996aaSopenharmony_ci    "arg_help": "Default:false. Help:check compilation parameters",
3835f9996aaSopenharmony_ci    "arg_phase": "postTargetGenerate",
3845f9996aaSopenharmony_ci    "arg_type": "bool",
3855f9996aaSopenharmony_ci    "arg_attribute": {},
3865f9996aaSopenharmony_ci    "resolve_function": "resolve_check_compilation_parameters",
3875f9996aaSopenharmony_ci    "testFunction": "testCheckCompilationParameters"
3885f9996aaSopenharmony_ci  },
3895f9996aaSopenharmony_ci  "keep_ninja_going": {
3905f9996aaSopenharmony_ci    "arg_name": "--keep-ninja-going",
3915f9996aaSopenharmony_ci    "argDefault": false,
3925f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:When you need to debug one specific target, you can use this option to keep ninja going to skip some possible error until 1000000 jobs fail",
3935f9996aaSopenharmony_ci    "arg_phase": "targetCompilation",
3945f9996aaSopenharmony_ci    "arg_type": "bool",
3955f9996aaSopenharmony_ci    "arg_attribute": {},
3965f9996aaSopenharmony_ci    "resolve_function": "resolve_keep_ninja_going",
3975f9996aaSopenharmony_ci    "testFunction": "testKeepNinjaGoing"
3985f9996aaSopenharmony_ci  },
3995f9996aaSopenharmony_ci  "build_only_load": {
4005f9996aaSopenharmony_ci    "arg_name": "--build-only-load",
4015f9996aaSopenharmony_ci    "argDefault": false,
4025f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Stop build until load phase ends",
4035f9996aaSopenharmony_ci    "arg_phase": "targetCompilation",
4045f9996aaSopenharmony_ci    "arg_type": "bool",
4055f9996aaSopenharmony_ci    "arg_attribute": {},
4065f9996aaSopenharmony_ci    "resolve_function": "resolve_build_only_load",
4075f9996aaSopenharmony_ci    "testFunction": "testBuildOnlyLoad"
4085f9996aaSopenharmony_ci  },
4095f9996aaSopenharmony_ci  "build_only_gn": {
4105f9996aaSopenharmony_ci    "arg_name": "--build-only-gn",
4115f9996aaSopenharmony_ci    "argDefault": false,
4125f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:Stop build until gn phase ends",
4135f9996aaSopenharmony_ci    "arg_phase": "targetCompilation",
4145f9996aaSopenharmony_ci    "arg_type": "bool",
4155f9996aaSopenharmony_ci    "arg_attribute": {},
4165f9996aaSopenharmony_ci    "resolve_function": "resolve_build_only_gn",
4175f9996aaSopenharmony_ci    "testFunction": "testBuildOnlyGn"
4185f9996aaSopenharmony_ci  },
4195f9996aaSopenharmony_ci  "build_variant": {
4205f9996aaSopenharmony_ci    "arg_name": "--build-variant",
4215f9996aaSopenharmony_ci    "argDefault": "root",
4225f9996aaSopenharmony_ci    "arg_help": "Default:'root'. Help:specifies device operating mode",
4235f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4245f9996aaSopenharmony_ci    "arg_type": "str",
4255f9996aaSopenharmony_ci    "arg_attribute": {
4265f9996aaSopenharmony_ci      "optional": [
4275f9996aaSopenharmony_ci        "user",
4285f9996aaSopenharmony_ci        "root"
4295f9996aaSopenharmony_ci      ]
4305f9996aaSopenharmony_ci    },
4315f9996aaSopenharmony_ci    "resolve_function": "resolve_build_variant",
4325f9996aaSopenharmony_ci    "testFunction": "testBuildVariant"
4335f9996aaSopenharmony_ci  },
4345f9996aaSopenharmony_ci  "device_type": {
4355f9996aaSopenharmony_ci    "arg_name": "--device-type",
4365f9996aaSopenharmony_ci    "argDefault": "default",
4375f9996aaSopenharmony_ci    "arg_help": "Default:'default'. Help:specifies device type",
4385f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4395f9996aaSopenharmony_ci    "arg_type": "str",
4405f9996aaSopenharmony_ci    "arg_attribute": {},
4415f9996aaSopenharmony_ci    "resolve_function": "resolve_device_type",
4425f9996aaSopenharmony_ci    "testFunction": "testDeviceType"
4435f9996aaSopenharmony_ci  },
4445f9996aaSopenharmony_ci  "disable_package_image": {
4455f9996aaSopenharmony_ci    "arg_name": "--disable-package-image",
4465f9996aaSopenharmony_ci    "argDefault": false,
4475f9996aaSopenharmony_ci    "arg_help": "deprecated, please do not use this option",
4485f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4495f9996aaSopenharmony_ci    "arg_type": "bool",
4505f9996aaSopenharmony_ci    "arg_attribute": {
4515f9996aaSopenharmony_ci      "deprecated": "true"
4525f9996aaSopenharmony_ci    },
4535f9996aaSopenharmony_ci    "resolve_function": "resolve_disable_package_image",
4545f9996aaSopenharmony_ci    "testFunction": "testDisablePackageImage"
4555f9996aaSopenharmony_ci  },
4565f9996aaSopenharmony_ci  "archive_image": {
4575f9996aaSopenharmony_ci    "arg_name": "--archive-image",
4585f9996aaSopenharmony_ci    "argDefault": false,
4595f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:archive image when build product complete",
4605f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4615f9996aaSopenharmony_ci    "arg_type": "bool",
4625f9996aaSopenharmony_ci    "arg_attribute": {},
4635f9996aaSopenharmony_ci    "resolve_function": "resolve_archive_image",
4645f9996aaSopenharmony_ci    "testFunction": "testArchiveImage"
4655f9996aaSopenharmony_ci  },
4665f9996aaSopenharmony_ci  "patch": {
4675f9996aaSopenharmony_ci    "arg_name": "--patch",
4685f9996aaSopenharmony_ci    "argDefault": false,
4695f9996aaSopenharmony_ci    "arg_help": "Default:False. Help: Apply patches as per configuration in patch.yml, and handle rollback if needed.",
4705f9996aaSopenharmony_ci    "arg_phase": "prebuild",
4715f9996aaSopenharmony_ci    "arg_type": "bool",
4725f9996aaSopenharmony_ci    "arg_attribute": {},
4735f9996aaSopenharmony_ci    "resolve_function": "resolve_patch",
4745f9996aaSopenharmony_ci    "testFunction": "testPatch"
4755f9996aaSopenharmony_ci  },
4765f9996aaSopenharmony_ci  "rom_size_statistics": {
4775f9996aaSopenharmony_ci    "arg_name": "--rom-size-statistics",
4785f9996aaSopenharmony_ci    "argDefault": false,
4795f9996aaSopenharmony_ci    "arg_help": "Default:False. Help:statistics on the actual rom size for each compiled component",
4805f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4815f9996aaSopenharmony_ci    "arg_type": "bool",
4825f9996aaSopenharmony_ci    "arg_attribute": {},
4835f9996aaSopenharmony_ci    "resolve_function": "resolve_rom_size_statistics",
4845f9996aaSopenharmony_ci    "testFunction": "testRomSizeStatistics"
4855f9996aaSopenharmony_ci  },
4865f9996aaSopenharmony_ci  "stat_ccache": {
4875f9996aaSopenharmony_ci    "arg_name": "--stat-ccache",
4885f9996aaSopenharmony_ci    "argDefault": true,
4895f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:summary ccache hitrate, and generate ccache.log in ${HOME}/.ccache dir",
4905f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
4915f9996aaSopenharmony_ci    "arg_type": "bool",
4925f9996aaSopenharmony_ci    "arg_attribute": {},
4935f9996aaSopenharmony_ci    "resolve_function": "resolve_stat_ccache",
4945f9996aaSopenharmony_ci    "testFunction": "testStatCCache"
4955f9996aaSopenharmony_ci  },
4965f9996aaSopenharmony_ci  "get_warning_list": {
4975f9996aaSopenharmony_ci    "arg_name": "--get-warning-list",
4985f9996aaSopenharmony_ci    "argDefault": true,
4995f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:You can use it to collect the build warning and generate WarningList.txt in output dir",
5005f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
5015f9996aaSopenharmony_ci    "arg_type": "bool",
5025f9996aaSopenharmony_ci    "arg_attribute": {},
5035f9996aaSopenharmony_ci    "resolve_function": "resolve_get_warning_list",
5045f9996aaSopenharmony_ci    "testFunction": "testGetWarningList"
5055f9996aaSopenharmony_ci  },
5065f9996aaSopenharmony_ci  "generate_ninja_trace": {
5075f9996aaSopenharmony_ci    "arg_name": "--generate-ninja-trace",
5085f9996aaSopenharmony_ci    "argDefault": true,
5095f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:Count the duration of each ninja thread and generate the ninja trace file(build.trace.gz)",
5105f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
5115f9996aaSopenharmony_ci    "arg_type": "bool",
5125f9996aaSopenharmony_ci    "arg_attribute": {},
5135f9996aaSopenharmony_ci    "resolve_function": "resolve_generate_ninja_trace",
5145f9996aaSopenharmony_ci    "testFunction": "testResolveGenerateNinjaTrace"
5155f9996aaSopenharmony_ci  },
5165f9996aaSopenharmony_ci  "compute_overlap_rate": {
5175f9996aaSopenharmony_ci    "arg_name": "--compute-overlap-rate",
5185f9996aaSopenharmony_ci    "argDefault": true,
5195f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:Compute overlap rate during the post build",
5205f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
5215f9996aaSopenharmony_ci    "arg_type": "bool",
5225f9996aaSopenharmony_ci    "arg_attribute": {},
5235f9996aaSopenharmony_ci    "resolve_function": "resolve_compute_overlap_rate",
5245f9996aaSopenharmony_ci    "testFunction": "testComputeOverlapRate"
5255f9996aaSopenharmony_ci  },
5265f9996aaSopenharmony_ci  "clean_args": {
5275f9996aaSopenharmony_ci    "arg_name": "--clean-args",
5285f9996aaSopenharmony_ci    "argDefault": true,
5295f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:clean all args that generated by this compilation while compilation finished",
5305f9996aaSopenharmony_ci    "arg_phase": "postbuild",
5315f9996aaSopenharmony_ci    "arg_type": "bool",
5325f9996aaSopenharmony_ci    "arg_attribute": {},
5335f9996aaSopenharmony_ci    "resolve_function": "resolve_clean_args",
5345f9996aaSopenharmony_ci    "testFunction": "testCleanArgs"
5355f9996aaSopenharmony_ci  },
5365f9996aaSopenharmony_ci  "deps_guard": {
5375f9996aaSopenharmony_ci    "arg_name": "--deps-guard",
5385f9996aaSopenharmony_ci    "argDefault": true,
5395f9996aaSopenharmony_ci    "arg_help": "Default:True. Help:simplify code, remove concise dependency analysis, and speed up rule checking",
5405f9996aaSopenharmony_ci    "arg_phase": "postTargetCompilation",
5415f9996aaSopenharmony_ci    "arg_type": "bool",
5425f9996aaSopenharmony_ci    "arg_attribute": {},
5435f9996aaSopenharmony_ci    "resolve_function": "resolve_deps_guard",
5445f9996aaSopenharmony_ci    "testFunction": "testDepsGuard"
5455f9996aaSopenharmony_ci  }
5465f9996aaSopenharmony_ci}
547