From 7ab6b720d170f0c918add11ea0e448bab1c25a11 Mon Sep 17 00:00:00 2001 From: Tobias Poganiuch <tobias.poganiuch@garz-fricke.com> Date: Wed, 19 Jan 2022 13:29:56 +0000 Subject: [PATCH] metadata: Added generation of metainfo to package_release BCS DevOps-000032 --- package_release.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/package_release.py b/package_release.py index 3c1145b3..bb1d6fcd 100755 --- a/package_release.py +++ b/package_release.py @@ -72,6 +72,51 @@ def copy_files(files, input_dir, subdir, output_dir, outlocal_dir): return md5sums +def generate_metadata( + machine, + version, + artifacts_image, + sdk, + output_dir, + outlocal_dir, +): + """Generates a metainfo.json for the release""" + + # Join filepath for metadata + + if output_dir is not None: + filepath = os.path.join(output_dir, machine, "metainfo.json") + elif outlocal_dir is not None: + filepath = os.path.join(outlocal_dir, machine, "metainfo.json") + else: + print("Error: Filepath is empty") + return -1 + + # Collect metadata and write to metainfo.json + + for artifact in artifacts_image: + if artifact.endswith(machine + ".tar.gz"): + image_general = artifact + elif artifact.endswith(machine + ".wic"): + image_wic = artifact + + metadata = dict() + + metadata["images"] = dict() + metadata["version"] = version + metadata["machine"] = machine + metadata["sdk"] = sdk + + if image_general is not None: + metadata["images"]["general"] = image_general + + if image_wic is not None: + metadata["images"]["wic"] = image_wic + + with open(filepath, "w", encoding="utf-8") as file: + file.write(json.dumps(metadata)) + + def main(): parser = argparse.ArgumentParser() parser.add_argument( @@ -188,6 +233,16 @@ def main(): md5sums, ) + # Generate metadata + generate_metadata( + machine, + version, + artifacts_image, + sdkname, + output_dir, + outlocal_dir, + ) + # Handle SDK if available if args.sdk_dir is not None: sdkfiles = glob.glob(os.path.join(args.sdk_dir, sdkname + "*")) -- GitLab