{
  "part": {
    "arg_name": "--part",
    "argDefault": "",
    "arg_help": "Default:''. Help:specify component name, run 'hb build {part_name} or hb build --part {part_name}'",
    "arg_phase": ["hpmDownload", "indepCompilation"],
    "arg_type": "str",
    "arg_attribute": {},
    "resolve_function": "resolve_part",
    "testFunction": ""
  },
  "target_cpu": {
    "arg_name": "--target-cpu",
    "argDefault": "arm",
    "arg_help": "Default:''. Help:Specifies the desired cpu architecture for the build, each may support different cpu architectures, run 'hb build --target-cpu {cpu_architectures}' to set os type cpu architectures",
    "arg_phase": "hpmDownload",
    "arg_type": "str",
    "arg_attribute": {
      "optional": [
        "arm",
        "arm64",
        "x86_64",
        "x64",
        "mipsel",
        "riscv64",
        "loongarch64"
      ]
    },
    "resolve_function": "resolve_target_cpu",
    "testFunction": ""
  },
  "target_os": {
    "arg_name": "--target-os",
    "argDefault": "ohos",
    "arg_help": "Default:''. Help:Specifies the desired os type for the build, each may support different os type, run 'hb build --target-os {os_type}' to set os type",
    "arg_phase": "hpmDownload",
    "arg_type": "str",
    "arg_attribute": {
      "optional": [
        "android",
        "ohos",
        "mac",
        "linux",
        "windows"
      ]
    },
    "resolve_function": "resolve_target_os",
    "testFunction": ""
  },
  "variant": {
    "arg_name": "--variant",
    "argDefault": "standard",
    "arg_help": "Default:''. Help:install product variant, run 'hb build --variant {variant_name}'",
    "arg_phase": ["hpmDownload", "indepCompilation"],
    "arg_type": "str",
    "arg_attribute": {
      "abbreviation": "-v"
    },
    "resolve_function": "resolve_variant",
    "testFunction": ""
  },
  "branch": {
    "arg_name": "--branch",
    "argDefault": "master",
    "arg_help": "Default:''. Help:code branch name, run 'hb build --branch {branch_name}'",
    "arg_phase": "hpmDownload",
    "arg_type": "str",
    "arg_attribute": {
      "abbreviation": "-b"
    },
    "resolve_function": "resolve_branch",
    "testFunction": ""
  },
  "build_type": {
    "arg_name": "--build-type",
    "argDefault": "",
    "arg_help": "Default:''. Help:set independent build type, do not use this option, use -i or -t instead",
    "arg_phase": ["hpmDownload", "indepCompilation"],
    "arg_type": "str",
    "arg_attribute": {},
    "resolve_function": "resolve_build_type",
    "testFunction": ""
  },
  "keep_ninja_going": {
    "arg_name": "--keep-ninja-going",
    "argDefault": false,
    "arg_help": "Default:''. Help: Continue compiling the remaining parts when error occurred",
    "arg_phase": ["indepCompilation"],
    "arg_type": "bool",
    "arg_attribute": {
    },
    "resolve_function": "resolve_keep_ninja_going",
    "testFunction": ""
  },
  "gn_args": {
    "arg_name": "--gn-args",
    "argDefault": [],
    "arg_help": "Default:[]. Help:Add custom gn args",
    "arg_phase": "indepCompilation",
    "arg_type": "list",
    "arg_attribute": {},
    "resolve_function": "resolve_gn_args",
    "testFunction": ""
  },
  "gn_flags": {
    "arg_name": "--gn-flags",
    "argDefault": [],
    "arg_help": "Default:[]. Help:Specify gn build arguments, you could use this option like this 'hb build --gn-flags \"--export-compile-commands\"",
    "arg_phase": "indepCompilation",
    "arg_type": "list",
    "arg_attribute": {},
    "resolve_function": "resolve_gn_flags",
    "testFunction": ""
  },
  "ninja_args": {
    "arg_name": "--ninja-args",
    "argDefault": [],
    "arg_help": "Default:[]. Help:Add custom ninja args",
    "arg_phase": "indepCompilation",
    "arg_type": "list",
    "arg_attribute": {},
    "resolve_function": "resolve_ninja_args",
    "testFunction": ""
  },
  "skip_download": {
    "arg_name": "--skip-download",
    "argDefault": false,
    "arg_help": "Default:false. Help:You can use this option to skip hpm download",
    "arg_phase": ["hpmDownload","indepCompilation"],
    "arg_type": "bool",
    "arg_attribute": {},
    "resolve_function": "resolve_skip_download",
    "testFunction": ""
  },
  "skip_prebuilts": {
    "arg_name": "--skip-prebuilts",
    "argDefault": false,
    "arg_help": "Default:false. Help:You can use this option to skip prebuilts download step",
    "arg_phase": "prebuild",
    "arg_type": "bool",
    "arg_attribute": {},
    "resolve_function": "resolve_prebuilts_download",
    "testFunction": ""
  },
  "build_target": {
    "arg_name": "--build-target",
    "argDefault": [],
    "arg_help": "Default:false. Help:Specify a single compilation target",
    "arg_phase": "indepCompilation",
    "arg_type": "list",
    "arg_attribute": {},
    "resolve_function": "resolve_build_target",
    "testFunction": ""
  },
  "fast_rebuild": {
    "arg_name": "--fast-rebuild",
    "argDefault": false,
    "arg_help": "Default:false. Help:Skip hpm download and gn phase, run ninja directly",
    "arg_phase": ["hpmDownload","indepCompilation"],
    "arg_type": "bool",
    "arg_attribute": {},
    "resolve_function": "resolve_fast_rebuild",
    "testFunction": ""
  },
  "ccache": {
    "arg_name": "--ccache",
    "argDefault": true,
    "arg_help": "Default:true. Help:Set whether use build cache or not",
    "arg_phase": "indepCompilation",
    "arg_type": "bool",
    "arg_attribute": {},
    "resolve_function": "resolve_ccache",
    "testFunction": ""
  },
  "local_binarys": {
    "arg_name": "--local-binarys",
    "argDefault": "",
    "arg_help": "Default:''. Help:Set local binarys path, so that you can use local packages instead of downloading from remote",
    "arg_phase": ["hpmDownload","indepCompilation"],
    "arg_type": "str",
    "arg_attribute": {},
    "resolve_function": "resolve_local_binarys",
    "testFunction": ""
  }
}