From ea3f149ab05befd44e51ec8d6ddf1e8fcbcffece Mon Sep 17 00:00:00 2001 From: handyohos Date: Mon, 16 May 2022 21:37:11 +0800 Subject: [PATCH] feat: extra_paras for ohos_prebuilt_para supports list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1)ohos_prebuilt_para模版的extra_paras参数支持列表 Signed-off-by: handyohos Change-Id: I66108987a9a42e80d91f52282d5ca8bbb2227c43 --- services/etc/BUILD.gn | 6 +++--- services/etc/param/param_fixer.gni | 18 +++++++++++------- services/etc/param/param_fixer.py | 19 +++++++------------ 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/services/etc/BUILD.gn b/services/etc/BUILD.gn index 34f82a27..4dc338fe 100755 --- a/services/etc/BUILD.gn +++ b/services/etc/BUILD.gn @@ -120,18 +120,18 @@ if (defined(ohos_lite)) { source = "//base/startup/init_lite/services/etc/param/ohos.para" part_name = "init" if (target_cpu == "arm64") { - extra_paras = "const.product.cpu.abilist=arm64-v8a" + extra_paras = [ "const.product.cpu.abilist=arm64-v8a" ] } module_install_dir = "etc/param" } - ohos_prebuilt_etc("ohos.para.dac") { + ohos_prebuilt_para("ohos.para.dac") { source = "//base/startup/init_lite/services/etc/param/ohos.para.dac" part_name = "init" module_install_dir = "etc/param" } - ohos_prebuilt_etc("ohos_const.para") { + ohos_prebuilt_para("ohos_const.para") { source = "//base/startup/init_lite/services/etc/param/ohos_const/ohos.para" part_name = "init" module_install_dir = "etc/param/ohos_const" diff --git a/services/etc/param/param_fixer.gni b/services/etc/param/param_fixer.gni index 59f0a69d..fa7e29dd 100755 --- a/services/etc/param/param_fixer.gni +++ b/services/etc/param/param_fixer.gni @@ -19,9 +19,9 @@ template("ohos_prebuilt_para") { _fixed_param_target = "${target_name}_param_fixed" _fixed_param_file = target_gen_dir + "/${target_name}.fixed/" + - get_path_info(_fixed_param_target, "file") - _output_para_file = get_path_info(invoker.source, "file") + get_path_info(invoker.source, "file") + _output_para_file = get_path_info(invoker.source, "file") action_with_pydeps(_fixed_param_target) { deps = [] script = "//base/startup/init_lite/services/etc/param/param_fixer.py" @@ -35,10 +35,12 @@ template("ohos_prebuilt_para") { rebase_path(depfile, root_build_dir), ] if (defined(invoker.extra_paras)) { - args += [ - "--extra", - invoker.extra_paras, - ] + foreach(extra, invoker.extra_paras) { + args += [ + "--extra", + extra, + ] + } } inputs = [ invoker.source ] outputs = [ _fixed_param_file ] @@ -68,9 +70,11 @@ template("ohos_prebuilt_para") { ]) set_sources_assignment_filter([]) sources = [ _fixed_param_file ] - outputs = [ "${target_out_dir}/${_output_para_file}" ] + outputs = [ "${target_out_dir}/${target_name}/${_output_para_file}" ] module_type = "etc" install_enable = true + module_source_dir = "${target_out_dir}/${target_name}" + module_install_name = _output_para_file if (defined(invoker.install_enable)) { install_enable = invoker.install_enable } diff --git a/services/etc/param/param_fixer.py b/services/etc/param/param_fixer.py index 4e7c0f41..6396ba7d 100755 --- a/services/etc/param/param_fixer.py +++ b/services/etc/param/param_fixer.py @@ -28,7 +28,7 @@ def parse_args(args): build_utils.add_depfile_option(parser) parser.add_option('--output', help='fixed para file') parser.add_option('--source-file', help='source para file') - parser.add_option('--extra', help='extra params') + parser.add_option('--extra', action="append", type="string", dest="extra", help='extra params') options, _ = parser.parse_args(args) return options @@ -45,10 +45,9 @@ def parse_params(line, contents): contents[name] = value def parse_extra_params(extras, contents): - lines = extras.split(" ") - for line in lines: - line = line.strip() - parse_params(line, contents) + for extra in extras: + extra = extra.strip() + parse_params(extra, contents) def fix_para_file(options): contents = {} @@ -75,13 +74,9 @@ def main(args): depfile_deps = ([options.source_file]) - build_utils.call_and_write_depfile_if_stale( - lambda: fix_para_file(options), - options, - input_paths=depfile_deps, - output_paths=([options.output]), - force=False, - add_pydeps=False) + fix_para_file(options) + build_utils.write_depfile(options.depfile, + options.output, depfile_deps, add_pydeps=False) if __name__ == '__main__': sys.exit(main(sys.argv[1:])) -- GitLab