aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/Gpg.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/Gpg.scala')
-rw-r--r--src/main/scala/Gpg.scala15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/main/scala/Gpg.scala b/src/main/scala/Gpg.scala
index cde4dba..edd1935 100644
--- a/src/main/scala/Gpg.scala
+++ b/src/main/scala/Gpg.scala
@@ -5,19 +5,22 @@ import java.io.File
import scala.util.control.NonFatal
import sys.process._
-class Gpg(
- command: String,
- options: Seq[String] = Seq.empty,
- keyId: Option[String] = None)(log: String => Unit = System.err.println) {
+class Gpg(command: String,
+ options: Seq[String] = Seq.empty,
+ keyId: Option[String] = None)(
+ info: String => Unit = System.out.println,
+ warn: String => Unit = System.err.println) {
+
+ private val logger = ProcessLogger(info, info) // gpg uses stderr for everything; redirect to info
def run(params: String*): Int =
try {
val idOption = keyId.toSeq.flatMap(id => Seq("--local-user", id))
- val process = Process(command, options ++ idOption ++ params).run()
+ val process = Process(command, options ++ idOption ++ params).run(logger)
process.exitValue()
} catch {
case NonFatal(ex) =>
- log(ex.getMessage)
+ warn(ex.getMessage)
127
}