mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-25 16:07: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
|
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,9 +44,30 @@ 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)
|
||||||
|
|
||||||
val pb = ProcessBuilder(allArgs)
|
val pb = ProcessBuilder(allArgs)
|
||||||
pb.directory(directory)
|
pb.directory(directory)
|
||||||
kobaltLog(2, "Signing file: " + allArgs.joinToString(" "))
|
kobaltLog(2, "Signing file: " + allArgs.joinToString(" "))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue