1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 00:17:11 -07:00

Added support for configuring gpg's passphrase, key id and secret key ring location via local.properties.

This commit is contained in:
Erik C. Thauvin 2017-05-05 15:46:13 -07:00
parent f43c186da1
commit 3b56122f92

View file

@ -1,16 +1,18 @@
package com.beust.kobalt.maven package com.beust.kobalt.maven
import com.beust.kobalt.OperatingSystem import com.beust.kobalt.OperatingSystem
import com.beust.kobalt.misc.LocalProperties
import com.beust.kobalt.misc.error import com.beust.kobalt.misc.error
import com.beust.kobalt.misc.kobaltLog import com.beust.kobalt.misc.kobaltLog
import com.beust.kobalt.misc.warn import com.beust.kobalt.misc.warn
import com.google.inject.Inject
import com.google.inject.Singleton import com.google.inject.Singleton
import java.io.BufferedReader import java.io.BufferedReader
import java.io.File import java.io.File
import java.io.InputStreamReader import java.io.InputStreamReader
@Singleton @Singleton
class Gpg { class Gpg @Inject constructor(val localProperties: LocalProperties) {
val COMMANDS = listOf("gpg", "gpg2") val COMMANDS = listOf("gpg", "gpg2")
fun findGpgCommand() : String? { fun findGpgCommand() : String? {
@ -42,6 +44,27 @@ class Gpg {
ascFile.delete() ascFile.delete()
val allArgs = arrayListOf<String>() val allArgs = arrayListOf<String>()
allArgs.add(gpg) 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("-ab")
allArgs.add(file.absolutePath) allArgs.add(file.absolutePath)