mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-25 07:57:12 -07:00
Added support for configuring gpg's passphrase, key id and secret key ring location via local.properties.
This commit is contained in:
parent
f43c186da1
commit
3b56122f92
1 changed files with 25 additions and 2 deletions
|
@ -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(" "))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue