1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-25 16:07: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 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(" "))