summaryrefslogtreecommitdiff
path: root/Meta/lint-ports.py
diff options
context:
space:
mode:
authorAli Mohammad Pur <ali.mpfard@gmail.com>2022-01-17 13:19:23 +0330
committerAndreas Kling <kling@serenityos.org>2022-01-17 11:17:15 +0100
commit63b02859bc0e7595c8f6b10453bb1e5394223d3f (patch)
treea64697ed5d5048fa0a52a94db130980b11c5c584 /Meta/lint-ports.py
parent7a26f6523a2fa7abe2fe410550112fe5ebd4151c (diff)
downloadserenity-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/lint-ports.py')
-rwxr-xr-xMeta/lint-ports.py21
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