1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 07:57:12 -07:00

Merge pull request #442 from ethauvin/master

Added support for configuring gpg's via local.properties
This commit is contained in:
Cedric Beust 2017-05-08 15:47:50 -07:00 committed by GitHub
commit a95f8d91c1

View file

@ -1,16 +1,18 @@
package com.beust.kobalt.maven
import com.beust.kobalt.OperatingSystem
import com.beust.kobalt.misc.LocalProperties
import com.beust.kobalt.misc.error
import com.beust.kobalt.misc.kobaltLog
import com.beust.kobalt.misc.warn
import com.google.inject.Inject
import com.google.inject.Singleton
import java.io.BufferedReader
import java.io.File
import java.io.InputStreamReader
@Singleton
class Gpg {
class Gpg @Inject constructor(val localProperties: LocalProperties) {
val COMMANDS = listOf("gpg", "gpg2")
fun findGpgCommand() : String? {
@ -42,9 +44,30 @@ class Gpg {
ascFile.delete()
val allArgs = arrayListOf<String>()
allArgs.add(gpg)
val pwd = localProperties.getNoThrows("gpg.password")
if (! pwd.isNullOrBlank()) {
allArgs.add("--passphrase")
allArgs.add(pwd)
allArgs.add("--batch")
allArgs.add("--yes")
}
val keyId = localProperties.getNoThrows("gpg.keyId")
if (! keyId.isNullOrBlank()) {
allArgs.add("--local-user")
allArgs.add(keyId)
}
val keyRing = localProperties.getNoThrows("gpg.secretKeyRingFile")
if (! keyRing.isNullOrBlank()) {
allArgs.add("--secret-keyring")
allArgs.add("\"$keyRing\"")
}
allArgs.add("-ab")
allArgs.add(file.absolutePath)
val pb = ProcessBuilder(allArgs)
pb.directory(directory)
kobaltLog(2, "Signing file: " + allArgs.joinToString(" "))