diff options
author | Ali Mohammad Pur <ali.mpfard@gmail.com> | 2022-01-17 13:19:23 +0330 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-01-17 11:17:15 +0100 |
commit | 63b02859bc0e7595c8f6b10453bb1e5394223d3f (patch) | |
tree | a64697ed5d5048fa0a52a94db130980b11c5c584 /Meta | |
parent | 7a26f6523a2fa7abe2fe410550112fe5ebd4151c (diff) | |
download | serenity-63b02859bc0e7595c8f6b10453bb1e5394223d3f.zip |
Meta+Ports: Make 'package.sh showproperty' report multiple properties
And use that to avoid shelling out multiple times for checking
properties in lint-ports.py.
Diffstat (limited to 'Meta')
-rwxr-xr-x | Meta/lint-ports.py | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/Meta/lint-ports.py b/Meta/lint-ports.py index 8a5448e220..f9fac2664d 100755 --- a/Meta/lint-ports.py +++ b/Meta/lint-ports.py @@ -197,16 +197,17 @@ def get_port_properties(port): """ props = {} - for prop in PORT_PROPERTIES: - res = subprocess.run(f"cd {port}; exec ./package.sh showproperty {prop}", shell=True, capture_output=True) - if res.returncode == 0: - props[prop] = res.stdout.decode('utf-8').strip() - else: - print(( - f'Executing "./package.sh showproperty {prop}" script for port {port} failed with ' - f'exit code {res.returncode}, output from stderr:\n{res.stderr.decode("utf-8").strip()}' - )) - props[prop] = '' + package_sh_command = f"./package.sh showproperty {' '.join(PORT_PROPERTIES)}" + res = subprocess.run(f"cd {port}; exec {package_sh_command}", shell=True, capture_output=True) + if res.returncode == 0: + results = res.stdout.decode('utf-8').split('\n\n') + props = {prop: results[i].strip() for i, prop in enumerate(PORT_PROPERTIES)} + else: + print(( + f'Executing "{package_sh_command}" script for port {port} failed with ' + f'exit code {res.returncode}, output from stderr:\n{res.stderr.decode("utf-8").strip()}' + )) + props = {x: '' for x in PORT_PROPERTIES} return props |