mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-11 15:00:39 +00:00
ci/listmachines: add helper to list machines in a layer
Instead of duplicating this logic, put it in a little helper module. Change-Id: I2ca881c8de7e6ec6d4a940255d9ba97226e78d87 Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
29
ci/listmachines.py
Executable file
29
ci/listmachines.py
Executable file
@@ -0,0 +1,29 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
import pathlib
|
||||
import typing
|
||||
import sys
|
||||
|
||||
"""
|
||||
List all of the machines available under the listed sub-layers of meta-arm.
|
||||
"""
|
||||
def list_machines(layers: typing.Sequence[str]) -> typing.Set[str]:
|
||||
machines = set()
|
||||
|
||||
# We know we're in meta-arm/scripts, so find the top-level directory
|
||||
metaarm = pathlib.Path(__file__).resolve().parent.parent
|
||||
if metaarm.name != "meta-arm":
|
||||
raise Exception("Not running inside meta-arm")
|
||||
|
||||
for layer in layers:
|
||||
machines |= set(p.stem for p in (metaarm / layer / "conf" / "machine").glob("*.conf"))
|
||||
return machines
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1:
|
||||
machines = list_machines(sys.argv[1:])
|
||||
print(" ".join(sorted(machines)))
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("Usage:\n$ %s [layer name ...] " % sys.argv[0])
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user