From 9f5c9b4fc3e72726d724a36a181c9ee73022bad6 Mon Sep 17 00:00:00 2001 From: Johannes Wirth Date: Thu, 2 Oct 2025 10:22:38 +0200 Subject: [PATCH] Fix launch of external program --- .../scala/com/minres/tgc/hammer/options/CommandGroup.scala | 5 +++-- .../src/main/scala/com/minres/tgc/hammer/tasks/Task.scala | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/toolflow/src/main/scala/com/minres/tgc/hammer/options/CommandGroup.scala b/toolflow/src/main/scala/com/minres/tgc/hammer/options/CommandGroup.scala index 8075d34..a82ad6d 100644 --- a/toolflow/src/main/scala/com/minres/tgc/hammer/options/CommandGroup.scala +++ b/toolflow/src/main/scala/com/minres/tgc/hammer/options/CommandGroup.scala @@ -5,8 +5,9 @@ import os.Shellable class CommandGroup(name: String) extends BaseGroup { override def getToolParameters: Seq[Shellable] = { - val sub = options.toSeq.map(_.getToolParameters.map(_.value).mkString("=")) - Seq(s"""$name="${sub.mkString(" ")}"""") + val sub = options.toSeq.map(_.getToolParameters.flatMap(_.value).mkString("=")).filter(!_.isEmpty) + println(sub) + Seq(s"$name=\'${sub.mkString(" ")}\'") } override def init(scallopConf: ScallopConf, group: ScallopOptionGroup): Unit = { diff --git a/toolflow/src/main/scala/com/minres/tgc/hammer/tasks/Task.scala b/toolflow/src/main/scala/com/minres/tgc/hammer/tasks/Task.scala index 224289d..9aca0ea 100644 --- a/toolflow/src/main/scala/com/minres/tgc/hammer/tasks/Task.scala +++ b/toolflow/src/main/scala/com/minres/tgc/hammer/tasks/Task.scala @@ -9,6 +9,8 @@ trait Task { def runExecutable(execPath: Path, args: Shellable*): os.CommandResult = { println(s"Executing $execPath with") println(args.flatMap(_.value).mkString(" ")) - os.proc(execPath, args).call() + println(args) + val command = s"$execPath ${args.flatMap(_.value).mkString(" ")}" + os.proc("bash", "-c", command).call(stdout = os.Inherit) } }