From f2893e44b9e16848533e03520b952cec9523d7a5 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Fri, 7 Feb 2025 17:14:58 +0100 Subject: [PATCH] Don't generate extra empty lines in src expressions --- ros2nix/ros2nix.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ros2nix/ros2nix.py b/ros2nix/ros2nix.py index 6b7345e..180b85b 100755 --- a/ros2nix/ros2nix.py +++ b/ros2nix/ros2nix.py @@ -213,6 +213,9 @@ def comma_separated(arg: str) -> list[str]: return [i.strip() for i in arg.split(",")] +def strip_empty_lines(text: str) -> str: + return os.linesep.join([s for s in text.splitlines() if s and not s.isspace()]) + def ros2nix(args): parser = argparse.ArgumentParser( prog="ros2nix", formatter_class=argparse.ArgumentDefaultsHelpFormatter @@ -440,23 +443,23 @@ def ros2nix(args): sparse_checkout = f"sparseCheckout = [\"{prefix}\"];" if (prefix and args.use_package_git_hash) else "" if match is not None: kwargs["src_param"] = "fetchFromGitHub" - kwargs["src_expr"] = dedent(f''' + kwargs["src_expr"] = strip_empty_lines(dedent(f''' fetchFromGitHub {{ owner = "{match["owner"]}"; repo = "{match["repo"]}"; rev = "{info["rev"]}"; sha256 = "{info["sha256"]}"; {sparse_checkout} - }}''').strip() + }}''')).strip() else: kwargs["src_param"] = "fetchgit" - kwargs["src_expr"] = dedent(f''' + kwargs["src_expr"] = strip_empty_lines(dedent(f''' fetchgit {{ url = "{url}"; rev = "{info["rev"]}"; sha256 = "{info["sha256"]}"; {sparse_checkout} - }}''').strip() + }}''')).strip() if prefix: # kwargs["src_expr"] = f'''let fullSrc = {kwargs["src_expr"]}; in "${{fullSrc}}/{prefix}"'''